cuffmerge

Объедините сборки RNA-seq

Описание

пример

mergedGTF = cuffmerge(gtfFiles) объединяет собранный транскриптом из двух или более файлов GTF [1]. Слияние файлов GTF является необходимым шагом для выполнения нисходящего дифференциального анализа с cuffdiff.

cuffmerge требуется Python® 2 установлен в вашей системе.

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

Примечание

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

mergedGTF = cuffmerge(gtfFiles,opt) использует дополнительные опции, заданные opt.

mergedGTF = cuffmerge(gtfFiles,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, cuffmerge(["Myco_1_1.transcripts.gtf","Myco_1_2.transcripts.gtf"],'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, заданные как строковый вектор или массив ячеек из векторов символов.

Пример: ["Myco_1_1.transcripts.gtf", "Myco_1_2.transcripts.gtf"]

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

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

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

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

Пример: cuffmerge(["Myco_1_1.transcripts.gtf","Myco_1_2.transcripts.gtf"],'NumThreads',5)

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

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

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

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

Примечание

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

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

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

Минимальное количество изоформы, которая будет включена в объединенную сборку, задается как скаляр между 0 и 1. Это значение выражено в процентах от наиболее распространенной (основной) изоформы.

Пример: 'MinIsoformFraction',0.4

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

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

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

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

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

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

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

Имя необязательного файла GTF аннотации ссылки для включения в объединенную сборку в виде строки или вектора символов.

Пример: 'ReferenceGTF',"ref.gtf"

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

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

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

  • Если вы задаете файл FASTA, он должен содержать все ссылочные последовательности.

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

Пример: 'ReferenceSequence',"allrefs.fasta"

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

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

свернуть все

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

Выходная строка также включает информацию о директории, заданную OutputDirectory. По умолчанию функция

  • Создает подпапку merged_asm в текущей директории и сохраняет файл выхода (merged.gtf) в этой папке.

  • Создает подпапку с именем logs merged_asm папке и сохраняет файл журнала.

Если вы задаете OutputDirectory на "/local/tmp/", mergedGTF становится "/local/tmp/merged.gtf". Функция также создает папку журналов в указанной выходной директории.

Ссылки

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

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