cuffdiff

Идентифицируйте значительные изменения в выражении транскрипта

Описание

пример

cuffdiff(transcriptsAnnot,alignmentFiles) идентифицирует значительные изменения в выражении транскрипта между выборками в alignmentFiles использование файла аннотации транскрипта transcriptsAnnot [1].

cuffdiff требуется пакет поддержки Cufflinks для Bioinformatics Toolbox™. Если пакет поддержки не установлен, то функция предоставляет ссылку на загрузку. Для получения дополнительной информации смотрите Пакеты поддержки ПО Bioinformatics Toolbox.

Примечание

cuffdiff поддерживается в Mac и UNIX® только платформы.

cuffdiff(transcriptsAnnot,alignmentFiles,opt) использует дополнительные опции, заданные opt.

cuffdiff(transcriptsAnnot,alignmentFiles,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, cuffdiff('gyrAB.gtf',["Myco_1_1.sam", "Myco_2_1.sam"],'NumThreads',5) задает пять параллельных потоков.

[isoformsDiff,geneDiff,tssDiff,cdsExp,splicingDiff,cdsDiff,promotersDiff] = cuffdiff(___) возвращает имена файлов, содержащих результаты дифференциального экспрессионного теста, используя любую из комбинаций входных аргументов в предыдущих синтаксисах. По умолчанию функция сохраняет все файлы в текущей директории.

Примеры

свернуть все

Создайте CufflinksOptions объект, чтобы задать опции запонки, такие как количество параллельных нитей и выхода директории для хранения результатов.

cflOpt = CufflinksOptions;
cflOpt.NumThreads = 8;
cflOpt.OutputDirectory = "./cufflinksOut";

Файлы, предоставленные для этого примера, содержат выровненные показания для Mycoplasma pneumoniae из двух выборок с тремя повторениями каждый. Считывания моделируются 100bp-считывания для двух генов (gyrA и gyrB) расположены рядом друг с другом на геноме. Все чтения сортируются по ссылочному положению, как требуется cufflinks.

sams = ["Myco_1_1.sam","Myco_1_2.sam","Myco_1_3.sam",...
        "Myco_2_1.sam", "Myco_2_2.sam", "Myco_2_3.sam"];

Соберите транскриптом из выровненных показаний.

[gtfs,isofpkm,genes,skipped] = cufflinks(sams,cflOpt);

gtfs представляет собой список файлов GTF, которые содержат собранные изоформы.

Сравнение собранных изоформ с помощью cuffcompare.

stats = cuffcompare(gtfs);

Объедините собранные транскрипты с помощью cuffmerge.

mergedGTF = cuffmerge(gtfs,'OutputDirectory','./cuffMergeOutput');

mergedGTF сообщает только один транскрипт. Это потому, что два интересующих гена расположены рядом друг с другом, и cuffmerge не может различать два разных гена. Вести cuffmerge, используйте ссылку GTF (gyrAB.gtf) содержащая информацию об этих двух генах. Если файл расположен не в той же директории, который вы запускаете cuffmerge от, вы также должны задать путь к файлу.

gyrAB = which('gyrAB.gtf');
mergedGTF2 = cuffmerge(gtfs,'OutputDirectory','./cuffMergeOutput2',...
			'ReferenceGTF',gyrAB);

Вычислите изобилие (уровни выражения) из выровненных показаний для каждой выборки.

abundances1 = cuffquant(mergedGTF2,["Myco_1_1.sam","Myco_1_2.sam","Myco_1_3.sam"],...
                        'OutputDirectory','./cuffquantOutput1');
abundances2 = cuffquant(mergedGTF2,["Myco_2_1.sam", "Myco_2_2.sam", "Myco_2_3.sam"],...
                        'OutputDirectory','./cuffquantOutput2');

Оцените значимость изменений экспрессии для генов и транскриптов между условиями, выполнив дифференциальную проверку с использованием cuffdiff. cuffdiff функция действует в двух разных шагах: функция сначала оценивает изобилие по выровненным чтениям, а затем выполняет статистический анализ. В некоторых случаях (для примера, распределение вычислительной нагрузки между несколькими работниками), выполнение двух шагов отдельно желательно. После выполнения первого шага с cuffquant, можно затем использовать двоичный выходной файл CXB в качестве входов для cuffdiff для выполнения статистического анализа. Поскольку cuffdiff возвращает несколько файлов, задает рекомендуемую выходную директорию.

isoformDiff = cuffdiff(mergedGTF2,[abundances1,abundances2],...
                      'OutputDirectory','./cuffdiffOutput');

Отобразите таблицу, содержащую результаты дифференциального экспрессионного теста для этих двух генов gyrB и gyrA.

readtable(isoformDiff,'FileType','text')
ans =

  2×14 table

        test_id            gene_id        gene              locus             sample_1    sample_2    status     value_1       value_2      log2_fold_change_    test_stat    p_value    q_value    significant
    ________________    _____________    ______    _______________________    ________    ________    ______    __________    __________    _________________    _________    _______    _______    ___________

    'TCONS_00000001'    'XLOC_000001'    'gyrB'    'NC_000912.1:2868-7340'      'q1'        'q2'       'OK'     1.0913e+05    4.2228e+05          1.9522           7.8886      5e-05      5e-05        'yes'   
    'TCONS_00000002'    'XLOC_000001'    'gyrA'    'NC_000912.1:2868-7340'      'q1'        'q2'       'OK'     3.5158e+05    1.1546e+05         -1.6064          -7.3811      5e-05      5e-05        'yes'   

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

Задайте массив ячеек, где каждый элемент является строковым вектором, содержащим имена файлов для одной выборки с репликами.

alignmentFiles = {["Myco_1_1.sam","Myco_1_2.sam","Myco_1_3.sam"],...
                  ["Myco_2_1.sam", "Myco_2_2.sam", "Myco_2_3.sam"]}
isoformNorm = cuffnorm(mergedGTF2, alignmentFiles,...
                      'OutputDirectory', './cuffnormOutput');

Отобразите таблицу, содержащую нормированные уровни выражения для каждого транскрипта.

readtable(isoformNorm,'FileType','text')
ans =

  2×7 table

      tracking_id          q1_0          q1_2          q1_1          q2_1          q2_0          q2_2   
    ________________    __________    __________    __________    __________    __________    __________

    'TCONS_00000001'    1.0913e+05         78628    1.2132e+05    4.3639e+05    4.2228e+05    4.2814e+05
    'TCONS_00000002'    3.5158e+05    3.7458e+05    3.4238e+05    1.0483e+05    1.1546e+05    1.1105e+05

Имена столбцов, начинающиеся с q, имеют формат conditionX_N, указывающий, что столбец содержит значения для репликации N conditionX.

Входные параметры

свернуть все

Имя файла аннотации транскрипта, заданное как строковый или символьный вектор. Файл может быть GTF или GFF файлом, cufflinks, cuffcompare, или другой источник GTF-аннотаций.

Пример: "gyrAB.gtf"

Типы данных: char | string

Имена файлов SAM, BAM или CXB, содержащих записи выравнивания для каждой выборки, заданные как строковый вектор или массив ячеек. Если вы используете массив ячеек, каждый элемент должен быть строкой вектором или массивом ячеек векторов символов задающих файлы выравнивания для каждого репликата одной и той же выборки.

Пример: ["Myco_1_1.sam", "Myco_2_1.sam"]

Типы данных: char | string | cell

cuffdiff опции, заданные как CuffDiffOptions объект, строка или вектор символов. Строка или вектор символов должны быть в оригинале cuffdiff синтаксис опции (префикс одним или двумя штрихами) [1].

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

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

Пример: cuffdiff('gyrAB.gtf',["Myco_1_1.sam", "Myco_2_1.sam"],'NumThreads',5,'DispersionMethod',"per-condition")

Выборка меток, заданная как строка, строковый вектор, вектор символов или массив ячеек из векторов символов. Количество меток должно равняться количеству выборок или значение должно быть пустым [].

Пример: 'ConditionLabels',["Control","Mutant1","Mutant2"]

Типы данных: string | char | cell

Имя контрастного файла, заданное как строковый или символьный вектор. Файл должен быть двухколоночным текстовым файлом с разделителями табуляции, где каждая линия указывает на два условия для сравнения с использованием cuffdiff. Метки условий в файле должны совпадать с метками, заданными для ConditionLabels или имена выборок. Файл должен иметь одну линию заголовка в качестве первой линии, далее должна быть одна линия для каждой контрастности. Ниже приведен пример формата контрастного файла.

condition_Acondition_B

Контроль

Mutant1

Контроль

Mutant2

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

Пример: 'ContrastFile',"contrast.txt"

Типы данных: char | string

Метод для моделирования отклонения в отсчетах фрагментов через репликаты, заданный как одна из следующих опций:

  • "pooled" - Функция использует каждое реплицированное условие, чтобы создать модель и усредняет эти модели в глобальную модель для всех условий в эксперименте.

  • "per-condition" - Функция создает модель для каждого условия. Использовать эту опцию можно только в том случае, если все условия имеют реплики.

  • "blind" - Функция обрабатывает все выборки как повторения одного глобального распределения и создает одну модель.

  • "poisson" - Отклонение в отсчетах фрагментов является моделью пуассона, где количество фрагментов, по прогнозам, является средним по репликациям. Этот метод не рекомендуется.

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

  • При сравнении двух групп, где первая группа имеет низкую изменчивость перекрестного репликации, а вторая группа - высокую изменчивость, выберите per-condition способ.

  • Если условия имеют одинаковые уровни изменчивости, выберите pooled способ.

  • Если у вас есть только одна репликация в каждом условии, выберите blind способ.

Пример: 'DispersionMethod',"blind"

Типы данных: char | string

Флаг для выполнения тестов переключения изоформы, заданный как true или false. Эти тесты оценивают, сколько дифференциального сращивания существует в изоформах от одного первичного транскрипта. По умолчанию значение true результаты тестирования сохраняются в файле выхода splicing.diff.

Пример: 'DoIsoformSwitch',false

Типы данных: logical

Флаг для нормализации подсчета фрагментов к фрагментам на килобазу на миллион отображенных чтений (FPKM), заданный как true или false.

Пример: 'EffectiveLengthCorrection',false

Типы данных: logical

Команды должны быть в собственном синтаксисе (с префиксом один или два штриха). Используйте эту опцию для применения недокументированных флагов и флагов без соответствующего MATLAB® свойства.

Пример: 'ExtraCommand','--library-type fr-secondstrand'

Типы данных: char | string

Скорость ложного обнаружения для использования во время статистических тестов, заданная в качестве скаляра между 0 и 1.

Пример: 'FalseDiscoveryRate',0.01

Типы данных: double

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

Пример: 'FragmentBiasCorrection',"bias.fasta"

Типы данных: char | string

Ожидаемая средняя длина фрагмента, заданная как положительное целое число. Значение по умолчанию 200 базовые пары. Функция может узнать среднее значение длины фрагмента для каждого файла SAM. Использование этой опции не рекомендуется для парных чтений.

Пример: 'FragmentLengthMean',100

Типы данных: double

Ожидаемое стандартное отклонение для распределения длины фрагмента, заданное как положительная скалярная величина. Значение по умолчанию 80 базовые пары. Функция может узнать стандартное отклонение длины фрагмента для каждого файла SAM. Использование этой опции не рекомендуется для парных чтений.

Пример: 'FragmentLengthSD',70

Типы данных: double

Флаг для создания файлов дифференциального анализа (*.diff), заданный как true или false.

Пример: 'GenerateAnalysisDiff',false

Типы данных: logical

Флаг для включения всех свойств объекта с соответствующими значениями по умолчанию при преобразовании в синтаксис исходных опций, заданный как true или false. Можно преобразовать свойства в исходный синтаксис, префиксированный одним или двумя штрихами (такими как '-d 100 -e 80') при помощи getCommand. Значение по умолчанию false означает, что, когда вы вызываете getCommand(optionsObject)преобразует только указанные свойства. Если значение true, getCommand преобразует все доступные свойства со значениями по умолчанию для неопределенных свойств в исходный синтаксис.

Примечание

Если вы задаете IncludeAll на trueпрограммное обеспечение преобразует все доступные свойства со значениями по умолчанию для неопределенных свойств. Единственным исключением является то, что когда значение по умолчанию свойства NaN, Inf, [], '', или "", тогда программное обеспечение не преобразует соответствующее свойство.

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

Типы данных: logical

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

Пример: 'IsoformShiftReplicates',2

Типы данных: double

Флаг для исправления длины транскрипта, заданный как true или false. Установите это значение равным false только когда количество фрагментов не зависит от размера признака, например, для небольших библиотек РНК без фрагментации и для 3 '-концевого секвенирования, где все фрагменты имеют одинаковую длину.

Пример: 'LengthCorrection',false

Типы данных: logical

Метод нормализации размера библиотеки, заданный как один из следующих опций:

  • "geometric" - функция масштабирует значения FPKM на медианное геометрическое среднее количества фрагментов во всех библиотеках, как описано в [2].

  • "classic-fpkm" - Функция не применяет масштабирование к значениям FPKM или счетчикам фрагментов.

  • "quartile" - функция масштабирует значения FPKM на отношение верхних квартилей между счетчиками фрагментов и среднее значение во всех библиотеках.

Пример: 'LibraryNormalizationMethod',"classic-fpkm"

Типы данных: char | string

Имя файла GTF или GFF, содержащего транскрипты, которые нужно игнорировать во время анализа, заданное как строковый или символьный вектор. Некоторые примеры игнорируемых транскриптов включают аннотированные транскрипты рРНК, митохондриальные транскрипты и другие обильные транскрипты. Игнорирование этих транскриптов улучшает робастность оценок численности.

Пример: 'MaskFile',"excludes.gtf"

Типы данных: char | string

Максимальное количество фрагментов для каждого локуса перед пропуском новых фрагментов, заданное в виде положительного целого числа. Пропущенные фрагменты помечаются статусом HIDATA в файле skipped.gtf.

Пример: 'MaxBundleFrags',400000

Типы данных: double

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

Пример: 'MaxFragAlignments',1000

Типы данных: double

Максимальное количество итераций для оценки максимальной вероятности изобилия, заданное как положительное целое число.

Пример: 'MaxMLEIterations',4000

Типы данных: double

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

Пример: 'MinAlignmentCount',8

Типы данных: double

Минимальное количество изоформы для включения в дифференциальные экспрессионные тесты, заданные как скаляр между 0 и 1. Для альтернативных изоформ, количественно определенных ниже заданного значения, функция округляет изобилие до нуля. Заданное значение является частью основной изоформы. Функция выполняет эту фильтрацию после оценки MLE, но до оценки MAP, чтобы улучшить робастности генерации интервала доверия и дифференциального анализа выражения. Использование значения параметров, отличного от значения по умолчанию, не рекомендуется.

Пример: 'MinIsoformFraction',1e-5

Типы данных: double

Флаг для улучшения оценки численности для показаний, сопоставленных с несколькими геномными положениями с помощью метода спасения, заданного как true или false. Если значение falseфункция разделяет многомассовые чтения равномерно на все отображенные положения. Если значение trueфункция использует дополнительную информацию, включая оценку численности генов, предполагаемую длину фрагмента и смещение фрагмента, для улучшения оценки численности транскрипта.

Метод спасения описан в [3].

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

Типы данных: logical

Флаг, чтобы использовать только фрагменты, совместимые с ссылкой транскриптом, для вычисления значений FPKM, заданных как true или false.

Пример: 'NormalizeCompatibleHits',false

Типы данных: logical

Флаг для включения всех фрагментов для вычисления значений FPKM, заданный как true или false. Если значение true, функция включает все фрагменты, включая фрагменты без совместимой ссылки.

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

Типы данных: logical

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

Пример: 'NumFragAssignmentSamples',40

Типы данных: double

Количество рисок из генератора отрицательных биномиальных случайных чисел для каждого транскрипта, заданное в виде положительного целого числа. Каждый рисунок является количеством фрагментов, которые функция вероятностно присваивает транскриптам в транскриптоме, чтобы определить неопределенность присвоения и оценить дисперсионно-ковариационную матрицу для назначенных отсчётов фрагментов.

Пример: 'NumFragSamples',90

Типы данных: double

Количество параллельных потоков, заданное как положительное целое число. Потоки выполняются на отдельных процессорах или ядрах. Увеличение количества потоков обычно значительно улучшает время выполнения, но увеличивает объем памяти.

Пример: 'NumThreads',4

Типы данных: double

Директория для хранения результатов анализа, заданный как строковый или символьный вектор.

Пример: 'OutputDirectory',"./AnalysisResults/"

Типы данных: char | string

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

Пример: 'Seed',10

Типы данных: double

Флаг для обработки входных выборок как временных рядов, а не как независимых экспериментальных условий, заданный как true или false. Если вы задаете значение true, вы должны предоставить выборки в порядке увеличения времени: первый файл SAM должен быть для первой временной точки, второй файл SAM для второй временной точки и так далее.

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

Типы данных: logical

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

свернуть все

Имя файла, содержащего результаты дифференциального выражения уровня транскрипта, возвращаемое в виде строки.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/isoform_exp.diff".

Имя файла, содержащего результаты дифференциальной экспрессии уровня генов, возвращаемое в виде строки.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/gene_exp.diff".

Имя файла, содержащего результаты дифференциального выражения первичного транскрипта, возвращаемое в виде строки.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/tss_group_exp.diff".

Имя файла, содержащего результаты дифференциального выражения кодирующей последовательности, возвращаемое в виде строки.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/cds_exp.diff".

Имя файла, содержащего результаты дифференциального сращивания для изоформ, возвращаемое как строка.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/splicing.diff".

Имя файла, содержащего выход дифференциальной последовательности кодирования, возвращаемое как строка.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/cds.diff".

Имя файла, содержащего информацию об использовании дифференциального промотора, существующего между выборками, возвращаемое как строка.

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию это текущая директория. Если вы задаете OutputDirectory на "/local/tmp/", выход становится "/local/tmp/promoters.diff".

Ссылки

[1] Трапнелл, Коул, Брайан А Уильямс, Гео Пертея, Али Мортазави, Гордон Кван, Марийке Дж. Ван Барен, Стивен Л Зальцберг, Барбара Дж. Уолд и Лиор Пахтер. «Сборка транскрипта и количественное определение РНК-Seq обнаруживает неаннотированные транскрипты и переключение изоформы во время дифференциации камер». Биотехнология природы 28, № 5 (май 2010): 511-15.

[2] Андерс, Саймон и Вольфганг Хубер. «Дифференциальный экспрессионный анализ для данных счетчика последовательностей». Биология генома 11, № 10 (октябрь 2010): R106. https://doi.org/10.1186/gb-2010-11-10-r106.

[3] Мортазави, Али, Брайан А Уильямс, Кеннет Маккью, Лориан Шеффер и Барбара Уолд. «Отображение и количественная оценка транскриптомов млекопитающих РНК-Seq». Методы природы 5, № 7 (июль 2008 года): 621-28. https://doi.org/10.1038/nmeth.1226.

Введенный в R2019a
Для просмотра документации необходимо авторизоваться на сайте