зацикливание на парных чтениях end fastq

Как вы можете перебрать файл fastq с парным концом? Для чтения с одного конца вы можете сделать следующее

library(ShortRead)
strm <- FastqStreamer("./my.fastq.gz")
repeat {
       fq <- yield(strm)
       if (length(fq) == 0)
     break
       #do things
       writeFasta(fq, 'output.fq', mode="a")
       }

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


person user3067923    schedule 17.02.2017    source источник


Ответы (1)


Парные файлы fastq обычно заказываются,

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

Лучше использовать информацию заголовка.

Заголовки для парного чтения в двух файлах идентичны, за исключением поля, которое указывает, является ли чтение обратным или прямым (1 или 2)...

первое чтение из файла 1: @M02621:7:000000000-ARATH:1:1101:15643:1043 1:N:0:12

первое чтение из файла 2 @M02621:7:000000000-ARATH:1:1101:15643:1043 2:N:0:12

Числа 1101:15643:1043 относятся к плитке и координатам x, y на этой плитке соответственно.

Эти номера однозначно идентифицируют каждую пару считывания для данного запуска. Используя эту информацию, вы можете удалить чтения из второго файла, если их нет в первом файле.

В качестве альтернативы, если вы выполняете качественную обрезку... Trimmomatic может выполнить обрезку по качеству/длине фильтрация парных данных, и это быстро...

person Colin Anthony    schedule 08.03.2017