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.

The Identity линия представляет модель Пуассона, где отклонение идентично среднему значению, как описано в [3]. Заметьте, что данные, по-видимому, чрезмерно диспергированы (то есть большинство точек выше Identity линия). The Constant линия представляет отрицательную биномиальную модель, где отклонение является суммой термина шума от выстрела (среднее значение) и константой, умноженной на квадратное среднее, как описано в [2]. The 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] Anders, S., and Huber, W. (2010). Дифференциальный экспрессионный анализ для данных счетчика последовательностей. Биология генома, 11 (10): R106.

[2] Robinson, M.D., and Smyth, G.K. (2008). Оценка отрицательной биномиальной дисперсии с малой выборкой с приложениями к данным SAGE. Биостатистика, 9: 321-332.

[3] Marioni, J.C., Mason, C.E., Mane, S.M., Stephens, M., and Gilad, Y. (2008). РНК-seq: оценка технической воспроизводимости и сравнение с массивами экспрессии генов. Исследование генома, 16: 1509-1517.

Введенный в R2014b