Пожалуйста, проверьте, установлен ли и запущен ли у вас пакет dbus. Я не знаю, что в archlinux, в пакете ubuntu и gentoo это dbus, и чтобы убедиться, что он запущен: перезапуск службы dbus также убедитесь, что у вас установлены привязки python-dbus
sed 'N;N;N;/\n\n/d' file.fastq >new-file.fastq
Это считывает четыре строки записи FastQ, а затем проверяет, содержит ли она два последовательных символа новой строки. Если это так, вся запись игнорируется. Если это не так, он печатается. Это будет повторяться для всех записей в файле. Все напечатанные записи идут в новый файл (здесь new-file.fastq
).
Скрипт sed
с аннотациями:
# (implicit: read a line)
N; # read a second line, append it to the pattern space with embedded \n in-between
N; # read a third line
N; # read a fourth line
/\n\n/d # if there are two consecutive newlines, delete and continue from top
# (implicit: print)
Комментарий коллеги:
Fastq records are often paired, and software tends to throw a fit when pair mates are not found without explicitly telling it mates are missing. Several tools have a minimum length option like trimmomatic that will keep pairing, and separate orphaned records.
Это означает, что если чтения в вашем файле являются парными, и одна из пар пуста, вы испортите пару, просто удалив пустую запись.
Удаление сопряжения пустого чтения было бы намного сложнее, если бы не использовались уже существующие инструменты биоинформатики. С инструментами из стандартного набора инструментов Unix это, вероятно, будет включать сохранение пустых операций чтения в отдельный файл, а затем, используя их заголовки FastQ, сканирование и удаление соответствующих сопряжений.
Однако данные, показанные в вопросе, представляют собой только непарные чтения.