In R, I previously used this piece of code to look up Ensembl IDs for lists of genes beginning with ENSG000... . In this example, my_df is a dataframe where the rownames are the gene IDs 9e.g. ENSG...):
my_df$ensembl <- sapply( strsplit( rownames(my_df), split="\\+" ), "[", 1 ) ensembl = useMart("ENSEMBL_MART_ENSEMBL",dataset="hsapiens_gene_ensembl", host="www.ensembl.org") # reflects recent change to hosting, as discussed in https://support.bioconductor.org/p/74322/ genemap <- getBM( attributes = c("ensembl_gene_id", "entrezgene", "hgnc_symbol"), filters = "ensembl_gene_id", values = my_df$ensembl, mart = ensembl ) idx <- match( my_df$ensembl, genemap$ensembl_gene_id ) my_df$entrez <- genemap$entrezgene[ idx ] my_df$hgnc_symbol <- genemap$hgnc_symbol[ idx ]
I'd now like to use this on a dataframe where the input row names are transcript IDs (e.g. ENST000...). I'm not sure whether I can do this with BioMart - does anyone know?