不同物种同源基因转换
https://github.com/oganm/homologene
可用的物种是
homologene::taxData
tax_id name_txt
1 10090 Mus musculus
2 10116 Rattus norvegicus
3 28985 Kluyveromyces lactis
4 318829 Magnaporthe oryzae
5 33169 Eremothecium gossypii
6 3702 Arabidopsis thaliana
7 4530 Oryza sativa
8 4896 Schizosaccharomyces pombe
9 4932 Saccharomyces cerevisiae
10 5141 Neurospora crassa
11 6239 Caenorhabditis elegans
12 7165 Anopheles gambiae
13 7227 Drosophila melanogaster
14 7955 Danio rerio
15 8364 Xenopus (Silurana) tropicalis
16 9031 Gallus gallus
17 9544 Macaca mulatta
18 9598 Pan troglodytes
19 9606 Homo sapiens
20 9615 Canis lupus familiaris
21 9913 Bos taurus</pre>
安装
install.packages('homologene')</pre>
或者
devtools::install_github('oganm/homologene')</pre>
用法
基本同源函数需要一个基因符号或 NCBI id 列表,以及一个inTax
和一个outTax
. 在此示例中,inTax
是mus musculus的分类单元 ID,而outTax
用于人类。
homologene(c('Eno2','Mog'), inTax = 10090, outTax = 9606)
10090 9606 10090_ID 9606_ID
1 Eno2 ENO2 13807 2026
2 Mog MOG 17441 4340
homologene(c('Eno2','17441'), inTax = 10090, outTax = 9606)
10090 9606 10090_ID 9606_ID
1 Eno2 ENO2 13807 2026
2 Mog MOG 17441 4340</pre>
对于鼠标和人类,存在两个方便的功能,无需提供分类标识符。请注意,列名与homologene
输出不同。
mouse2human(c('Eno2','Mog'))
mouseGene humanGene mouseID humanID
1 Eno2 ENO2 13807 2026
2 Mog MOG 17441 4340
human2mouse(c('ENO2','MOG','GZMH'))
humanGene mouseGene humanID mouseID
1 ENO2 Eno2 2026 13807
2 MOG Mog 4340 17441
3 GZMH Gzmd 2999 14941
4 GZMH Gzme 2999 14942
5 GZMH Gzmg 2999 14944
6 GZMH Gzmf 2999 14943</pre>
同源数据2
原始同源数据库自 2014 年以来未更新。此软件包还包括同源数据库的更新版本,该数据库将基因符号和标识符替换为其最新版本。有关更新所遵循的过程,请参阅此博客文章和/或查看处理代码。
使用更新版本可以帮助您匹配由于注释过期而无法匹配的基因。
mouse2human(c('Mesd',
'Trp53rka',
'Cstdc4',
'Ifit3b'))
[1] mouseGene humanGene mouseID humanID
<0 rows> (or 0-length row.names)
mouse2human(c('Mesd',
'Trp53rka',
'Cstdc4',
'Ifit3b'),
db = homologeneData2)
mouseGene humanGene mouseID humanID
1 Mesd MESD 67943 23184
2 Trp53rka TP53RK 381406 112858
3 Cstdc4 CSTA 433016 1475
4 Ifit3b IFIT3 667370 3437</pre>
homologeneData2
这个包的 GitHub 版本附带的对象每周更新一次,但是如果你使用的是 CRAN 版本并且想要最新的注释,或者如果你想保持一个冻结版本的同源,你可以使用该功能updateHomologene
。
homologeneDataVeryNew = updateHomologene() # update the homologene database with the latest identifiers
mouse2human(c('Mesd',
'Trp53rka',
'Cstdc4',
'Ifit3b'),
db = homologeneDataVeryNew)</pre>
基因ID同步
该软件包还包括用于创建 homologeneData2
、更新过时基因符号和标识符的函数。
library(dplyr)
gene_history = getGeneHistory()
oldIds = c(4340964, 4349034, 4332470, 4334151, 4323831)
newIds = updateIDs(oldIds,gene_history)
print(newIds)
[1] "9267698" "4349033" "4332468" "4334150"
[5] "4324017"
get the latest gene symbols for the ids
gene_info = getGeneInfo()
gene_info %>%
dplyr::filter(GeneID %in% as.integer(newIds)) # faster to match integers
# A tibble: 5 × 3
tax_id GeneID Symbol
<int> <int> <chr>
1 39947 4324017 LOC4324017
2 39947 4332468 SPO11-3
3 39947 4334150 LOC4334150
4 39947 4349033 LOC4349033
5 39947 9267698 LOC9267698</pre>
查询 DIOPT
除了使用同系物外,还可以对 DIOPT 数据库进行查询。Diopt 使用多个数据库来查找基因同源物/直系同源物。请注意,此函数有一个delay
默认设置为 10 秒的参数。这样做是为了遵守robots.txt
他们网站的规定。
diopt(c('GZMH'),inTax = 9606, outTax = 10090) %>%
knitr::kable()