cuffnorm

Нормализуйте уровни выражения транскрипта

Описание

пример

cuffnorm(transcriptsAnnot,alignmentFiles) нормализует экспрессию транскрипта в FPKM для выборок в alignmentFiles и корректирует различия в размере библиотеки [1].

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

Примечание

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

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

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

[isoform,gene,tss,cds] = cuffnorm(___) возвращает имена файлов, содержащих нормированные результаты, используя любую из комбинаций входных аргументов в предыдущих синтаксисах. По умолчанию функция сохраняет все файлы в текущей директории.

Примеры

свернуть все

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

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

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

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

Пример: cuffnorm('gyrAB.gtf',["Myco_1_1.sam", "Myco_2_1.sam"],'NumThreads',5)

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

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

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

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

Примечание

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

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

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

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

Пример: 'Labels',["mutant1","mutant2"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Формат для файлов результатов, заданный как "simple-table" или "cuffdiff".

  • "simple-table" - Вывод представлен в формате таблицы с разделителем табуляций.

  • "cuffdiff" - Вывод в той же форме, в которой используется cuffdiff.

Пример: 'OutputFormat',"cuffdiff"

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

Ссылки

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

Введенный в R2019a