问题标签 [ncbi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bioinformatics - ORF and amino identification using BioPython's translate() method-- incorrect translations?
I am trying to teach myself bioinformatics, arriving to the party by way of computer science and high performance computing. (Essentially, I'm trying to learn the biology.) I've recently discovered BioPython and so far think it's great, but I am curious if anybody could help me identify why the translate() method used in BioPython to convert sequence data to ORF candidates and amino protein chains is behaving differently than expected.
The following is from this year's DNA60 challenge, and it's to find all of the ORF's in a sequence and sort them, convert them to amino chains, and then take the 25th amino acid from the longest top 15 chains to spell out a phrase.
Here's the challenge: http://genomebiology.com/about/update/DNA60_TAGCGAC
So after doing some research, I settled on using the code directly out of the tutorial for finding and identifying ORF's using the translate method, found here:
http://www.bio-cloud.info/Biopython/en/ch16.html
Modifying it to print out the 25th amino acide for each chain, and sorting the output by chain length (using the linux command line tool "sort"), the output is entirely wrong.
Knowing what the answer was supposed to be, I could not figure out why this wasn't working. So I wrote my own script to do the ORF identification and and translation, sorted the output, and it worked! (Using NCBI table 1, min length of 25.)
So somehow, the ORF identification in the translate method is not working the way I think it should, and I was hoping somebody could tell me why. Below is my code for ORF identification in Python (and you pass in the reverse_complement for the second set of three frames)
Pretty straightforward. Here's the rest of it:
Do this once for each strand (initial and reverse_complement) then if you sort the output using the following command to give you the 15 longest:
the output is:
This is the correct phrase. The output using the straight up translate is:
You can see that the lengths don't even match up. What gives here? Am I missing something?
search - 如何在 NCBI 数据库中搜索并以我自己的语言在我自己的网站中显示搜索结果?
NCBI 是一个综合性的遗传学和生物学数据库,但我们中的许多人喜欢使用我们的语言而不是其他语言的数据库。我正在设计一个必须搜索 NCBI 数据并在此数据中进行搜索但不在 NCBI 中显示数据结果并将数据结果返回到具有波斯语界面的网站的站点。我怎样才能做到这一点?我的意思是,如何在我的站点中使用 NCBI 数据库搜索引擎并显示搜索结果?谢谢
blast - 本地 BLAST Swissprot 数据库错误
我正在尝试在我的机器 (Mac) 上运行独立的 ncbi-blast-2.2.28+,但在使用 SwissProt 数据库运行 blastp 时收到此错误消息:
这是我所做的:
1)从ncbi服务器下载“ncbi-blast-2.2.28+-universal-macosx.tar.gz”并解压
2)将文件夹的bin内容移动到我的$PATH目录“/Users/me/bin”
3)在“/Users/me/bin”中,我创建了一个“db”文件夹,以及包含以下路径的“.ncbirc”文件:
4)我下载了SwissProt数据库并在“/Users/me/bin/db/”中获得了以下文件:
然后,当我从任何工作目录(我的查询文件所在的位置)运行 blastp 时,使用以下命令:
我收到以下错误消息:
当我在其他线程上阅读时,我还尝试在命令行中提及 db 所在的整个路径,并从文件名中删除 .pal 扩展名。但还是不行。
谁能看到我做错了什么?!!!!
python - 使用 Biopython Entrez 从 fasta 记录中访问序列元素
我有一个 refseq ID (keys_list) 列表,用于使用 BioPython Entrez 下拉序列记录。我想只访问返回的 fasta 记录中的序列,但我不想将记录写入文件来这样做。
我正在尝试以下代码
当我运行它时,我收到了错误:
如果我返回整个记录handle.read()
,我可以获得整个 fasta 记录,但在这个阶段我只想访问核苷酸序列。
谁能帮我解决这个问题?
提前谢谢了。
php - 如何使用 PHP 从动态页面复制内容?
是否可以使用 PHP 获取下面给出的页面链接中显示的信息。我希望将页面上显示的所有文本内容复制到变量或文件中。
http://www.ncbi.nlm.nih.gov/nuccore/24655740?report=fasta&format=text
我也尝试过 cURL,但它没有用。cURL 与我知道的其他一些网站一起工作的地方。但即使有 cURL 的解决方案也会发布。我可能已经尝试过各种可以使用 cURL 的方法。
python - 下载多种生物的蛋白质序列
我正在尝试使用 biopython 下载由特定机构测序的生物列表中的所有蛋白质。我有与每个有机体相关的有机体名称和 BioProject;具体来说,我正在寻找分析在最近的一些基因组序列中发现的蛋白质。我想使用efetch以最友好的方式批量下载蛋白质文件。我最近尝试下载相关生物的所有蛋白质 FASTA 序列如下:
每个生物体大约有 3000-4500 种蛋白质;因此,使用 esearch 并尝试一次提取每种蛋白质是不现实的。另外,我希望每个生物体都有一个包含其所有蛋白质的 FASTA 文件。
不幸的是,当我运行这行代码时,我收到以下错误:
urllib2.HTTPError: HTTP Error 400: Bad Request
.
它出现在我感兴趣的所有生物体中,我不能简单地在他们的核苷酸数据库中找到它们的基因组序列并下载“蛋白质编码序列”
如何以不会使 NCBI 服务器超载的方式获得我想要的这些蛋白质序列?我希望我可以复制我在 NCBI 的网络浏览器上可以做的事情:选择蛋白质数据库,搜索 Bioproject 编号,然后将所有找到的蛋白质序列保存到一个 fasta 文件中(在“发送到”下拉菜单)
perl - 使用 Bio::DB::EUtilities 从 pubmed 访问摘要
我正在使用 Bio::DB::EUtilities 来查询具有给定 PMID(Pubmed Id)的 Pubmed DB。
有没有办法直接访问对象(例如抽象)而不是写入文件响应并使用 XML::Twig 左右?
python - Ncbi 蛋白质数据库,如何从特定的生物项目中获取蛋白质序列(python 脚本)
我正在尝试从特定生物项目的 NCBI 数据库中检索编码蛋白序列。这可以使用网络浏览器以某种方式实现。例如,您可以找到您感兴趣的特定生物项目并“点击”相关蛋白质: http ://www.ncbi.nlm.nih.gov/genome/proteins/994?project_id=207383 ,您可以查看所有来自BioProject“207383”和基因组“994”的蛋白质。我想使用 python 自动获取这些蛋白质序列。
为了做到这一点,我使用了 NCBI 的“E-utilities”。主要是“elink.fcgi?” 它允许从数据库的特定 UID(比如说 BioProject UID)链接获取数据库的所有 UID(比如说“蛋白质”)。所以这是我的 entrez URL 请求:
http
://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=bioproject&linkname=bioproject_protein&id=207383
然后我获得了一个蛋白质 UID 列表,这很好,因为我需要那些,用于我对 efetch.fcgi 的下一个请求?“电子公用事业”。然后这个请求将允许我得到我需要的一切。
好的,一切都很好,一切都很好,但是,我从“elink.fcgi”中获得的蛋白质 UID 的数量?请求与基于手动网络浏览器的搜索显示的蛋白质数量不同。更糟糕的是,在询问这些问题的根源时,您会看到缺失的序列或更高分类群的序列(它们也没有以任何方式与生物项目相关联)。
这是一个例子:这篇文章的第一个链接显示了一些 4014 序列,当 python 请求给我 3957 蛋白质 UID 时。
我尝试了一些其他方法,例如从分类 UID 中获取所有蛋白质 UID。这通常会给你比想要的更多的序列,因为有不同的生物项目(也给你一些不同名称和相同 Fasta 的双打)。
有没有办法做到这一点,一个可以工作的?
xml - 如何使用 entrez.efetch 获取特定的蛋白质序列?
我正在尝试使用 Biopython 的Entrez.fetch()
函数通过基因 id (GI) 编号从 NCBI 获取蛋白质序列。
然后我使用以下方法读取数据:
我可以打印结果,但是我不知道如何单独获得蛋白质序列。
显示结果后,我可以手动获取蛋白质。或者 II 使用以下命令检查 XML 树:
但是,根据提交的蛋白质的 GI,XML 树可能会有所不同。使这个过程难以稳健地自动化。
我的问题:是否可以只检索蛋白质序列,而不是整个 XML 树?或者:鉴于 XML 文件的结构可能因蛋白质而异,我如何从 XML 文件中提取蛋白质序列?
谢谢