NameError:未定义名称'序列'

时间:2017-05-09 21:18:13

标签: python python-3.x

我正在使用Jupyter笔记本:

Python 3.6.0 | Anaconda自定义(64位)| (默认,2016年12月23日,12:22:00)
输入“版权”,“信用”或“许可”以获取更多信息 IPython 6.0.0 - 增强的交互式Python。输入'?'求助。

任何帮助?

NameError     Traceback (most recent call last)
<ipython-input-15-6934f5f7b183> in <module>()
33 read_fasta(file_name)
34 print("Start2")
---> 35 write_cat_seq(sequences)
36 print('Saved and Complete') 

NameError:未定义名称'序列'

my_file =“chr1_abc_def.fasta”

>lcl|NC_000021
ATGCGGCT...
>lcl|NC_000022
ATGCGGCt...

这些函数应该包含my_file,其中包含DNA的每个编码区域的alterheader行。

读取DNA编码区域的.fasta文件,同时删除标题并将它们拼接在一起。

# read fasta file of DNA coding regions while removing header and splicing them together.
def read_fasta(file_name):
    sequences = []
    seq = []
    with open(file_name) as fh:
        while True:
            if fh.readline().startswith(">"):
                fh.readline()
            else: 
                seq = fh.readline().rstrip()
                if len(seq) == 0:
                    break
        sequences.append(seq)
    return sequences

将附加序列保存为单个长度的DNA .fasta

def write_cat_seq(sequences):
    output_seq = "chr21_coding_region_concat.fasta"
    print(output_seq)
    output = open(output_seq, 'w')
    output.write(sequences)
    output.close()
    print("File %s saved" % output_seq)

运行功能

file_name = "chr21_dna_sequence.fasta"
read_fasta(file_name)
write_cat_seq(file_name, sequences)
print('Saved and Complete')

1 个答案:

答案 0 :(得分:0)

实际上,您忘记将read_fasta(file_name)的结果存储在sequences列表中,因此未定义。

以下是您的代码的正确版本:

file_name = "chr21_dna_sequence.fasta"
sequences = read_fasta(file_name)
write_cat_seq(file_name, sequences)
print('Saved and Complete')