Во-первых, это может быть неправильный форум для этого вопроса, поскольку он чертовски специфичен для R + Bioconductor. Вот что у меня есть:
library('GEOquery')
GDS = getGEO('GDS785')
cd4T = GDS2eSet(GDS)
cd4T <- cd4T[!fData(cd4T)$symbol == "",]
Теперь cd4T — это объект ExpressionSet, который обертывает большую матрицу с 19794 строками (наборы проб) и 15 столбцами (выборки). В последней строке удаляются все наборы зондов, не имеющие соответствующих символов генов. Проблема в том, что большинство генов в этом наборе относятся к более чем одному набору зондов. Вы можете увидеть это, выполнив
gene_symbols = factor(fData(cd4T)$Gene.symbol)
length(gene_symbols)-length(levels(gene_symbols))
[1] 6897
Таким образом, только 6897 из моих 19794 наборов зондов имеют уникальный набор зондов -> сопоставление генов. Я хотел бы каким-то образом объединить уровни экспрессии каждого набора зондов, связанного с каждым геном. Меня не очень волнует фактический идентификатор зонда для каждого зонда. Я бы очень хотел получить ExpressionSet, содержащий объединенную информацию, поскольку весь мой последующий анализ предназначен для работы с этим классом.
Я думаю, что могу написать код, который сделает это вручную, и создать новый набор выражений с нуля. Тем не менее, я предполагаю, что это не может быть новой проблемой, и для ее решения существует код, использующий статистически обоснованный метод объединения уровней экспрессии генов. Я предполагаю, что для этого также есть правильное имя, но мои googles не очень полезны. Кто-нибудь может помочь?