[Picard MarkDuplicates]Value was put into PairIntoMap more than once
Bioinformatics/Biological data analysis 2012. 2. 21. 14:59Picard를 이용하여 MarkDuplicates 를 수행하는 데 있어서,
"Value was put into PairIntoMap more than once" 라는 에러메시지가 발생하고 프로세스가 죽는 경우 입니다.
이 문제에 대해 해결할 수 있는 방안을 찾은 것 같습니다.
이 문제는 BAM파일 내의 리드 정보가 first read와 second read 사이의 flag 및 맵핑 위치 정보가 서로 맞지 않아 발생되는 오류로 확인하였습니다.
이것은 앞서 시도한 BWA -A 옵션을 줌으로써 mate에 대한 정보를 보정해주지 않는 것이 문제를 일으킨것 같습니다.
따라서 BWA -A 을 수행한 후에는
samtools fixmate input.bam output.bam
을 수행한 다음 이 output.bam 을 이용해 MarkDuplicates 를 수행하면 됩니다.
또 다른 경우로 밤파일들을 머지 한 데이터를 사용할 경우 머지한 밤파일내에 리드아이디가 중복해서 존재하게 되면 또한 위와 같은 에러가 발생합니다.
이러한 경우는 머지를 할때 samtools merge 를 사용할 경우입니다.
Picard의 MergeSamFiles.jar 를 이용하면 개발 bam들이 동일한 RG ID를 갖고 있으면, 자동으로 RG_ID 뒤에 ".1" 과 같이 숫자 인덱스를 만들어주게 됩니다. 보통 bioscope 등을 이용하여 맵핑한 bam 파일들은 RG_ID 가 default라는 명칭으로 되어 있습니다.
따라서 정리하면 위와 같은 에러메시지가 발생할 경우
1. "Value was put into PairIntoMap more than once" 와 함께 나타나는 리드 아이디가 중복해서 존재하는지 확인한다.
2. 중복해서 존재할 경우에는 merge 하는 툴을 Picard를 이용한다.
3. 중복해서 존재하지 않을 경우에는 samtools fixmate 를 실행한 후 재분석한다.
이상//
'Bioinformatics > Biological data analysis' 카테고리의 다른 글
[trio analysis] simple recessive (0) | 2012.03.13 |
---|---|
[trio analysis] compound heterozygous (0) | 2012.03.13 |
[bwa] BWA 페어링에서 속도가 현저히 늦을 경우 (0) | 2012.02.20 |
[hotspotter] hotspotter-1.2.1 설치 (0) | 2011.12.13 |
[gatk] Invalid sequence number 24 (0) | 2011.12.09 |