Обычно эта операция называется deinterlace fastq
или deinterleave fastq
. На этот вопрос уже есть ответ:
deinterleave fastq file https://www.biostars.org/p/141256/
Я копирую его здесь, с небольшим переформатированием для ясности:
paste - - - - - - - - < interleaved.fq \
| tee >(cut -f 1-4 | tr "\t" "\n" > read1.fq) \
| cut -f 5-8 | tr "\t" "\n" > read2.fq
Эта команда преобразует чересстрочный файл fastq в tsv-файл с 8 столбцами, вырезает столбцы 1-4 (чтение 1 строки), меняет формат с tsv на fastq (заменяя вкладки на новые строки) и перенаправляет вывод в read1.fq
. В том же потоке STDOUT (для скорости), используя tee
, он обрезает столбцы 5-8 (чтение 2 строк) и т. Д. c и перенаправляет вывод в read2.fq
.
. Вы также можете используйте эти инструменты командной строки :
iamdelf / deinterlace: деинтерлейсирует парные файлы FASTQ в файлы первой и второй цепей. https://github.com/iamdelf/deinterlace
деинтерлейсинг файлов FASTQ https://gist.github.com/nathanhaigh/3521724
Или интерактивные инструменты с веб-интерфейсом Galaxy, например, этот инструмент: " Разветвитель FASTQ на соединенном парном конце читает ", установленный на нескольких публичных c экземплярах Galaxy, таких как https://usegalaxy.org/.
Избегайте использования регулярных выражений для простого разбора файла fastq, если вы можете использовать номера строк, как для скорости (сопоставление с образцом медленнее простого подсчета), так и для надежности.
Весьма маловероятно, но шаблон, подобный ^@.*/1$
(или тому, на что читатели могут его изменить, при повторном использовании этого кода позже) может также соответствовать линии базового качества. Хорошее общее правило - просто полагаться на fastq spe c, в котором говорится 4 строки на запись.
Обратите внимание, что символы @
, /
, 1
и 2
допускаются в Оценка Иллюмината Фреда: https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/QualityScoreEncoding_swBS.htm.
Однострочник, который вытягивает такие (по общему признанию, очень редкие) чтения, оставлен читателю в качестве упражнения.