私はいくつかのDNA配列を持つfastaフォーマットのファイルを持っています。私は、同じシーケンスIDを維持しながら、別の小さいシーケンスの各シーケンスの内容を変更したい。 新しいシーケンスがリストにあります。Biopythonを使用してfastaファイルのDNA配列を変更する
with open("outfile.fa", "w") as f:
for seq_record in SeqIO.parse("ma-all-mito.fa", "fasta"):
for i in range(len(newSequences_ok)):
f.write(str(seq_record.id[i]) + "\n")
f.write(str(newSequences_ok[i]) + "\n")
しかし、私は得る:
IndexError: string index out of range
は、どのように私はそれが動作するようにコードを変更することができますか?問題は、元のfastaファイルと新しいシーケンスのリストの両方を反復する必要があることだと思います。
オリジナルのFASTAファイルは次のようになります。私が取得したい出力がある
newSequences_ok=[ATGG,TTTC,GGTA,CTCG]
:
>Sequence1
ATGATGCATGG
>Sequence2
TTTTGGGAATC
>Sequence3
GGGCTAACTAC
>Sequence4
ATCTCAGGAA
また、新しい配列とリストこの1に似ている
>Sequence1
ATGG
>Sequence2
TTTC
>Sequence3
GGTA
>Sequence4
CTCG
あなたが質問を保留している:http://stackoverflow.com/questions/39779488 http://stackoverflow.com/help/someone-answers – xbello
また、 'newSequences_ok'何ですか? – xbello
データ構造に関する詳細情報を提供してください。 BioPytonを使わずに最小限の作業例(すべての 'imports 'などを含む)を作成するのが最も簡単です。 btw:どのバージョンのBioPythonを使用していますか? – buhtz