私はPythonを使用するのはかなり初めてで、大好きです。しかし、私はこの問題で立ち往生しており、私が見逃しているものについて教えていただければ幸いです.
Excel ファイルに遺伝子 ID のリストがあり、xrld と biopython を使用してシーケンスを取得し、(fasta 形式で) 結果をテキスト ドキュメントに保存しようとしています。これまでのところ、私のコードではシェルで結果を確認できますが、ドキュメントの最後のシーケンスしか保存されません。
これは私のコードです:
import xlrd
import re
book = xlrd.open_workbook('ids.xls')
sh = book.sheet_by_index(0)
for rx in range(sh.nrows):
if sh.row(rx)[0].value:
from Bio import Entrez
from Bio import SeqIO
Entrez.email = "mail@xxx.com"
in_handle = Entrez.efetch(db="nucleotide", rettype="fasta", id=sh.row(rx)[0].value)
record = SeqIO.parse(in_handle, "fasta")
for record in SeqIO.parse(in_handle, "fasta"):
print record.format("fasta")
out_handle = open("example.txt", "w")
SeqIO.write(record, out_handle, "fasta")
in_handle.close()
out_handle.close()
前述したように、ファイル「example.txt」には、シェルを示す最後のシーケンス (fasta 形式) しかありません。
同じドキュメントで NCBI から取得したすべてのシーケンスを取得する方法を教えてください。
どうもありがとうございました
アントニオ