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.

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

Примечание

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

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

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

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

свернуть все

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

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

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

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

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

| |

Введенный в R2017b