R + Bioconductor: объединение наборов зондов в ExpressionSet

Во-первых, это может быть неправильный форум для этого вопроса, поскольку он чертовски специфичен для 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 не очень полезны. Кто-нибудь может помочь?


person Mike Dewar    schedule 05.05.2010    source источник
comment
Вы должны попробовать biostar.stackexchange.com — это сайт типа StackOverflow, предназначенный исключительно для вопросов по биоинформатике.   -  person Matt Parker    schedule 05.05.2010
comment
(хотя я думаю, что и здесь уместный вопрос).   -  person Matt Parker    schedule 05.05.2010
comment
круто - на биостар тоже поставил.   -  person Mike Dewar    schedule 05.05.2010
comment
Получил отличное обсуждение, в том числе от Джеффа (ниже) на biostar biostar.stackexchange.com/questions/961/. Проверьте это!   -  person Mike Dewar    schedule 06.05.2010


Ответы (2)


Я не эксперт, но, судя по тому, что я видел на протяжении многих лет, у каждого есть свой любимый способ комбинирования наборов датчиков. Два метода, которые я видел, использовались чаще всего в больших масштабах: использование только набора зондов, который имеет наибольшую дисперсию в матрице выражения, а другой заключается в том, чтобы взять среднее значение наборов зондов и создать из него мета-набор зондов. . Для небольших блоков наборов зондов я видел, как люди используют более интенсивные методы, включающие просмотр графиков для каждого набора зондов, чтобы понять, что происходит ... обычно происходит следующее: один набор зондов оказывается «хорошим», а остальные не очень.

Я не видел обобщенного кода для этого — в качестве примера мы недавно поняли в моей лаборатории, что у некоторых из нас есть свои собственные частные функции, чтобы делать то же самое.

person geoffjentry    schedule 05.05.2010

Слово, которое вы ищете, это 'nsFilter' в пакете генетического фильтра R. Эта функция назначает две основные вещи: она ищет только id гена entrez, остальные наборы зондов будут отфильтрованы. Если entrez id имеет несколько наборов датчиков, наибольшее значение будет сохранено, а остальные удалены. Теперь у вас есть уникальная сопоставленная матрица идентификаторов генов entrez. Надеюсь это поможет.

person user405370    schedule 29.07.2010