cuffdiff

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

Описание

пример

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

cuffdiff требует Пакета поддержки Запонок для 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";

Файлы SAM предусмотрели этот пример, содержат выровненные чтения для Микоплазмы 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

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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

Контрастное имя файла в виде строки или вектора символов. Файл должен быть текстовым файлом с разделителями табуляции 2D столбца, где каждая линия указывает на два условия сравнить использование 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

Типы данных: логический

Отметьте, чтобы нормировать количества фрагмента к фрагментам на kilobase на миллион сопоставленных чтений (FPKM) в виде true или false.

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

Типы данных: логический

Команды должны быть в нативном синтаксисе (снабжены префиксом одним или двумя тире). Используйте эту опцию, чтобы применить недокументированные флаги и флаги без соответствующего 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

Типы данных: логический

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

Примечание

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

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

Типы данных: логический

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

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

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

Отметьте, чтобы откорректировать длиной расшифровки стенограммы в виде true или false. Установите это значение к false только, когда количество фрагмента независимо от размера элемента, такой что касается небольших библиотек RNA без фрагментации и для 3' секвенирования конца, где все фрагменты имеют ту же длину.

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

Типы данных: логический

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

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

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

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

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

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

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

Пример: '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

Типы данных: логический

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

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

Типы данных: логический

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

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

Типы данных: логический

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы данных: логический

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

свернуть все

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

Выводимая строка также включает информацию о директории, заданную 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] Trapnell, Капуста, Брайан А Уильямс, Гео Pertea, Али Мортэзэви, Гордон Кван, Мэриджк Дж ван Бэрен, Стивен Л Залцберг, Барбара Дж Уолд и Лайор Пэчтер. “Блок расшифровки стенограммы и Квантификация RNA-Seq Показывают Неаннотируемые Расшифровки стенограммы и Изоформу, Переключающуюся во время Клеточной дифференцировки”. Биотехнология природы 28, № 5 (май 2010): 511–15.

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

[3] Mortazavi, Али, Брайан А Уильямс, Кеннет Макку, Лориэн Шэеффер и Барбара Уолд. “Сопоставляя и Определяя количество Транскриптомов млекопитающих RNA-Seq”. Методы природы 5, № 7 (июль 2008): 621–28. https://doi.org/10.1038/nmeth.1226.

Введенный в R2019a