from Bio.Blast import NCBIXML handle = open("C:/Users/15503/Desktop/fasta转txt/ORF_xml/ORF7.xml",'r') fw = open("ORF7.fasta","w") records = NCBIXML.parse(handle) for rec in records: for align in rec.alignments: for hsp in align.hsps: seq_id = align.title seq = str(hsp.sbjct).replace("-","") start = str(hsp.sbjct_start) end = str(hsp.sbjct_end) length = str(hsp.align_length) evalue = str(hsp.expect) fw.write(">%s %s %s %s %s\n%s\n"%(seq_id,length,evalue,start,end,seq)) fw.close()
时间: 2024-02-14 13:32:57 浏览: 217
FASTA序列查询方法[汇编].pdf
这段代码的作用是将NCBI BLAST比对结果文件(XML格式)中的序列信息提取出来,并以FASTA格式的形式保存到文件中。具体实现过程如下:
1. 打开NCBI BLAST比对结果文件(XML格式)。
2. 解析文件中的比对结果,依次遍历每个比对结果。
3. 遍历每个比对结果中的所有比对序列(alignments),并提取每个比对序列的相应信息。在这段代码中,主要提取了比对序列的ID(seq_id)、比对长度(length)、E值(evalue)、比对序列的起始位置(start)和结束位置(end)、比对序列(seq)等信息。
4. 将提取的比对序列信息以FASTA格式的形式写入输出文件中。
需要注意的是,在将比对序列写入输出文件时,使用的是Python中的字符串格式化操作(%s),这样可以方便地将多个变量的值按照指定的格式组合在一起。此外,在写入输出文件时,需要注意文件的打开和关闭操作。
阅读全文