我使用包query()
的函数seqinr
从Genbank下载肌红蛋白DNA序列。 E.g:
query("myoglobins","K=myoglobin AND SP=Turdus merula")
不幸的是,对于我正在寻找的很多物种,我根本没有得到任何序列(或者对于这个物种,只有非常短的物种),即使我在网站上手动搜索时发现序列。这是因为仅在关键字中搜索“肌红蛋白”,而在那里通常没有任何条目。蛋白质类型通常只在名称中指定(Genbank上的“定义”) - 但我不知道如何搜索它。
query()
上的帮助页面似乎没有在详细信息中提供任何选项,没有任何“K =”的“通用搜索”不起作用,我没有通过谷歌搜索找到任何内容。< / p>
我会对任何链接,解释和帮助感到高兴。谢谢! :)
答案 0 :(得分: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")
我认为这是解决问题的一种非常耗时的方法,但似乎没有一种直接搜索注释的有效方法。我会对你提出的任何解决方案感兴趣。