Как с помощью biomaRt преобразовать список идентификаторов зондов Agilent в символы генов и получить значения na?

Я пытаюсь использовать biomaRt для преобразования списка из более чем 90 тысяч идентификаторов зондов в символы генов, но у меня возникают проблемы. Используя функцию getBM, я вижу, что только 22 КБ из них имеют соответствующие символы генов, но на выходе получается вектор длиной 22 КБ, и я не могу увидеть соответствие исходному списку идентификаторов зондов. Используя getBMlist, я могу получить вывод со значениями na, указанными для тех зондов, которые не совпадают, но функция выдает предупреждающее сообщение о том, что getBMlist не подходит для больших списков. Как получить на выходе 90 тыс. символов генов и значений na?


person user794479    schedule 14.03.2013    source источник
comment
Что у вас при установке uniqueRows = FALSE, то бишь getBM(attributes=...,uniqueRows = FALSE)?   -  person agstudy    schedule 14.03.2013
comment
Я получаю повторы одного и того же символа гена. Это не помогает с точки зрения вставки значений na для тех зондов, которые не найдены.   -  person user794479    schedule 15.03.2013
comment
Мне непонятно, что вы пытаетесь сделать так? Не могли бы вы добавить свой getBM запрос в OP и что вы получите в результате. Быстро прочитав документацию, вы должны получить data.frame с 2 столбцами...   -  person agstudy    schedule 15.03.2013


Ответы (1)


Чтобы получить сопоставление между probeID и символом гена, вам необходимо включить probeID в атрибуты biomaRt.

Вот как я сделал это для некоторых своих работ с использованием микрочипов Agilent:

genes<-c("A_23_P10060", "A_23_P10091", "A_23_P103951", "A_23_P10525", "A_23_P105732", "A_23_P10605", "NM_005325")

library(biomaRt)
ensembl<-useMart("ensembl", dataset="hsapiens_gene_ensembl")

ensembl.id<-grep("ENST", genes, value=T)
agilent.df<-getBM(attributes = c("hgnc_symbol","efg_agilent_wholegenome_4x44k_v1"), filters=c("efg_agilent_wholegenome_4x44k_v1"),values=genes, mart=ensembl)

genes<-merge(x = as.data.frame(genes),y =  agilent.df, by.y="efg_agilent_wholegenome_4x44k_v1", all.x=T, by.x="genes")

Существует очень хорошее руководство по biomaRt. который идет вам, хотя тот же процесс. Если вы запустите этот код, вы заметите, что один зонд будет иметь "" для hgnc_symbol, потому что он существует на рынке ансамбля, но не имеет назначенного символа гена.

person emilliman5    schedule 01.07.2015
comment
Извините, как я могу преобразовать сгенерированный Rosetta уникальный идентификатор зонда, например 174996658, в символ гена? - person Angel; 09.10.2019
comment
Вам потребуется предоставить дополнительную информацию. Я предлагаю вам опубликовать отдельный вопрос на bioinformatics.stackexchange.com и создать воспроизводимый пример: stackoverflow.com/questions/5963269/ - person emilliman5; 09.10.2019