[Numpy-discussion] Import NumPy in Self-defined function script

Tim timlee126 at yahoo.com
Sun Feb 22 18:19:10 EST 2009


Hi,
I am defining a function in file "trainer.py". It requires a module called numpy as following:

[code]
from numpy import *
import string

def trainer(train_seqs):

    nul_dict = {"A":0,"C":1,"G":2,"T":3}# nucleotide to index of array
    init_prob = zeros(4,double)# initial prob at  1st col
    tran_prob = zeros([5,4,4],double)# transition prob indexed by ( col, nul in previous col, nul in current col)
    for line in train_seqs: # counts
        if line != '\n':
            z = line.split()
            z = z[0]
            init_prob[nul_dict[z[0]]] += 1
            for i in range(0,5):
                tran_prob[i][nul_dict[z[i]]][nul_dict[z[i+1]]] += 1
    

    init_prob /= init_prob.sum() # normalize transition initial prob
[/code]

Another script "controller.py" calls this function as:

[code]#! /usr/bin/env python
# from numpy import *
import string
import trainer

import pdb; pdb.set_trace()

ESE_file = file("./ESE.txt",'r')
ESE_seqs = ESE_file.readlines()
ESE_file.close()

ESE_model=trainer.trainer(ESE_seqs)           
[/code]

When I try to tun "controller.py", I get the error:
[quote]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "controller.py", line 12, in <module>
    ESE_model=trainer.trainer(ESE_seqs)
  File "trainer.py", line 4, in trainer
    
NameError: global name 'zeros' is not defined
[/quote]

I think zeros belongs to Module numpy, and I import it in my function file "trainer.py". So I was wonering what's the mistake I am making?  Thanks for help!

-Tim



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090222/89422a28/attachment.html>


More information about the NumPy-Discussion mailing list