Biopython在一系列位置提取基本呼叫

Biopython在一系列位置提取基本呼叫,python,bioinformatics,biopython,Python,Bioinformatics,Biopython,我有一份感兴趣的职位列表,例如: 10 20 1000 4000000 我想使用biopython从fasta文件中提取这些位置的基本调用 这就是我尝试过的: query_dic ={} with open(line) as pos_file: for x in pos_file: for seq_record in SeqIO.parse(query_file, "fasta"): nuc = seq_record[x]

我有一份感兴趣的职位列表,例如:

10
20
1000
4000000
我想使用biopython从fasta文件中提取这些位置的基本调用

这就是我尝试过的:

query_dic ={}
with open(line) as pos_file:
    for x in pos_file:
        for seq_record in SeqIO.parse(query_file, "fasta"):
            nuc = seq_record[x] 
            query_dic[x]=nuc

错误消息显示“无效索引”-怎么了?

很可能某些序列不够长,无法包含那么多字母,因此较大的索引无效

您可以考虑将最终循环修改为以下内容:

if len(seq_record) > x:
    nuc = seq_record[x]
else:
    nuc = None
query_dic[x] = nuc