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



      
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to