我有一个约3 GB的Genbank文件,其中包含约20,000个细菌基因组序列的完整Genbank注释。我的目标是使用BioPython解析这些序列,并为非重复序列编写单独的fasta文件,如下所示:
from Bio import SeqIO
records = SeqIO.parse(r'C:\Users\aaa\aaa\file.gb', 'genbank')
for record in records:
if seq_name not in organism_dict:
with open(output_folder + seq_name, 'w') as handle:
SeqIO.write(record, handle, 'fasta')
这对于前约2,000个序列非常有效,但随后到达页脚无效的条目,并产生错误消息ValueError:序列行格式错误的“标题> NCBI / ffsrv11-WWW错误500诊断”。
我设法找到了导致错误的序列,所以我想做的是从我的Genbank文件中删除它,然后手动将其下载为fasta文件。但是,由于大小原因,我无法在文本编辑器中打开文件,而且由于错误,我也无法解析文件,所以我想知道是否有人对如何删除基于Genbank ID的序列。我愿意接受非python选项。
先谢谢您
丹尼尔
答案 0 :(得分:0)
尝试添加“尝试/例外”,其中“例外”将Record.ID写入单独的文件。如果尝试失败,它将不会写入,并且Except将收集Record.ID供以后下载。