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