exponenta event banner

seqfilter

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

Описание

пример

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

пример

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

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

Примеры

свернуть все

Отфильтровывать последовательности с более чем 10% низкокачественных оснований, где основание считается низкокачественным, когда его показатель качества меньше 20.

 [outFile,in,out] = seqfilter('SRR005164_1_50.fastq',...
                              'Method','MaxPercentLowQualityBases',...
                              'Threshold',[10 20]) ;

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

in
in = 39

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

out
out = 11

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

[outFile,in,out] = seqfilter('SRR005164_1_50.fastq',...
                             'Method','MeanQuality',...
                             'Threshold',20); 

Используйте критерий фильтрации для каждых 10 оснований в качестве скользящего окна.

[outFile,in,out] = seqfilter('SRR005164_1_50.fastq',...
                             'Method','MeanQuality',...
                             'Threshold',20,'WindowSize',10); 

Отфильтровывать последовательности с менее чем 100 основаниями.

[outFile,in,out] = seqfilter('SRR005164_1_50.fastq',...
                             'Method','MinLength',...
                             'Threshold',100); 

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

свернуть все

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

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

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

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

Пример: 'Method','MaxNumberLowQualityBases','Threshold',[5 15] определяет фильтрацию последовательностей с общим количеством более 5 низкокачественных баз, где база считается низкокачественной базой, если ее показатель качества меньше 15.

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

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

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

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

  • 'MinLength'- применяет минимальное пороговое значение для длины последовательности.

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

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

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

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

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

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

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

Значение по умолчанию: Infто есть критерий фильтрации применяется ко всей последовательности.

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

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

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

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

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

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

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

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

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

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

Сохранение одиночных последовательностей в отдельном выходном файле, указанном как true или false. Чтобы установить для него значение true, 'PairedFiles' параметр также должен иметь значение true.

Одиночная последовательность - это последовательность, которая проходит критерий фильтрации, но соответствующая ей последовательность в парном файле не соответствует. true, singleton последовательности сохраняются в отдельном файле с суффиксом '_singleton'. Значение по умолчанию: falseэто означает, что в выходных файлах сохраняются только последовательности, которые проходят критерий фильтрации в обоих входных файлах данной пары.

Пример: 'PairedFiles',true,'WriteSingleton',true

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

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

Примечание

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

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

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

свернуть все

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

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

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

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

См. также

| |

Представлен в R2016b