2017-06-07 2 views
0

Ich habe eine Liste der Positionen von Interesse zB:biopython zu extrahieren Basis Anrufe in einer Liste von Positionen

10 
20 
1000 
4000000 

Ich mag die Basis Anruf an diesen Positionen aus einer Datei fasta biopython mit extrahieren.

Dies ist, was ich versucht habe:

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 

Die Fehlermeldung lautet 'ungültiger Index' - was ist falsch?

Antwort

1

Wahrscheinlich sind einige der Sequenzen nicht lang genug, um so viele Buchstaben zu haben, und somit sind die größeren Indizes ungültig.

Sie betrachten könnte die letzte Schleife zu so etwas wie dies ändern:

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