- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 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&auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", 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_file
是 string
而不是类型 file
关于python - 从 biopython 远程爆破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950531/
我有一个字典中的蛋白质序列比对(id_prot 作为键,比对序列作为值;可以是另一种格式),我想使用这个比对来用 Biopython 构建 NJ 树 但是,根据文档,加载用于系统发育分析的序列的唯一方
我刚刚加入 python 和 biopython 工作,喜欢连接 Ensebml 并获取一些序列和其他数据,如 TSS、一些基因列表等。但我的问题是我似乎无法在 biopython 中找到任何方法或模
我想知道如何使用 biopython 库将多个 pdb 写入单个 pdb 文件。对于读取NMR结构等多个pdb,documentation中有内容但对于写作,我没有找到。有人对此有想法吗? 最佳答案
我是 Stackoverflow 的新手。我正在尝试使用 Biopython 自动化搜索过程。我有两个列表,一个是蛋白质 GI 编号,另一个是相应的核苷酸 GI 编号。 例如: 蛋白质_GI=[588
我正在尝试读取通过向 NCBIblast 网站提交多个序列而生成的 XML 文件列表。我想从每个文件中打印某些信息行。我想要读取的文件都带有后缀“_recombination.xml”。 for fi
我有一个 newick 格式的系统发育树。我想根据终端节点的标签(因此基于物种列表)拉出一棵子树。我正在使用的树的副本可以在这里找到:http://hgdownload.soe.ucsc.edu/go
import gzip import io from Bio import SeqIO infile = "myinfile.fastq.gz" fileout = open("myoutfile.f
我第一次使用biopython。如果这是一个基本问题,请原谅我。 我想输入序列,然后对齐它们,并能够引用原始序列(无间隙)和对齐序列(有间隙)的索引位置。 我的现实世界示例是烯醇 enzyme (Un
我目前正在(作为一个高级项目)构建和实现一个生物信息学 Web 应用程序来操作大数据以及一些复杂的工作 我正在使用biopython 哪种云计算平台最好,为什么? 提前致谢 最佳答案 我一直在尝试使用
Biopython 菜鸟,我正在尝试创建一个程序,该程序使用 Biopython 包 Alphabet 和字母表模块 IUPAC 将列出的类的字母写出到名为 AlphabetSoupOuput.txt
我正在尝试在 biopython 中循环运行大约 10000 对字符串的成对全局对齐方法。每个字符串平均长度为 20 个字符。为一对序列运行该方法效果很好。但是在一个循环中运行它,低至 4 对,会导致
我正在尝试为 Biopython 的朴素贝叶斯代码添加拉普拉斯平滑支持 1对于我的生物信息学项目。 我已经阅读了很多关于朴素贝叶斯算法和拉普拉斯平滑的文档,我想我已经了解了基本的想法,但我无法将其与该
我正在使用 BioPython MuscleCommanLine 来比对子进程中的序列。肌肉的输入和输出是标准输入和标准输出。这行得通,但是一旦 popen 调用 muscle,我就会在屏幕上从 mu
在讨论如何使用 Bio.SeqIO.parse() 导入序列数据时,BioPython 说明书指出: There is an optional argument alphabet to specify
我目前有以下查询 pubmed 的代码: from Bio import Entrez Entrez.email = "kuharrw@hiram.edu" # Always tell NCB
例如...我有两个脚本用于查看(多序列比对)MSA 是否具有超过 50 列且间隙少于 50%。 第一次使用 BioPython 需要 4.2 秒,在 609 列的 16281 个序列的 MSA 中(f
我正在尝试更改以前的脚本,该脚本利用 biopython 获取有关物种门的信息。编写此脚本是为了一次检索一个物种的信息。我想修改脚本,以便我可以一次对 100 个生物执行此操作。 这是初始代码 imp
在尝试使用biopython解析xml文件时,我遇到了一些我不明白的错误,有人可以帮助我理解这个错误吗? TypeError: object of type 'generator' has no le
我正在尝试将 Biopython (Entrez) 与搜索词一起使用,该搜索词将返回登录号(而不是 GI*)。 这是我的代码的一小段摘录: from Bio import Entrez Entrez.
我有一些蛋白质,我想找到它们相应的核苷酸序列。我还有发现该蛋白质的基因组。在基因组中,我找到了该蛋白质对应的基因ID。但是,我无法通过基因 ID 获取核苷酸序列。我尝试过使用 Entrez Efetc
我是一名优秀的程序员,十分优秀!