2017-02-17 17 views
0

어떻게 페어 엔드 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") 
     } 

을 할 수있는, 어떻게 든 두 파일이 서로

잘 대응을 계속하도록 두 번째 파일을 추적 할 필요가

답변

0

일반적으로 페어 엔드 fastq 파일이 주문됩니다.

따라서 제거 된 줄을 추적하여 쌍 파일에서 제거 할 수 있습니다. 그러나 이것은 훌륭한 방법은 아니며 데이터가 줄 바꿈 된 경우 고통에 빠지게됩니다.

더 좋은 방법은 헤더 정보을 사용하는 것입니다. 두 파일이 판독 역방향 또는 순방향 (1 또는 2) ... 여부를 지정 필드를 제외하고, 동일의 쌍에 대한

헤더는 판독

파일 1

1 판독 : @ M02621 : 7 : 000,000,000-ARATH : 1 : 1101 : 15643 : 1043 1 : N : 0 : 12

파일

1 판독 2 M02621 @ 7 : 1101 : 15643 : 000,000,000-ARATH 1 1,043 2 : N : 0 : 12

숫자 1101 : 15643 : 1043은 각각 해당 타일의 타일 및 x, y 좌표를 나타냅니다.

이 숫자는 주어진 실행에 대해 각 읽기 쌍을 고유하게 식별합니다. 이 정보를 사용하여 첫 번째 파일에없는 경우 두 번째 파일에서 읽기를 제거 할 수 있습니다.

품질 트리밍을 수행하는 경우 ... Trimmomatic은 쌍방향 데이터에서 품질/길이 필터링을 수행 할 수 있으며 빠른 속도입니다.