【发布时间】:2016-01-13 15:51:37
【问题描述】:
在 biopython 中,您可以选择将多序列 fasta 文件制作成字典。
handle = open ("file.fasta","r")
records = SeqIO.parse(handle, "fasta")
records_dict = SeqIO.to_dict(records)
handle.close()
我有另一个文件 (csv),第一列中有序列标识符列表,第二列中有相应的标题行。
import csv
descriptions = open("identifier_mapper.csv","r")
data = csv.reader(identifier_mapper,delimiter = ',')
例如:
SBNP0002Q39M,Artificial Sequence 1
SBNP0004AJIU,Artificial Sequence 2
SBNP0004AJIV,Artificial Sequence 3
SBNP0004AJHM,Artificial Sequence 4
在我的 fasta 文件中,所有序列的标题中都有序列键。我可以使用字符串解析来掌握它们。
我的问题: 出于某种原因,当我尝试遍历字典和 csv 阅读器时,它似乎总是在检查列表中的第一个序列后终止!不知道为什么?!
for m in records_dict:
sequence_key1 = (records_dict[m].id).split("|")[1]
for row in data:
sequence_key = row[0]
organism= row[1]
if sequence_key1 == sequence_key:
print ">" + sequence_key + organism
print records_dict[m].seq
任何帮助将不胜感激!
【问题讨论】:
-
你能展示一个
fasta文件的样本吗?
标签: loops csv dictionary biopython