cufflinks

Соберите транскриптом из выровненных показаний

Описание

пример

cufflinks(alignmentFiles) собирает транскриптом из выровненных показаний в alignmentFile и количественно определяет уровень выражения для каждого транскрипта [1]. По умолчанию функция записывает результаты в файл с именем GTF transcripts.gtf в текущей директории.

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

Примечание

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

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

cufflinks(alignmentFiles,Name,Value) использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, cufflinks(alignmentFile,'TrimCoverageThreshold',5) задает минимальное среднее покрытие для 3 '-концевой обрезки.

[transcripts,isoforms,genes,skippedTranscripts] = cufflinks(___) возвращает имена файлов собранного транскриптома, используя любую из комбинаций входных аргументов из предыдущих синтаксисов. По умолчанию функция сохраняет все файлы в текущей директории.

Примеры

свернуть все

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

Входные параметры

свернуть все

Имена файлов SAM или BAM, заданные как строка, строковый вектор, вектор символов или массив ячеек из векторов символов. Входные файлы должны быть отсортированы по ссылочной позиции.

Пример: 'Myco_1_1.sam'

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

Опции Cufflinks, заданные как CufflinksOptions объект, вектор символов или строка. Векторы символов или строка должны быть в синтаксисе опции cufflinks (с префиксом один или два штриха) [1].

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

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

Пример: cufflinks(alignmentFile,'TrimCoverageThreshold',5,'FragmentLengthMean',180)

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

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

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

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

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

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

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

Флаг для включения ссылки транскриптов в собранный выход как faux-reads во время сборки RABT (расширенная транскрипция на основе аннотаций ссылки), заданный как true или false.

Примечание

Функция выполняет сборку RABT только в том случае, если вы задаете GTFGuide. В противном случае FauxReadTiling, независимо от true или false, не влияет на собранный транскрипт.

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

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

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

Пример: 'FragmentBiasCorrection','ref.fasta'

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

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

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

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

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

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

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

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

Пример: 'GTFGuide','tr.gtf'

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

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

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

Примечание

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

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

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

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

Примечание

Функция выполняет сборку RABT только в том случае, если вы задаете GTFGuide. В противном случае RABTOverhangTolerance не влияет на собранный транскрипт.

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

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

Значение Альфа в биномиальном тесте для фильтрации ложноположительных выравниваний, заданное как скаляр между 0 и 1.

Пример: 'JunctionAlpha',0.005

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

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

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

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

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

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

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

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

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

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

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

Пример: 'MaxBundleLength',3400000

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

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

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

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

Максимальное количество основ в отчете интрона, заданное как положительное целое число. cufflinks также игнорирует выравнивания SAM с REF_SKIP операциями CIGAR дольше, чем это значение свойства.

Пример: 'MaxIntronLength',350000

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

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

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

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

Минимальное количество выровненных фрагментов RNA-Seq для сообщения о собранном трансфраге, заданное в виде положительного целого числа.

Пример: 'MinFragsPerTransfrag',15

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

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

Пример: 'MinIntronLength',50

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

Значение Cuffoff для сообщения о изобилии конкретной изоформы как части наиболее распространенной изоформы (основной изоформы), заданной как скаляр между 0 и 1. Функция отфильтровывает транскрипты с обилием ниже заданного значения, потому что изоформы, выраженные на низких уровнях, часто не могут быть собраны надежно. Значение по умолчанию составляет 0,1, или 10% от основной изоформы гена.

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

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

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

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

Пример: true

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: 'OverhangTolerance',5

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

Количество пар базы, позволенных навесить 3 'конец каждого эталонного транскрипта во время сборки RABT, заданное в виде положительного целого числа. Функция использует это свойство при решении, является ли собранный транскрипт новым или должен быть объединен со ссылкой.

Примечание

Функция выполняет сборку RABT только в том случае, если вы задаете GTFGuide. В противном случае RABTOverhangTolerance3 не влияет на собранный транскрипт.

Пример: 'OverhangTolerance3',500

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

Расстояние между трансфрагмами, заданное как положительное целое число. Если расстояние ниже заданного значения, функция объединяет трансфрагмы. Значение по умолчанию 50 базовые пары.

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

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

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

Пример: 'PreMRNAFraction',0.10

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

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

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

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

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

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

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

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

Пример: 'SmallAnchorFraction',0.1

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

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

Пример: 'TranscriptPrefix',"tfrags"

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

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

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

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

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

Пример: 'TrimDropoffFraction',0.15

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

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

свернуть все

Имя файла транскрипта, возвращаемое как строка. Имя файла "transcripts.gtf". Файл содержит собранные изоформы, а также атрибуты, описывающие обилие чтений, происходящих из каждого транскрипта.

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

Предполагаемое имя файла выражения уровня изоформы, возвращаемое как строка. По умолчанию имя файла "isoforms.fpkm_tracking". Файл содержит оценки выражения уровня изоформы в cufflinks Формат отслеживания FPKM.

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

Предполагаемое имя файла экспрессии уровня генов, возвращаемое как строка. По умолчанию имя файла "genes.fpkm_tracking". Файл содержит оценки экспрессии на уровне генов в cufflinks Формат отслеживания FPKM.

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

Имя файла, содержащего пропущенные транскрипты при обработке локуса, возвращаемое как строка. По умолчанию имя файла "skipped.gtf". The 'MaxBundleFrags' опция задаёт максимальное количество транскриптов (фрагментов) для каждого локуса. После достижения порога функция помещает пропущенные фрагменты в этот файл.

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

Ссылки

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

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

Введенный в R2019a