Прежде всего это может быть неправильным Форумом для этого вопроса, поскольку это довольно проклятое R+Bioconductor конкретный. Вот то, что я имею:
library('GEOquery')
GDS = getGEO('GDS785')
cd4T = GDS2eSet(GDS)
cd4T <- cd4T[!fData(cd4T)$symbol == "",]
Теперь cd4T является объектом ExpressionSet, который переносится, большая матрица с 19 794 строками (проокружает) и 15 столбцов (образцы). Заключительная строка избавляется от всех, проокружает, которые не имеют соответствующих названий генов. Теперь проблема состоит в том, что большинство генов в этом наборе присвоено больше чем одному, который проокружают. Вы видите это путем выполнения
gene_symbols = factor(fData(cd4T)$Gene.symbol)
length(gene_symbols)-length(levels(gene_symbols))
[1] 6897
Так только 6 897 из моих 19794 проокружает, имеют уникальный проокруженный-> картирования генов. Я хотел бы так или иначе объединить уровни экспрессии каждого, которого проокружают связанный с каждым геном. Я не забочусь очень о фактическом тестовом идентификаторе для каждого датчика. Я хотел бы очень закончить с ExpressionSet, содержащим объединенную информацию, поскольку весь мой нисходящий анализ разработан для работы с этим классом.
Я думаю, что могу написать некоторый код, который сделает это вручную и сделает новый набор выражения с нуля. Однако я предполагаю, что это не может быть новой проблемой, и тот код существует, чтобы сделать это, с помощью статистически звукового метода для объединения уровней экспрессии гена. Я предполагаю, что существует имя собственное для этого также, но мой гуглит, не разоблачают большую часть использования. Кто-либо может помочь?
Я не эксперт, но из того, что я видел за эти годы, у каждого есть свой любимый способ объединения наборов пробников. Два метода, которые я видел наиболее часто используемыми в больших масштабах, - это использование только того набора зондов, который имеет наибольшую дисперсию по матрице экспрессии, и другой метод - взять среднее значение наборов зондов и создать из него мета-набор. Для небольших блоков наборов зондов я видел людей, использующих более интенсивные методы, включающие просмотр графиков по каждому зонду, чтобы понять, что происходит... обычно происходит так, что один зонд оказывается "хорошим", а остальные не очень хороши".
Я не видел обобщенного кода для этого - как пример, мы недавно поняли в моей лаборатории, что у нескольких из нас есть свои собственные частные функции для выполнения этой же задачи.
Слово, которое вы ищете, - « nsFilter
» в пакете genfilter R . Эта функция назначает две основные вещи: она ищет только идентификаторы гена entrez , остальные наборы зондов будут отфильтрованы. Если идентификатор entrez имеет несколько наборов тестов, то наибольшее значение будет сохранено, а остальные удалены. Теперь у вас есть матрица сопоставления уникальных идентификаторов гена entrez. Надеюсь это поможет.