cuffcompare

Сравнение собранных транскриптов в нескольких экспериментах

Описание

пример

statsFile = cuffcompare(gtfFiles) сравнивает собранные транскрипты в gtfFiles и возвраты сводных данных статистику в файле выхода statsFile [1].

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

Примечание

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

statsFile = cuffcompare(gtfFiles,compareOptions) использует дополнительные опции, заданные compareOptions.

statsFile = cuffcompare(gtfFiles,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, statsFile = cuffcompare(gtfFile,'OutputPrefix',"cuffComp") добавляет префикс "cuffComp" в имена выходных файлов.

[statsFile,combinedGTF,lociFile,trackingFile] = cuffcompare(___) возвращает имена выходных файлов, используя любую из комбинаций входных аргументов в предыдущих синтаксисах. По умолчанию функция сохраняет все файлы в текущей директории.

Примеры

свернуть все

Создайте 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, заданные как строковый вектор или массив ячеек из векторов символов. Каждый файл GTF соответствует выборке, произведенной cufflinks.

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

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

cuffcompare опции, заданные как CuffCompareOptions объект, вектор символов или строка. Векторы символов или строка должны быть в оригинале cuffcompare синтаксис опции (префикс одним или двумя штрихами), например '-d 100 -e 80' [1].

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

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

Пример: statsFile = cuffcompare(gtfFile,'OutputPrefix',"cuffComp",'MaxGroupingRange',90)

Префикс для имен консенсусных транскриптов в выход combined.gtf файл, заданный как строковый или символьный вектор. Эта опция должна быть строковым или символьным вектором с ненулевой длиной.

Пример: 'ConsensusPrefix',"consensusTs"

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

Флаг, чтобы игнорировать интронно-избыточные трансфрагмы, если они имеют те же 5 'end, но различные 3' ends, заданный как true или false.

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

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

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

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

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

Флаг для сброса одноэксонных эталонных транскриптов, заданный как true или false.

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

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

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

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

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

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

Пример: 'GTFManifest',"gtfManifestFile.txt"

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

Флаг для обработки входных файлов GTF как файлов GFF, заданный как true или false. Используйте эту опцию, когда входные файлы GFF или GTF не производятся cufflinks.

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

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

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

Примечание

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

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

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

Флаг для включения трансфрагмов, содержащихся в других трансфрагмах в том же локусе, в выходной combined.gtf, заданный как true или false. По умолчанию, cuffcompare не включает эти содержащиеся трансфрагмы. Если значение true, содержащиеся трансфрагмы включают в себя contained_in атрибут, указывающий на обнаружение первого контейнера transfrag.

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

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

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

Пример: 'MaxAccuracyRange',80

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

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

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

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

Префикс для cuffcompare выходные файлы, заданные как строковый или символьный вектор. Эта опция должна быть строковым или символьным вектором с ненулевой длиной.

Пример: 'OutputPrefix',"cuffcompareOut"

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

Имя файла GTF или GFF, содержащего ссылочные транскрипты для сравнения с каждой выборкой, заданное как строковый или символьный вектор. Если вы предоставляете файл, функция сравнивает каждую выборку со ссылками в файле и помечает изоформы как overlapping, matching, или novel. Функция хранит эти теги в файлах выхода .refmap и .tmap файлы.

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

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

Имя директории, содержащего FASTA-последовательности для классификации входа транскриптов как повторений, заданное как строка или вектор символов. Эта директория должен содержать файлы FASTA-формата с базовыми геномными последовательностями и содержать по одному файлу FASTA на ссылку. Назовите каждый файл FASTA после хромосомы с расширением .fa или .fasta.

Пример: 'SequenceDirectory',"./SequenceDirectory/"

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

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

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

  • Вы также должны задать ReferenceGTF опция.

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

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

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

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

  • Вы также должны задать ReferenceGTF опция.

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

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

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

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

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

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

свернуть все

Имя текстового файла, содержащего статистику, связанную с точностью транскриптов в каждой выборке, возвращаемое как строка. Функция выполняет тесты чувствительности (Sn) и специфичности (Sp) на различных уровнях, включая уровни нуклеотида, экзона и интрона, и сообщает результаты в этом файле.

Имя файла по умолчанию "cuffcmp.stats". Если вы задаете OutputPrefixфункция использует его вместо "cuffcmp".

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

Имя файла по умолчанию "cuffcmp.combined.gtf". Если вы задаете OutputPrefixфункция использует его вместо "cuffcmp".

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

Имя файла по умолчанию "cuffcmp.loci". Если вы задаете OutputPrefixфункция использует его вместо "cuffcmp".

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

Имя файла по умолчанию "cuffcmp.tracking". Если вы задаете OutputPrefixфункция использует его вместо "cuffcmp".

Ссылки

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

Введенный в R2019a