exponenta event banner

nbintest

Непарный тест гипотез для данных подсчета с небольшими размерами выборки

Описание

пример

test = nbintest(X,Y) выполняет проверку гипотезы о том, что две независимые выборки данных подсчета с коротким чтением в каждой строке X и Y происходят из распределений с равными средствами при допущениях, что:

  • Количество коротких считываний моделируется с использованием отрицательного биномиального распределения.

  • Дисперсия и среднее значение данных в каждой строке связаны через функцию регрессии вдоль всех строк.

X и Y должно иметь одинаковое количество строк и не менее 2 столбцов, но необязательно одинаковое количество столбцов. Ряды X и Y соответствуют переменным, особенностям или генам, таким как измерения экспрессии генов для различных генов. Столбцы обычно являются временными точками или пациентами.

test является NegativeBinomialTest объект с двусторонними значениями p, хранящимися в pValue собственность.

Используйте эту функцию, когда хотите выполнить непарный тест гипотезы для данных подсчета с коротким чтением (из высокопроизводительных анализов, таких как RNA-Seq или ChIP-Seq) с небольшими размерами выборки (в порядке не более десятков). Например, используйте эту функцию, чтобы решить, являются ли наблюдаемые различия в количестве считывания между двумя состояниями значимыми для данных генов.

test = nbintest(X,Y,Name,Value) использует дополнительные параметры, указанные одним или несколькими Name,Value аргументы пары.

Примечание

Рекомендуется использовать диагностические графики NegativeBinomialTest объект, возвращенный nbintest перед интерпретацией значений p. Эти графики позволяют увидеть, является ли допущение модели верным, и используемая связь дисперсии подходит для данных.

Примеры

свернуть все

Этот пример показывает, как выполнить непарный тест гипотезы для синтетических данных подсчета короткого считывания из двух различных биологических условий.

Данные в этом примере содержат данные подсчета синтетических генов для 5000 генов, представляющих два различных биологических состояния, таких как больные и нормальные клетки. Для каждого условия существует пять проб. Только 10% генов (500 генов) дифференциально экспрессируются. В частности, половина из них (250 генов) точно в 3 раза сверхэкспрессируются. Другие 250 генов в 3 раза не экспрессированы. Остальные данные экспрессии генов генерируются из одного и того же отрицательного биномиального распределения для обоих состояний. Каждый образец также имеет различный коэффициент размера (т.е. охват или глубину выборки).

Загрузите данные.

load('nbintest_data.mat','K','H0');

Переменная K содержит данные подсчета генов. Строки представляют гены, а столбцы - образцы. В этом случае первые пять столбцов представляют выборки из первого условия. Остальные пять столбцов представляют образцы из второго условия. Отображение первых нескольких строк K.

K(1:5,:)
ans = 5×10

       13683       14140        8281       14309       12208        8045        9446       11317       14597       14592
       16028       16805        9813       16486       14076        9901       10927       13348       16999       17036
         814         862         492         910         758         521         573         753         870         936
       15870       16453        9857       16454       14267        9671       10997       13624       17151       17205
        9422        9393        5734        9598        8174        5381        6315        7752        9869        9795

В этом примере нулевая гипотеза верна, когда ген не экспрессируется дифференциально. Переменная H0 содержит логические индикаторы, которые указывают, для каких генов истинна нулевая гипотеза (помечена как 1). Другими словами, H0 содержит известные метки, которые будут использоваться позже для сравнения с прогнозируемыми результатами.

sum(H0)
ans = 4500

Из 5000 генов 4500 дифференциально не экспрессируются в этих синтетических данных.

Запустить непарный тест гипотез для образцов из двух условий с использованием nbintest. Предполагается, что данные получены из отрицательного биномиального распределения, где дисперсия связана со средним значением через локально регрессионную гладкую функцию среднего значения, как описано в [1] путем установки 'VarianceLink' кому 'LocalRegression'.

tLocal = nbintest(K(:,1:5),K(:,6:10),'VarianceLink','LocalRegression');

Использовать plotVarianceLink построить график рассеяния для каждого экспериментального условия (для условий X и Y) с дисперсией выборки по общей шкале в сравнении с оценкой зависящего от условия среднего. Используйте линейный масштаб для обеих осей. Включение кривых для всех других опций связи путем установки 'Compare' кому true.

plotVarianceLink(tLocal,'Scale','linear','Compare',true)

Figure contains an axes. The axes with title Variance Link on X contains 4 objects of type line. These objects represent Observed, Local Regression, Constant, Identity.

Figure contains an axes. The axes with title Variance Link on Y contains 4 objects of type line. These objects represent Observed, Local Regression, Constant, Identity.

Identity строка представляет модель Пуассона, где отклонение идентично среднему значению, описанному в [3]. Обратите внимание, что данные, по-видимому, чрезмерно разбиты (то есть большинство точек выше Identity линия). Constant строка представляет отрицательную биномиальную модель, где дисперсией является сумма члена (среднего) шумов выстрела и константы, умноженной на среднее в квадрате, как описано в [2]. Local Regression и Constant варианты увязки, по-видимому, лучше вписываются в сверхдисперсные данные.

