Вычисление вероятности совпадения списка генов между последовательностью РНК и набором данных чипа

13

Надеюсь, кто-то на этих форумах поможет мне с этой основной проблемой в исследованиях экспрессии генов.

Я сделал глубокое секвенирование экспериментальной и контрольной ткани. Затем я получил значения кратного обогащения генов в экспериментальном образце для контроля. Эталонный геном имеет ~ 15 000 генов. 3000 из 15000 генов обогащены выше определенного порога в моем образце интереса по сравнению с контролем.

Итак: A = общая популяция генов = 15000 B = РНК-секвенированная субпопуляция = 3000.

В предыдущем эксперименте с чипом я обнаружил 400 генов, которые обогащены чипом. Из 400 генов ChIP-чипа 100 генов находятся в группе из 3000 обогащенных транскриптов RNA-Seq.

Итак: C = общее количество генов, обогащенных чипом ChIP = 400.

Какова вероятность того, что мои 100 генов ChIP-чипов будут обогащены RNA-Seq случайно? Другими словами, какой самый разумный способ вычислить, если мое наблюдаемое совпадение между В и С (100 генов) лучше, чем полученное случайно? Из того, что я прочитал, лучший способ проверить это - использовать гипергеометрическое распределение.

Я использовал онлайн-калькулятор (stattrek.com), чтобы настроить тест гипергеометрического распределения со следующими параметрами: - размер популяции = 15 000 - количество успехов в популяции = 3000 - размер выборки = 400, - количество успехов в выборке = 100. Я получаю следующее для гипергеометрической вероятности P (x = 100) = 0,00224050636447747

Фактическое количество генов, перекрывающихся между B и C = 100. Это лучше, чем случайно? Похоже, что если какой-то один ген может быть обогащен 1: 5 (3000 из 15 000). Вот почему я не понимаю, почему мой P (x = 100), который я рассчитал выше, составляет 0,0022. Это составляет 0,2% вероятности случайного совпадения. Разве это не должно быть намного выше?

Если бы я отобрал 400 случайных генов из большого списка из 15 000, то любые 80 из этих генов могли бы быть обогащены только случайностью (1: 5). Количество генов, которые фактически перекрываются, равно 100, так что это немного лучше, чем случайно.

Я также попытался найти решение, используя функции дипера или phyper в R (используя то, что я видел в другом посте): A = все гены в геноме (15000) B = гены, обогащенные RNA-Seq (3000) C = ChIP -chip обогащенные гены (400) Вот ввод / вывод R (адаптированный из предыдущего поста об обмене стека):

> totalpop <- 15000    
> sample1 <- 3000    
> sample2 <- 400    
> dhyper(0:2, sample1, totalpop-sample1, sample2)    
[1] 4.431784e-40 4.584209e-38 2.364018e-36    
> phyper(-1:2, sample1, totalpop-sample1, sample2)    
[1] 0.000000e+00 4.431784e-40 4.628526e-38 2.410304e-36    

Я не уверен, как интерпретировать эти цифры. Я полагаю, что 2.36e-36 - это вероятность полного совпадения между B и C только по случайности? Но это не имеет смысла, так как эта вероятность намного ближе к 1: 5. Если я начну с 15 000 генов, 3000 будут обогащены. Точно так же, если я начну с 400 генов ChIP-чипов, 80 из них должны быть обогащены только RNA-Seq из-за вероятности обогащения 1: 5 в этом наборе данных.

Как правильно рассчитать значение p в соответствии с гипергеометрическим распределением для перекрытия B и C?

stlandroidfan
источник

Ответы:

15

Вы близки, с вашим использованием dhyperи phyper, но я не понимаю, откуда 0:2и -1:2откуда.

Требуемое значение p - это вероятность получения 100 или более белых шариков в образце размером 400 из урны с 3000 белыми шариками и 12000 черных шариков. Вот четыре способа его расчета.

sum(dhyper(100:400, 3000, 12000, 400))
1 - sum(dhyper(0:99, 3000, 12000, 400))
phyper(99, 3000, 12000, 400, lower.tail=FALSE)
1-phyper(99, 3000, 12000, 400)

Это дает 0,0078.

dhyper(x, m, n, k)дает вероятность рисования точно x. В первой строке мы суммируем вероятности для 100 - 400; во второй строке мы берем 1 минус сумму вероятностей 0 - 99.

phyper(x, m, n, k)дает вероятность получить xили меньше, так phyper(x, m, n, k)же, как sum(dhyper(0:x, m, n, k)).

Это lower.tail=FALSEнемного сбивает с толку. phyper(x, m, n, k, lower.tail=FALSE)так же, как 1-phyper(x, m, n, k)и вероятность того x+1или иного. [Я никогда не помню этого и поэтому всегда должен перепроверить.]

max(dhyper(0:400, 3000, 12000, 400))

Вот картина гипергеометрического распределения в этом случае. Вы можете видеть, что он центрирован на 80 (20% из 400) и что 100 довольно далеко в правом хвосте. введите описание изображения здесь

Карл
источник
Большое спасибо за вашу помощь. Я понимаю логику вашего ответа. Но как мне объяснить группе биологов, что это больше, чем частичное совпадение, наблюдаемое только благодаря случайности? Они скажут, что у меня есть шанс перекрытия 1: 5. Является ли мое перекрытие значительным, потому что при размере выборки в 400 шаров (из 15 000 шаров) мой шанс получить белый шар на самом деле ниже, чем 1: 5, потому что я выбираю меньшую популяцию (не все 15 000)? Это не имеет смысла, потому что даже если 400 <15 000, соотношение белого: черного все равно остается 1: 5. Имеет ли это смысл?
stlandroidfan
@stlandroidfan - Я не понимаю, что ты смущаешь. Я добавил фигуру; это помогает?
Карл
0

Посмотрите на это так ... Если вы предполагаете, что это бином, что может быть не правильно, но оно должно быть довольно приблизительным ... ваша сигма ^ 2 равна .8 * .2 * 400 = 64, тогда сигма = 8. Итак от 80 до 100 вы прошли 2,5 стандартных отклонения. Это довольно существенно. Оно должно иметь небольшое значение р.

Адам
источник
Спасибо за Ваш ответ. Гипергеометрические распределения чаще используются для перекрытия списков генов из того, что я видел в литературе. Вопрос в том, какова вероятность получения 100 или более белых шариков в образце размером 400 из урны с 3000 белыми шариками и 12000 черных шариков? Я думаю, что все еще озадачен тем, как объяснить это группе биологов? То, как они видят это 3000: 12000 - это шанс 1: 5 для белого: черного. Таким образом, в выборке 400, 80 должно быть белым. Так почему же вероятность получить 100 или более намного ниже, чем 20% (1 в 5)?
stlandroidfan