Last active
November 1, 2024 17:56
-
-
Save FloWuenne/f8fc922477df04c1642e9d8945c48d47 to your computer and use it in GitHub Desktop.
Translate Human gene symbols into Mouse symbols using bioMart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Basic function to convert human to mouse gene names | |
convertHumanGeneList <- function(x){ | |
require("biomaRt") | |
human = useMart("ensembl", dataset = "hsapiens_gene_ensembl") | |
mouse = useMart("ensembl", dataset = "mmusculus_gene_ensembl") | |
genesV2 = getLDS(attributes = c("hgnc_symbol"), filters = "hgnc_symbol", values = x , mart = human, attributesL = c("mgi_symbol"), martL = mouse, uniqueRows=T) | |
humanx <- unique(genesV2[, 2]) | |
no_mouse_genes <- length(x) | |
no_human_genes <- length(humanx) | |
if(no_human_genes != no_mouse_genes){ | |
print("Some genes could not be translated!") | |
genes_not_trans <- setdiff(x,genesV2$HGNC.symbol) | |
print("These genes could not be translated:") | |
print(genes_not_trans) | |
print(paste("A total number of ",length(genes_not_trans),"genes could not be translated!"),sep=" ") | |
}else{ | |
print("All genes were translated successfully!") | |
} | |
# Print all gene names that could not be translated and the number of genes that were not translated | |
return(humanx) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
convert human to mouse gene names (https://gist.github.com/FloWuenne/f8fc922477df04c1642e9d8945c48d47)
humGenes <- c("HMMR", "TLX3", "CPEB4") # prepare a list of human genes needs to be converted
convertHumantoMouse <- function(x){
require("biomaRt")
human = useEnsembl(biomart = "genes", dataset = "hsapiens_gene_ensembl")
mouse = useEnsembl(biomart = "genes", dataset = "mmusculus_gene_ensembl")
genesV2 = getLDS(attributes = c("hgnc_symbol"), filters = "hgnc_symbol", values = x , mart = human, attributesL = c("mgi_symbol"), martL = mouse, uniqueRows=T)
mousex <- unique(genesV2[, 2]) # unique the 2nd column values
human_genes_number <- length(x)
mouse_genes_number <- length(mousex)
if(human_genes_number != mouse_genes_number){
genes_not_trans <- setdiff(x, genesV2$HGNC.symbol)
print("These genes could not be translated:")
print(genes_not_trans)
print(paste("A total number of ",length(genes_not_trans),"genes could not be translated!"),sep=" ")
}else{
print("All genes were translated successfully!")
}
return(mousex)
}
ConvertedGenes <- convertHumantoMouse(humGenes)
convert mouse gene to human gene (https://rjbioinformatics.com/2016/10/14/converting-mouse-to-human-gene-names-with-biomart-package/)
musGenes <- c("Hmmr", "Tlx3", "Cpeb4")
convertMousetohuman <- function(x){
require("biomaRt")
human = useEnsembl(biomart = "genes", dataset = "hsapiens_gene_ensembl")
mouse = useEnsembl(biomart = "genes", dataset = "mmusculus_gene_ensembl")
genesV2 = getLDS(attributes = c("mgi_symbol"), filters = "mgi_symbol", values = x , mart = mouse, attributesL = c("hgnc_symbol"), martL = human, uniqueRows=T)
humanx <- unique(genesV2[, 2])
mouse_genes_number <- length(x)
human_genes_number <- length(humanx)
if(mouse_genes_number != human_genes_number){
genes_not_trans <- setdiff(x, genesV2$MGI.symbol)
print("These genes could not be translated:")
print(genes_not_trans)
print(paste("A total number of ",length(genes_not_trans),"genes could not be translated!"),sep=" ")
}else{
print("All genes were translated successfully!")
}
return(humanx)
}
ConvertedGenes <- convertMousetohuman(musGenes)