gpt4 book ai didi

python - 从 biopython 远程爆破

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:38 31 4
gpt4 key购买 nike

我正在尝试使用 Biopython 远程爆破大约 70 200-nt 序列。我已经尝试了几个小时来弄清楚为什么以下 Python 脚本不起作用。

我可以使用 SeqIO.read 让它为只包含一个 fasta 的读取文件工作,但是当我尝试切换到 SeqIO.parse 时,我在创建的 .xml 保存文件中没有得到任何东西。

有什么想法吗?

作为旁注,如果有人知道从结果中排除有机体的选项语法(使用 ncbi 网站时可能会这样,请告诉我)。

非常感谢您的帮助。

马特

from Bio.Blast import NCBIWWW
from Bio import SeqIO
import tkinter.filedialog as tkfd
in_file=tkfd.askopenfilename()
record = SeqIO.parse(in_file, format="fasta")
out_file = tkfd.asksaveasfilename()
save_file = open(out_file, "w")
for rec in record:
print(rec)
result_handle = NCBIWWW.qblast("blastn", "nt", rec.format("fasta"))
save_file.write(result_handle.read())
result_handle.close()
else:
save_file.close()

这是我用作测试文件的 in_file 的内容(我的文件的行格式设置为 80 个字符,下面可能已经丢失,另外,下面显示的记录之间的空间不在我的测试文件):

>165613 TAACTGCAGTGTTTTGTGTCGAGCCTTTTTTGTGCCTTTTTTATAAAGGCATAACGTTATATTTAATTGAAGAGTTTGAT TCTGGCTCAGATTGAACGCTAGCGGCATGCTTAACACATGCAAGTCGAACGGCAGCGCGGGGAGCTTGCTCCCTGGCGGC GAGTGGCGGACGGGTGAGTAATGCGTAGGAATCTACCTTG

>165875 GGGATCTTCGGACCTCGTGCTATAAGATGAGCCTACGTCGGATTAGCTTGTTGGTGGGGTAATGGCCTACCAAGGCGACG ATCCGTAGCTGGTCTGAGAGGACGATCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGCAGCAGTGGG GAATATTGGACAATGGGGGAAACCCTGATCCAGCAATGCC

最佳答案

你的问题是库 tkinter,下一个代码运行良好(biopython).....是否必须使用 GUI?

from Bio.Blast import NCBIWWW
from Bio import SeqIO

in_file = open("input.fasta")
record = SeqIO.parse(in_file, format="fasta")

save_file = open("out_file.blast", "w")
for rec in record:
print(rec)
result_handle = NCBIWWW.qblast("blastn", "nt", rec.format("fasta"))
save_file.write(result_handle.read())
result_handle.close()
else:
save_file.close()

得到如下结果:

<?xml version="1.0"?>
<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd">
<BlastOutput>
<BlastOutput_program>blastn</BlastOutput_program>
<BlastOutput_version>BLASTN 2.2.31+</BlastOutput_version>
<BlastOutput_reference>Stephen F. Altschul, Thomas L. Madden, Alejandro A. Sch&amp;auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), &quot;Gapped BLAST and PSI-BLAST: a new generation of protein database search programs&quot;, Nucleic Acids Res. 25:3389-3402.</BlastOutput_reference>
<BlastOutput_db>nt</BlastOutput_db>
<BlastOutput_query-ID>Query_142405</BlastOutput_query-ID>
<BlastOutput_query-def>165613</BlastOutput_query-def>
<BlastOutput_query-len>200</BlastOutput_query-len>
....

我测试了你的代码,我发现下面的语句是错误的

record = SeqIO.parse(open(in_file), format="fasta")

因为 in_filestring 而不是类型 file

关于python - 从 biopython 远程爆破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950531/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com