在做跨物種分析時,需要對不同物種的基因進行同源轉化,以便進行比較。R包biomaRt是常用的同源基因轉化工具,本文主要介紹使用biomaRt同源基因轉化的使用方法和注意事項。
一、使用方法
以人和小鼠為例
library(biomaRt)
library(dplyr)
library(stringr)
#查詢可以鏈接到的數(shù)據(jù)庫有哪些,返回結果發(fā)現(xiàn)有四個
listMarts()
> listMarts()
biomart version
1 ENSEMBL_MART_ENSEMBL Ensembl Genes 109
2 ENSEMBL_MART_MOUSE Mouse strains 109
3 ENSEMBL_MART_SNP Ensembl Variation 109
4 ENSEMBL_MART_FUNCGEN Ensembl Regulation 109
#可以從biomart中挑選一個數(shù)據(jù)庫進行使用
ensembl = useMart("ENSEMBL_MART_ENSEMBL")
all_database = listDatasets(ensembl)
運行完上述兩條代碼后R studio 環(huán)境中會出現(xiàn)兩個變量,其中all_database是一個dataframe,該數(shù)據(jù)框中列舉了使用數(shù)據(jù)庫中所有的數(shù)據(jù)集以及對應數(shù)據(jù)集的描述及版本。

可以使用Rstudio中對dataframe的檢索功能檢索出研究對象的數(shù)據(jù)集,下圖以小鼠為例:

#當然也可以通過searchDatasets對數(shù)據(jù)集進行查詢
> searchDatasets(mart = ensembl, pattern = "Mouse")
dataset description version
105 mmurinus_gene_ensembl Mouse Lemur genes (Mmur_3.0) Mmur_3.0
106 mmusculus_gene_ensembl Mouse genes (GRCm39) GRCm39
獲取數(shù)據(jù)
使用useMart函數(shù)以檢索到的數(shù)據(jù)集作為參數(shù)加載研究對象的數(shù)據(jù)集
human = useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl" ,host = "https://dec2021.archive.ensembl.org/")
mouse = useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "mmusculus_gene_ensembl",host = "https://dec2021.archive.ensembl.org/")
加載后的數(shù)據(jù)集結構

構建轉化函數(shù)
#獲取不同物種的同源基因,參考物種是attributes,則查詢物種是attributesL。
human2mouse <- function(x){
genes_cyno = getLDS(attributes = c("external_gene_name"),
filters = "external_gene_name",
values = x , mart = human,
attributesL = c("external_gene_name"),
martL = mouse, uniqueRows=T
)
colnames(genes_cyno) = c("Human.Gene", "Mouse.Gene")
return(genes_cyno)
}
轉化測試(示例數(shù)據(jù):SCAR_Atlas_0518.rds)
## 轉化測試
use_gene = rownames(data@assays$RNA@counts)
human2mouse(use_gene)
> human2mouse(use_gene)
Human.Gene Mouse.Gene
1 MT-ND4L mt-Nd4l
2 MT-CO2 mt-Co2
3 MT-CO1 mt-Co1
4 MT-ND2 mt-Nd2
5 MT-ND6 mt-Nd6
6 MT-ND3 mt-Nd3
7 MT-ATP6 mt-Atp6
8 MT-ND4 mt-Nd4
9 MT-ND5 mt-Nd5
10 MT-CO3 mt-Co3
11 MT-ATP8 mt-Atp8
12 MT-ND1 mt-Nd1
13 SYCP3 Gm20817
14 SYCP3 Gm28490
15 SYCP3 Gm21094
16 SYCP3 Gm20838
值得注意的是(示例數(shù)據(jù):SCAN_Pan_0037.rds)
