2015-02-16 12 views
6

Ho un data.frame contenente ID Ensembl in una colonna; Mi piacerebbe trovare i simboli dei geni corrispondenti per i valori di quella colonna e aggiungerli a una nuova colonna nella mia cornice dati. Ho usato bioMaRt ma non è riuscito a trovare nessuno degli ID Ensembl!Come posso convertire Ensembl ID al simbolo del gene in R?

Ecco i miei dati di esempio (df[1:2,]):

row.names organism gene 
41 Homo-Sapiens ENSP00000335357 
115 Homo-Sapiens ENSP00000227378 

e voglio ottenere qualcosa del genere

row.names organism gene   id 
41 Homo-Sapiens ENSP00000335357 CDKN3 
115 Homo-Sapiens ENSP00000227378 HSPA8 

e qui è il mio codice:

library('biomaRt') 
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl")) 
genes <- df$genes 
df$id <- NA 
G_list <- getBM(filters= "ensembl_gene_id", attributes= c("ensembl_gene_id", 
"entrezgene", "description"),values=genes,mart= mart) 

Poi ho ricevi questo quando controllo G_list

[1] ensembl_gene_id entrezgene  description <0 rows> (or 0-length row.names) 

Quindi non ho potuto aggiungere G_list al mio df! perché non c'è nulla da aggiungere!

Grazie in anticipo,

risposta

9

Questo è perché i valori che avete nella vostra colonna gene non sono ids gene, sono id peptide (iniziano con ENSP). Per ottenere le informazioni necessarie, provare a sostituire ensembl_gene_id da ensembl_peptide_id:

G_list <- getBM(filters= "ensembl_peptide_id", attributes= c("ensembl_peptide_id", "entrezgene", "description"),values=genes,mart= mart)

Inoltre, ciò che si sta veramente cercando è la hgnc_symbol

Ecco il codice totale per ottenere l'output:

library('biomaRt') 
mart <- useDataset("hsapiens_gene_ensembl", useMart("ensembl")) 
genes <- df$genes 
df<-df[,-4] 
G_list <- getBM(filters= "ensembl_peptide_id", attributes= c("ensembl_peptide_id","hgnc_symbol"),values=genes,mart= mart) 
merge(df,G_list,by.x="gene",by.y="ensembl_peptide_id") 
+1

Hai dimenticato di passare anche i filtri a 'ensembl_peptide_id'. – cdeterman

+0

grazie, ho cambiato gli attributi al posto dei filtri, l'ho cambiato ora – NicE

+0

Grazie a @NicE per il tuo aiuto. – user3576287

Problemi correlati