Использовать plotChiSquaredFit для оценки пригодности для регрессии дисперсии. Он строит график эмпирической CDF (ecdf) хи-квадратичных вероятностей. Вероятности представляют собой отношение между наблюдаемой и оценочной дисперсией, стратифицированной по уровням подсчета с коротким чтением на пять ячеек одинакового размера.

plotChiSquaredFit(tLocal)

Figure contains an axes. The axes with title Residuals ECDF Plot for X contains 6 objects of type line. These objects represent 0-1472, 1473-3766, 3767-6636, 6637-10952, > 10952.

Figure contains an axes. The axes with title Residuals ECDF Plot for Y contains 6 objects of type line. These objects represent 0-1264, 1265-4022, 4023-7453, 7454-11438, > 11438.

На каждом рисунке показаны пять кривых ecdf. Каждая кривая представляет один из пяти уровней подсчета при коротком чтении. Например, синяя линия представляет кривую ecdf для низкого числа коротких считываний между 0 и 1264. Красная линия представляет высокие счетчики (более 11438).

Одним из способов интерпретации кривых является проверка того, находятся ли кривые ecdf над диагональной линией. Если они находятся выше линии, то отклонение завышается. Если они находятся ниже линии, то отклонение занижается. На обоих рисунках дисперсия, кажется, правильно оценена для более высоких счетчиков (то есть красная линия следует за диагональной линией), но немного завышена для более низких уровней подсчета.

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

confusionmat(H0,(tLocal.pValue > .001))
ans = 2×2

         493           7
           5        4495

Из 500 дифференциально экспрессируемых генов 493 правильно предсказаны (истинно положительные) и 7 из них неверно предсказаны как не-дифференциально экспрессируемые гены (ложно-отрицательные). Из 4500 генов, которые не экспрессируются дифференциально, 4495 правильно предсказаны (истинные негативы) и 5 из них неверно предсказаны как дифференциально экспрессируемые гены (ложноположительные).

Для сравнения снова выполните тест гипотезы, предполагая, что подсчеты моделируются распределением Пуассона, где дисперсия идентична среднему.

tPoisson = nbintest(K(:,1:5),K(:,6:10),'VarianceLink','Identity');

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

plotChiSquaredFit(tPoisson)

Figure contains an axes. The axes with title Residuals ECDF Plot for X contains 6 objects of type line. These objects represent 0-1472, 1473-3766, 3767-6636, 6637-10952, > 10952.

Figure contains an axes. The axes with title Residuals ECDF Plot for Y contains 6 objects of type line. These objects represent 0-1264, 1265-4022, 4023-7453, 7454-11438, > 11438.

Входные аргументы

свернуть все

Значения экспрессии генов из первого экспериментального состояния, определенные как матрица или таблица. Например, X может представлять значения экспрессии генов из раковых клеток.

Примечание

X и Y должно иметь одинаковое количество строк и не менее 2 столбцов, но необязательно одинаковое количество столбцов. Ряды X и Y соответствуют генам (или особенностям), таким как измерения экспрессии генов для различных генов. Столбцы обычно являются временными точками или пациентами.

Значения экспрессии генов из второго экспериментального состояния, определенные как матрица или таблица. Например, Y может представлять значения экспрессии генов из нормальных клеток.

Примечание

X и Y должно иметь одинаковое количество строк и не менее 2 столбцов, но необязательно одинаковое количество столбцов. Ряды X и Y соответствуют генам (или особенностям), таким как измерения экспрессии генов для различных генов. Столбцы являются временными точками или пациентами.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'VarianceLink','Identity' указывает, что дисперсия равна среднему значению при определении связи между ними.

Логический флаг для объединения отклонений по обоим условиям, указанный как true или false. По умолчанию отклонение оценивается отдельно для каждого условия.

Пример: 'PooledVariance',true

Коэффициент размера (масштабирования) каждого столбца в X и Y, указанный как массив ячеек из двух векторов, таких как {SX,SY}. SX и SY числовые векторы с размерами, равными size(X,2) и size(Y,2). SX , SY, или оба могут быть скаляром, указывающим, что все столбцы имеют одинаковый коэффициент размера.

В высокопроизводительной библиотеке секвенирования коэффициент размера представляет собой оценку охвата или глубины выборки. По умолчанию используется пустой массив [], что означает, что коэффициент размера оценивается как медиана отношения количества образцов к среднему геометрическому для каждой строки в X или Y. Строки с нулевым средним геометрическим значением игнорируются.

Пример: 'SizeFactor',{[1.2,0.5,0.8],[0.8,1.1,1.5]}

Выходные аргументы

свернуть все

Результаты теста гипотез, возвращенные как NegativeBinomialTest объект. Этот объект используется для создания диагностических графиков и доступа к значениям p.

Ссылки

[1] Андерс, С. и Хубер, W. (2010). Анализ дифференциальных выражений для данных подсчета последовательностей. Биология генома, 11 (10): R106.

[2] Робинсон, доктор медицинских наук, и Смит, Г.К. (2008). Малая выборка оценки отрицательной биномиальной дисперсии с применением к данным SAGE. Биостатистика, 9: 321-332.

[3] Мариони, Дж. К., Мейсон, н. э., Мане, С.М., Стивенс, М. и Гилад, Ю. (2008). RNA-seq: оценка технической воспроизводимости и сравнение с массивами экспрессии генов. Исследования генома, 16:1509 - 1517.

Представлен в R2014b