cuffquant

Количественная оценка профилей экспрессии генов и транскриптов

Описание

пример

cxbFile = cuffquant(transcriptsAnnot,alignmentFiles) генерирует оценки численности для выборок в alignmentFiles использование файла аннотации ссылки transcriptsAnnot [1]. Вы можете использовать сгенерированное количество CXB-формата (* .CXB) в качестве входных данных дляcuffdiff для выполнения последующего дифференциального экспрессионного анализа.

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

Примечание

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

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

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

Примеры

свернуть все

Создайте 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

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

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

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

Пример: cuffquant(transcripts,alignmentFiles,'NumThreads',4,'Seed',1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный (нативный) синтаксис префиксируется одним или двумя штрихами. По умолчанию функция преобразует только указанные опции. Если значение trueпрограммное обеспечение преобразует все доступные опции со значениями по умолчанию для неопределенных опций в исходный синтаксис.

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: "./AnalysisResults/"

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

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

Пример: 10

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

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

свернуть все

Имя файла изобилия, возвращаемое как строка.

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

Ссылки

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

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

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