Genevintage supports easy conversion between gene ids and gene names for any genome and GTF build.
ids <- c("ENSG00000141510.16", "ENSG00000284733", "ENSG00000012048")
Using a reverse index, genevintage can detect the actual release:
head(DetectRelease(ids), 3)
#> species source release assembly feasible dist n_index
#> 1 homo_sapiens gencode 26 38 TRUE 9.6486 58219
#> 2 homo_sapiens gencode 27 38 TRUE 9.6505 58288
#> 3 homo_sapiens gencode 28 38 TRUE 9.6534 58381
Gene names can be retrieved with a single command:
GeneID2Name(ids)
#> Best fingerprint match: homo_sapiens, gencode release 26 (assembly 38) -- 79 candidates score within 10%
#> [1] "TP53" "ENSG00000284733" "BRCA1"
DetectSpeciesNames(c("TP53", "BRCA1", "MYC"), idx) # idx <- BuildSymbolIndex(...); detect from symbols
m <- GeneID2Name(m) # rownames(m), id -> name
CorrectGeneNames(c("9-Sep", "1-Dec"), species = "human", release = 116) # undo Excel's date/float autocorrect
GeneIDs(c("TP53", "BRCA1"), species = "human") # name -> id, and back
AnnotateGenes(rownames(counts)) # full record: symbol, biotype, coords
MitoGenes(rownames(counts)); SexGenes(species = "human"); RibosomalGenes(species = "human")
SexGenes(species = "chicken", which = "W") # per-clade: X/Y, Z/W, or none (yeast)
GenesByBiotype("lncRNA", species = "mouse") # any Ensembl/GENCODE biotype
HemoglobinGenes(species = "human"); MHCGenes(species = "mouse")
CompareReleases("human", from = 110, to = 116) # added / removed / renamed genes
Orthologs(ids, to = "mouse") # common names resolve too
Every function above is also available under its snake_case name
(GeneID2Name() is also geneid2name(), MitoGenes() is also mito_genes(),
and so on) for callers who prefer that style.
# install.packages("remotes")
# remotes::install_github("saketlab/genevintage")
install.packages("genevintage", repos = c('https://saketlab.r-universe.dev', 'https://cloud.r-project.org'))