2

我正在使用query()package的功能seqinr从 Genbank 下载肌红蛋白 DNA 序列。例如:

query("myoglobins","K=myoglobin AND SP=Turdus merula")

不幸的是,对于我正在寻找的许多物种,我根本没有得到任何序列(或者对于这个物种,只有一个非常短的序列),即使我在网站上手动搜索时找到了序列。这是因为仅在关键字中搜索“肌红蛋白”,而其中通常没有任何条目。通常蛋白质类型仅在名称中指定(Genbank 上的“定义”)——但我不知道如何搜索它。上的帮助页面query()似乎没有在详细信息中提供任何选项,没有任何“K =”的“通用搜索”不起作用,而且我没有通过谷歌搜索找到任何东西。

对于任何链接、解释和帮助,我都会很高兴。谢谢!:)

4

1 回答 1

2

有一个完整的 seqinr 包手册,它在第 5 章中更深入地描述了查询语言(可在http://seqinr.r-forge.r-project.org/seqinr_2_0-1.pdf获得)。我试图做一个类似的查询,许多基因/cds 的描述是空白的,所以在使用 k= 选项搜索时它们不会出现。一种替代方法是单独搜索生物体,然后匹配单个注释中的基因名称并提取登录号,然后您可以使用它重新查询数据库中的序列。

这将提取第一个基因的注释:

choosebank("emblTP")
 query("ACexample", "sp=Turdus merula")
 getName(ACexample$req[[1]])
 annotations <- getAnnot(ACexample$req[[1]])
 cat(annotations, sep = "\n")

我认为这将是解决问题的一种非常耗时的方法,但似乎没有一种直接搜索注释的有效方法。我会对您可能提出的任何解决方案感兴趣。

于 2014-01-08T17:18:56.807 回答