exponenta event banner

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