Dear Biostar community,
I have a bwa mapping of metagenomic sequencing reads on assembled contigs. I also have a list of IDs of "interesting" contigs. Now I would like to subset the mapping (bam/sam file) to obtain a mapping (bam/sam file) that only contains my desired contigs. Do you know of any simpel way (samtools, picard tools, R, Scala/Java) to do so? Note please that creating a mapping with a reduced contig.fasta file is not an option for me.
Thank you in advance!
1 answer
samtools view -bh input.bam (should be sorted) contig_of_interest > output.bam
For example: samtools view -bh input.sorted.bam chr1 > output.bam . In case your contig of interest is named as chr1.
if you have more than one contig of interest then go for:
samtools view -h input.sorted.bam | awk '{if($3 == "chr1" || $3 == "chr2"){print $0}}' | samtools view -Sb - > output.bam. In case your contigs of interest are chr1 and chr2.
Log in to answer this question.