상식적으로 이해가 되지 않는다. fastq file 안에 들어 있는 read의 수를 아무리 헤아려 봐도 34,165,827개이다. tophat 결과 디렉토리에 들어 있는 정보 파일도 거짓말을 하지 않는다.
$ cat prep_reads.info
min_read_len=40
max_read_len=40
reads_in =34165827
reads_out=34129283
그런데,
$ samtools flagstat accepted_hits.bam
54565324 + 0 in total (QC-passed reads + QC-failed reads)
0 + 0 duplicates
54565324 + 0 mapped (100.00%:-nan%)
0 + 0 paired in sequencing
0 + 0 read1
0 + 0 read2
0 + 0 properly paired (-nan%:-nan%)
0 + 0 with itself and mate mapped
0 + 0 singletons (-nan%:-nan%)
0 + 0 with mate mapped to a different chr
0 + 0 with mate mapped to a different chr (mapQ>=5)
이건 도무지 말이 되지 않는다. spliced alignment를 했으므로, 혹시 하나의 read가 여러 곳에 나뉘어 정렬한 경우 이것이 SAM file 안에서 별도의 line으로 취급되나 싶어서 다시 한 번 점검을 해 보았다. read name을 추출하여 만일 중복이 있다면 이를 제거하고 그 수를 센다.
$ samtools view -F 0x004 accepted_hits.bam | awk '{print $1}' | uniq | wc -l
54565305
으헉! 미치겠군.
2019년 8월 6일 업데이트
당시에는 multiple mapping에 대해서 별로 진지하게 생각해 보지 않았었다. 부끄러운 일이다!
댓글 없음:
댓글 쓰기