使用FASTA标头查询UniProt和RefSeq数据库

时间:2018-08-21 06:20:30

标签: r bioinformatics bioconductor

这是我对StackOverflow的第一篇文章。我一直在解决这个问题超过一个星期,但我没有找到使用搜索功能或有限的计算能力的解决方案。我有一个包含FASTA标头,序列和计数编号列的数据集。从技术上来说,FASTA标头包含我需要的所有信息,但这就是我遇到问题的地方...

不同的格式

其中一些条目来自UniProt:
tr | V5RFN6 | V5RFN6_EBVG_Epstein-Barr_nuclear_antigen_2_(Fragment)_OS = Epstein-Barr_virus_(strain_GD1)_GN = EBNA2_PE = 4_SV = 1

其中一些条目来自RefSeq:
gi | 139424477 | ref | YP_001129441.1 | EBNA-2 [人疱疹病毒_4_type_2]

同义词

我想使用计数与病毒或基因的关系来制作图表,我认为将标头拆分并从那里去很容易。但是,我发现的是,病毒名称和基因名称的排列似乎无休止。在上面的示例中,EBV有不少于4个名称,每个单独的基因都有几种不同的格式。

我使用了冗长的ifelse语句来创建病毒族名称的列。我在下面简化了以下内容,仅包括EBV,但您可以想象它可以扩展到所有常见病毒。

EBV <- c("EBVG", "Human_herpesvirus_4", "Epstein", "Human_gammaherpesvirus_4")


joint.virus <- joint.virus %>% mutate(Virus_Family = 
ifelse(grepl(paste(EBV, collapse = "|"), x = joint.virome$name), "EBV", NA))

这还不错,但是我必须对所有EBV的约85个基因做类似的事情。这样不仅繁琐,而且对我要查看的所有病毒都这样做是不可行的。

我研究了使用UniProt.ws包查询数据库以提取生物体名称和基因名称的方法,但是您需要从taxID(UniProt标头中未包含)开始。我觉得应该有某种方法可以使用FASTA标头来获取生物名称和基因名称。

我目前正在使用R。我将不胜感激任何建议。有我要忽略的包裹吗?我应该使用其他工具来执行此操作吗?

谢谢!

0 个答案:

没有答案