R + Bioconductor: объединение наборов проб в ExpressionSet - PullRequest
8 голосов
/ 05 мая 2010

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

Я думаю, что могу написать код, который будет делать это вручную, и создать новый набор выражений с нуля. Однако я предполагаю, что это не может быть новой проблемой, и для этого существует код, использующий статистически надежный метод для объединения уровней экспрессии генов. Я предполагаю, что для этого также есть подходящее название, но мои гугл не очень полезны. Кто-нибудь может помочь?

Ответы [ 2 ]

2 голосов
/ 06 мая 2010

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

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

0 голосов
/ 29 июля 2010

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

...