Каждый из моих файлов fastq составляет около 20 миллионов операций чтения (или 20 миллионов строк).Теперь мне нужно разбить большие файлы fastq на куски, каждый из которых имеет только 1 миллион операций чтения (или 1 миллион строк), для удобства дальнейшего анализа.Файл fastq похож на .txt.
Я думаю, просто посчитать строку и распечатать строки после подсчета каждые 1 миллион строк.Но входной файл - это сжатая форма .gz (fastq.gz). Нужно ли сначала разархивировать файл?
Как мне это сделать с помощью python?
Я попробовал следующую команду:
zless XXX.fastq.gz |split -l 4000000 prefix
(сначала gzip, а затем разделить файл)
Однако, похоже, он не работает с префиксом (я пробовал) "-prefix", но все равно не работает.Кроме того, с помощью команды split вывод выглядит так:
prefix-aa, prefix-ab...
Если мой префикс XXX.fastq.gz
, то вывод будет XXX.fastq.gzab
, что приведет к разрушению формата .fastq.gz.
Итак, что мне нужно, это XXX_aa.fastq.gz, XXX_ab.fastq.gz (т.е. суффикс).Как я могу это сделать?