seqtrim

Обрезка последовательностей на основе заданного критерия

Описание

пример

seqtrim(fastqFile) обрезает последовательности в fastqFile и сохраняет обрезанные последовательности в новых файлах FASTQ. По умолчанию обрезанные последовательности сохраняются под именами файлов с помощью суффикса '_trimmed' приложенный. Если вы не задаете никакого критерия обрезки, функция обрезает последовательности, используя значение по умолчанию.

пример

seqtrim(fastqFile,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар.

пример

[outFiles,nSeqTrimmed,nSeqUntrimmed] = seqtrim(___) возвращает массив ячеек outFiles с именами файлов выхода. nSeqTrimmed и nSeqUntrimmed представление количества последовательностей, обрезанных и не искривленных из каждого входного файла, соответственно.

Примеры

свернуть все

Обрезать каждую последовательность, когда количество основ с качеством ниже 20 больше 3 в скользящем окне размера 25.

[outFile,nt,unt] =  seqtrim('SRR005164_1_50.fastq', 'Method', 'MaxNumberLowQualityBases', ...
                 'Threshold', [3 20], 'WindowSize', 25);

Проверьте количество обрезанных последовательностей.

nt
nt = 36

Проверьте количество неразрешенных последовательностей.

unt
unt = 14

Обрежьте первые 10 основы каждой последовательности.

[outfile,nt] = seqtrim('SRR005164_1_50.fastq','Method','Termini', ...
                     'Threshold',[10 0]);

Обрезать последние 5 основы.

[outfile,nt] = seqtrim('SRR005164_1_50.fastq','Method','Termini', ...
                     'Threshold',[0 5]);

Обрезайте каждую последовательность в положении 50.

[outfile,nt] = seqtrim('SRR005164_1_50.fastq','Method','BasePositions', ...
                     'Threshold',[1 50]);

Обрезайте каждую последовательность, когда текущее среднее качество базы становится меньше 20.

[outFile,nt,unt] = seqtrim('SRR005164_1_50.fastq','Method','MeanQuality', ...
     'Threshold',20)

Обрезать каждую последовательность, когда процент основ с качеством ниже 10 больше 15.

[outFile,nt,unt] = seqtrim('SRR005164_1_50.fastq','Method','MaxPercentLowQualityBases', ...
     'Threshold',[15 10])

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

свернуть все

Имена FASTQ-форматированных файлов с информацией о последовательности и качестве, заданные как вектор символов, строка, строковый вектор или массив ячеек векторов символов.

Пример: 'SRR005164_1_50.fastq'

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

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

Пример: 'Method','MaxNumberLowQualityBases','Threshold',[3 20] задает, чтобы обрезать каждую последовательность, когда количество основ с качеством ниже 20 больше 3.

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

  • 'MaxNumberLowQualityBases'- применяет максимальный порог от количества низкокачественных основ, разрешенных перед обрезкой последовательности, начиная с 5' конец.

  • 'MaxPercentLowQualityBases'- применяет максимальный порог для процента низкокачественных основ, разрешенных перед обрезкой последовательности, начиная с 5' конец.

  • 'MeanQuality'- применяет минимальный порог выполняемого среднего базового качества, позволенный перед обрезкой последовательности, начиная с 5' конец.

  • 'BasePositions'- обрезает каждую последовательность согласно базовым положениям (первая основа и последнее основание), начиная с 5' конец.

  • 'Termini'- обрезает каждую последовательность из любого из 5' или 3' конец или с обоих концов.

Используйте этот аргумент пары "имя-значение" вместе с 'Threshold' для определения соответствующего порогового значения. В зависимости от критерия обрезки, соответствующее значение для 'Threshold' изменяется. Смотрите 'Threshold' опция для значений по умолчанию.

Примечание

Последовательности, приводящие к пустым последовательностям после обрезки, сохраняются в выходных файлах как пустые последовательности. Чтобы удалить пустые последовательности из файлов, используйте seqfilter функция со 'MinLength' набор опций равен значению 1.

Пример: 'Method','MaxNumberLowQualityBases','Threshold',[5 15]

Пороговое значение для критерия обрезки, заданное в виде скаляра или вектора. Используйте эту пару "имя-значение", чтобы задать пороговое значение для критерия обрезки, заданного 'Method'.

В зависимости от критерия обрезки, соответствующее значение для 'Threshold' может быть скалярным или двухэлементным вектором. Если вы не задаете 'Threshold'затем функция использует пороговое значение по умолчанию соответствующего метода. Для каждого критерия обрезки функция использует формат кодирования базового качества, заданный 'Encoding' аргумент пары "имя-значение".

'Method''Threshold'Значения по умолчанию 'Threshold' значение
'MaxNumberLowQualityBases'Двухэлементный векторный [V1 V2]. V1 является неотрицательным целым числом, которое задает максимальное количество низкокачественных основ, разрешенных перед обрезкой. V2 задает минимальное базовое качество. Любая основа с качеством менее V2 считается низкокачественной основой. [0 10]
'MaxPercentLowQualityBases'Двухэлементный векторный [V1 V2]. V1 является скаляром от 0 до 100, который задает максимальный процент низкокачественных основ, разрешенный перед обрезкой. V2 задает минимальное базовое качество. Любая основа с качеством менее V2 считается низкокачественной основой.[0 10]
'MeanQuality'Положительная скалярная величина, который задает минимальный порог выполняемого среднего базового качества, позволенный перед обрезкой последовательности, начиная с 5' конец. 0
'BasePositions'

Двухэлементный векторный [V1 V2], где V1 и V2 являются положительными целыми числами, определяющими основные положения, чтобы начать обрезку в 5' конец и 3' конец, соответственно.

Чтобы обрезать только 5' конец каждой последовательности перед V1 положения используйте [V1 Inf].

Чтобы обрезать только 3' конец каждой последовательности после V2 положения используйте [1 V2].

[1 Inf], то есть каждая последовательность остается неразрешенной.
'Termini'

Двухэлементный векторный [V1 V2], где V1 и V2 являются неотрицательными целыми числами, определяющими количество основ для обрезки в 5' конец и 3' конец, соответственно.

Чтобы обрезать V1 основ в 5' только конец, использование [V1 0].

Чтобы обрезать V2 основ в 3' только конец, использование [0 V2].

[0 0], то есть каждая последовательность остается неразрешенной.

Пример: 'Method','MaxPercentLowQualityBases','Threshold',[10 20]

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

Скользящее окно может быть применено к следующим методам:

  • 'MaxNumberLowQualityBases',

  • 'MaxPercentLowQualityBases', и

  • 'MeanQuality'.

Примечание

Последовательности короче, чем размер окна, сохраняются в файле выхода как пустые последовательности. Чтобы удалить пустые последовательности из файлов, используйте seqfilter функция со 'MinLength' набор опций равен значению 1.

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

Базовый формат кодирования качества, заданный как вектор символов или строка.

Пример: 'Encoding','Sanger'

Относительный или абсолютный путь к выходу файлу директории, заданный как вектор символов или строка. По умолчанию это текущая директория.

Пример: 'OutputDir','F:\results'

Суффикс для использования в имени выходного файла, заданный как вектор символов или строка. Оно вставляется после входа файла и перед расширением файла. Значение по умолчанию является '_trimmed'.

Пример: 'OutputSuffix','_WindowSize10_trimmed'

Логическое значение, указывающее, выполнять ли расчеты параллельно, задается как true или false.

Для параллельных вычислений необходимо иметь Toolbox™ Parallel Computing. Если параллельный пул не существует, он создается автоматически, когда опция автоматического создания включена в ваших параллельных настройках. В противном случае расчет выполняется в последовательном режиме.

Примечание

  • Существует стоимость, связанная с совместным использованием больших входных файлов между работниками в распределённом окружении. В некоторых случаях параллельная работа может быть неэффективной с точки зрения эффективности.

  • Во время параллельных расчетов работа делится на файлы, а не на последовательности, что означает, что для одного большого файла параллельная работа не имеет значения.

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

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

свернуть все

Выходы файлов, возвращенные как массив ячеек из векторов символов.

Количество последовательностей, обрезанных из каждого файла входов, возвращенных в виде скаляра или n -by- 1 вектор, где n количество файлов входа. Если существует несколько входных файлов, порядок в nSeqTrimmed соответствует порядку входных файлов.

Количество последовательностей, неразрешенных из каждого файла входов, возвращенных в виде скаляра или n -by- 1 вектор, где n количество файлов входа. Если существует несколько входных файлов, порядок в nSeqUntrimmed соответствует порядку входных файлов.

Расширенные возможности

См. также

| |

Введенный в R2016b