seqtrim

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

Синтаксис

seqtrim(fastqFile)
seqtrim(fastqFile,Name,Value)
[outFiles,nSeqTrimmed,nSeqUntrimmed] = 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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.

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

Примечание

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

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

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

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

свернуть все

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

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

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

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

Смотрите также

| |

Введенный в R2017b