Hi everybody,
My post is probably dedicated to people familiar with the samtools C API. I recently begun to work in NGS techs, and I am writing a little program that takes in input:
(1) The latest VCF file for 1094 individuals from 1000 genomes project (chr20).
(2) The BAM files corresponding to these 1094 individuals (chr20).
I use the samtools C API to parse the reads in the BAM files. In one of my test, I estimate the concordance between the heterozygous genotypes in the VCF file and the reads in the BAM files. For example, for an individual ABCDE at a SNP with position 123456 we have the genotype A/B, so I expect that a vast majority of the read will carry alleles A or B.
For reads from Illumina and 454, the concordance is good (<< 1% of discordance). However, for SOLID reads, the discordance is high (~ 4%). I filter the reads thanks to the flag BAM_DEF_MASK. When I look to the discordant allele, they usually are "N" alleles.
I know that with the level of details I gave, it will be impossible to precisely spot the problem I've made for SOLID reads. However I have related questions to the problem:
(A) Stupid question: what are exactly the "N" alleles?
(B) Do you think that this level of discordance is normal for SOLID reads?
(C) If yes, is that related to the way they determine the alleles (color space or something like that)?
(D) How to use the flags BAM_FREVERSE and BAM_FMREVERSE?
(E) I pair the reads when they have the same name extracted with bam1_qname function. Is there a more efficient way to do that?
Many thanks,
My post is probably dedicated to people familiar with the samtools C API. I recently begun to work in NGS techs, and I am writing a little program that takes in input:
(1) The latest VCF file for 1094 individuals from 1000 genomes project (chr20).
(2) The BAM files corresponding to these 1094 individuals (chr20).
I use the samtools C API to parse the reads in the BAM files. In one of my test, I estimate the concordance between the heterozygous genotypes in the VCF file and the reads in the BAM files. For example, for an individual ABCDE at a SNP with position 123456 we have the genotype A/B, so I expect that a vast majority of the read will carry alleles A or B.
For reads from Illumina and 454, the concordance is good (<< 1% of discordance). However, for SOLID reads, the discordance is high (~ 4%). I filter the reads thanks to the flag BAM_DEF_MASK. When I look to the discordant allele, they usually are "N" alleles.
I know that with the level of details I gave, it will be impossible to precisely spot the problem I've made for SOLID reads. However I have related questions to the problem:
(A) Stupid question: what are exactly the "N" alleles?
(B) Do you think that this level of discordance is normal for SOLID reads?
(C) If yes, is that related to the way they determine the alleles (color space or something like that)?
(D) How to use the flags BAM_FREVERSE and BAM_FMREVERSE?
(E) I pair the reads when they have the same name extracted with bam1_qname function. Is there a more efficient way to do that?
Many thanks,