我正在使用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')
答案 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')