利用biomaRt或gprofiler2实现人鼠基因转换

library(biomaRt)
options(stringsAsFactors=F)
human <- useMart("ensembl", dataset = "hsapiens_gene_ensembl")
mouse <- useMart("ensembl", dataset = "mmusculus_gene_ensembl")
mouse.genes <- read.table('color.signatures.txt',sep='\n',header=F)
geneset <- strsplit(mouse.genes[3,],split='\t')[[1]]

###鼠-->人
genes.map = getLDS(mart=mouse, attributes=c("mgi_symbol"), filters="mgi_symbol",  values=geneset[c(-1,-2)], attributesL=c("hgnc_symbol"), martL=human, uniqueRows=T)

write.table(genes.map,"mouse.to.human.genes.csv",row.names=F,col.names=T,quote=F)

鉴于biomaRt经常报错,推荐使用gprofiler2

library(gprofiler2)
genes.map <- gorth(query=rownames(gene.max.FC), source_organism="mmusculus", target_organism="hsapiens", numeric_ns="ENTREZGENE_ACC")
genes.map <- genes.map[complete.cases(genes.map), ]
genes.map <- genes.map[, c('input','ortholog_name')]

clusterProfiler实现同一物种间不同gene名称之间的转换

library(org.Hs.eg.db)
library(clusterProfiler)
rm(list=ls())
geneset <- bitr(geneset, fromType="ENTREZID",toType=c( "SYMBOL"),OrgDb = org.Hs.eg.db)$SYMBOL

AnnotationDbi实现同一物种间不同gene名称之间的转换

symbol <- mapIds(org.Hs.eg.db,
    keys=ens.str,
    column="SYMBOL",
    keytype="ENSEMBL",
    multiVals="first")

entrez <- mapIds(org.Hs.eg.db,
    keys=ens.str,
    column="ENTREZID",
    keytype="ENSEMBL",
    multiVals="first")

你可能感兴趣的:(利用biomaRt或gprofiler2实现人鼠基因转换)