#!/usr/bin/env R
###################
# Import packages #
###################
# Required packages
packages <- c("argparse", "biomaRt", "dplyr")
# Install packages not yet installed
installed_packages <- packages %in% rownames(installed.packages())
if (any(installed_packages == FALSE)) {
install.packages(packages[!installed_packages])
}
# Packages loading
invisible(lapply(packages, library, character.only = TRUE))
##################################
# Define command line parameters #
##################################
parser <- ArgumentParser()
parser$add_argument("--genes", type="character",
help = "Path to txt file with mouse ENSEMBL gene IDs you wish to convert to human.")
parser$add_argument("--outdir", type = "character",
help = "Path to where you want to store the resulting converted human ENSEMBL IDs and gene names.")
args <- parser$parse_args()
mouse_genes <- args$genes
outdir <- args$outdir
print("Selected arguments: ")
print(paste0("Mouse genes list: ", mouse_genes))
print(paste0("Outdir: ", outdir))
################################################
# Read in gene list & convert gene ENSEMBL IDs #
################################################
# Connect to "genes" database on biomart and choose Mus Musculus dataset
ensembl <- useEnsembl(biomart = "genes", dataset = "mmusculus_gene_ensembl", mirror = "useast")
mouse_ids <- scan(file = mouse_genes, what = "character", sep = "\n")
# Query for cross species comparison
df_genes <- getBM(mart = ensembl,
filters = c("ensembl_gene_id"),
values = mouse_ids,
attributes = c("ensembl_gene_id",
"external_gene_name",
"hsapiens_homolog_ensembl_gene",
"hsapiens_homolog_associated_gene_name",
"hsapiens_homolog_orthology_type")
)
# Filter for one2one orthologs across species
df_genes <- df_genes %>% filter(hsapiens_homolog_orthology_type == "ortholog_one2one")
# Save datafram to .csv file
write.csv(df_genes, paste0(outdir, "human_converted_ids.csv"), row.names = FALSE)
print(paste0('Mouse gene IDs have been successfully converted to human and saved :', outdir, 'human_converted_ids.csv'))
结果下载链接: human_converted_ids.csv.gz
"ensembl_gene_id","external_gene_name","hsapiens_homolog_ensembl_gene","hsapiens_homolog_associated_gene_name","hsapiens_homolog_orthology_type"
"ENSMUSG00000000093","Tbx2","ENSG00000121068","TBX2","ortholog_one2one"
"ENSMUSG00000000094","Tbx4","ENSG00000121075","TBX4","ortholog_one2one"
"ENSMUSG00000000120","Ngfr","ENSG00000064300","NGFR","ortholog_one2one"
"ENSMUSG00000000125","Wnt3","ENSG00000108379","WNT3","ortholog_one2one"
"ENSMUSG00000000126","Wnt9a","ENSG00000143816","WNT9A","ortholog_one2one"
"ENSMUSG00000000263","Glra1","ENSG00000145888","GLRA1","ortholog_one2one"
"ENSMUSG00000000275","Trim25","ENSG00000121060","TRIM25","ortholog_one2one"
"ENSMUSG00000000276","Dgke","ENSG00000153933","DGKE","ortholog_one2one"
"ENSMUSG00000000278","Scpep1","ENSG00000121064","SCPEP1","ortholog_one2one"
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
