У меня есть матрица двух наборов данных экспрессии генов, один из 10 нормальных людей и десять из больных людей, которые представляют собой нормализованные значения логарифмических изменений, то есть уже обработанные.
Мой вопрос: как мне получить список дифференциально выраженных генов ? Это экспрессированные вверх и вниз гены. Я думал о том, чтобы получить средства для каждой группы, а затем сработала бы сортировка значений среднего кратного изменения, но я не уверен...
Спасибо.
Трудно понять, какие у вас данные. КПЦР? Позвольте мне привести вам пример с задействованными инструментами, как я получаю дифференциальные гены для данных РНКсек, то есть для всего транскриптома, и для транскриптома мыши, который содержит около 23000 генов.
На шаге 2 вы получаете матрицу подсчетов.
sampleA_rep1 sampleA_rep2 sampleB_rep1 sampleB_rep2
gene1 2 5 20 23
gene2 10 12 50 50
gene3 20 23 4 6
..
geneN
Я использую пакеты limma
и/или edgeR
. Вы можете найти их на сайте bioconductor. Оба пакета берут сырые подсчеты и дают вам topTable
DEG, по умолчанию это 100 лучших генов.
Я рекомендую читать edgeR
или limma
руководства, там есть отличные объяснения, а также примеры. Кроме того , метод нормализации масштабирования для анализа дифференциальной экспрессии данных РНК-seq является оригинальной статьей, в которой объясняется нормализация ТММ (подробнее см. ниже).
Две вещи; один вам нужно отфильтровать гены с низким количеством, преобразовать в cpm()
количество на миллион перед фильтрацией, поскольку при этом учитывается размер библиотеки (глубина секвенирования). двое calcNormFactors()
будут делать ТММ
Самое сложное (как я понимаю) в RNAseq — получить суммарный выход РНК для каждого образца. Потому что лечение повлияет на количество транскриптов, выраженных в этом образце, увеличивая или уменьшая количество транскриптов, что приводит к несбалансированности подсчетов. Вы не узнаете, просто взглянув на необработанные подсчеты, имеет ли ген А меньше подсчетов, потому что он был снижен, ИЛИ потому что в этом образце после обработки присутствует больше транскриптов в клетке, а ген А просто имеет меньшее покрытие из-за того, что другие транскрипты также получают считывание сейчас. Я не могу объяснить это слишком технически, потому что я сам этого не понимаю, но нормализация TMM позаботится об этом и даст вам оценку степени изменчивости.
Я знаю, что не даю так много информации о фактическом дифференциальном тестировании, о чем был ваш вопрос. edgeR
имеет Exact Tests for Differences between Two Groups of Negative-Binomial CountsexactTest()
, которые могут вам помочь, но вы могли нормализовать свои подсчеты по-другому, как указано выше. Общая идея (я понимаю) заключается в том, что вам нужно подобрать модель ( ), а затем выполнить тест.lmFit()
eBayes()
Другой
limma
и edgeR
в бэкенде, но упрощает многие вещи, а также дает вам приятный интерфейс для работы с вашими данными. Вы загружаете необработанные данные! в формате, показанном вышеДля этого есть программное обеспечение, но если вам нужен очень примитивный способ анализа, выполните t-тест (который в основном рассматривает как разницу в средних значениях, так и STDEV каждой группы).
Бли