私は巨大なfastaファイルを持っていますが、シーケンスの開始と終了の塩基対座標を知っていれば、その一部だけを抽出する必要があります。また、それは1行あたり60 bpの長さのfasta形式でなければなりません。これは私の試みです。もしそれが改善されたと思われるならお知らせください。bp座標に基づいてfastaシーケンスの一部を抽出します
from Bio import SeqIO
inFile = open('full_chr.fa','r')
fw=open("part.fa",'w')
line_width = 60
for record in SeqIO.parse(inFile,'fasta'):
fw.write(">" + record.id + "\n")
fww = (str(record.seq[600130000:602000000]) + '\n')
for i in xrange(0,len(fww),line_width):
fw.write(str(fww[i:i+line_width]) + '\n')
fw.close()
FASTAフォーマットがライン –
はいあたり60bpの長さに制限されていません。これは、80本のbpのラインの例ですそれ以外の場合は開かない。 – user3224522
私はbedtools getfastaを推奨しています。http://bedtools.readthedocs.io/en/latest/content/tools/getfasta.html –