У меня есть огромный файл fasta, но мне нужно извлечь только его часть, если я знаю координату начальной и конечной пары пар моей последовательности. Кроме того, он должен быть в формате fasta с длиной 60 б.п. на строку. Это моя попытка, пожалуйста, дайте мне знать, если посмотрите ОК, и любые предложения по ее улучшению приветствуются.Извлечь часть последовательности fasta на основе координат bp
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 на линии –
да, но для меня, чтобы открыть его в Gedit, лучше использовать длину 60 п.о., иначе он не откроет его. – user3224522
Я рекомендовал bedtools getfasta http://bedtools.readthedocs.io/en/latest/content/tools/getfasta.html –