Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Call SNPs and indels from aligned reads using bcftools mpileup and call. Use when detecting variants from BAM files or generating VCF from alignments.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 80% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 105% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 92% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 104% | 0% |
<!--
#
#
-->
Call SNPs and indels from aligned reads using bcftools.
BAM file + Reference FASTA
|
v
bcftools mpileup (generate pileup)
|
v
bcftools call (call variants)
|
v
VCF filebashbcftools mpileup -f reference.fa input.bam | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa input.bam | bcftools call -mv -Oz -o variants.vcf.gz bcftools index variants.vcf.gz
bashbcftools mpileup -f reference.fa -r chr1:1000000-2000000 input.bam | \ bcftools call -mv -o region.vcf
bashbcftools mpileup -f reference.fa sample1.bam sample2.bam sample3.bam | \ bcftools call -mv -o variants.vcf
bash# bams.txt: one BAM path per line bcftools mpileup -f reference.fa -b bams.txt | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa \ -q 20 \ # Min mapping quality -Q 20 \ # Min base quality input.bam | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa -a DP,AD input.bam | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa \ -a FORMAT/DP,FORMAT/AD,FORMAT/ADF,FORMAT/ADR,INFO/AD \ input.bam | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa -R targets.bed input.bam | \ bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa -d 1000 input.bam | bcftools call -mv -o variants.vcf
| Flag | Model | Use Case | |------|-------|----------| | -m | Multiallelic caller | Default, recommended | | -c | Consensus caller | Legacy, single sample |
bashbcftools mpileup -f reference.fa input.bam | bcftools call -mv -o variants.vcf # -v outputs variant sites only (not reference calls)
bashbcftools mpileup -f reference.fa input.bam | bcftools call -m -o all_sites.vcf # Without -v, outputs all sites including reference
bash# Haploid calling bcftools mpileup -f reference.fa input.bam | bcftools call -m --ploidy 1 -o variants.vcf # Specify ploidy file bcftools mpileup -f reference.fa input.bam | bcftools call -m --ploidy-file ploidy.txt -o variants.vcf
bash# Adjust variant prior (default 1.1e-3) bcftools mpileup -f reference.fa input.bam | bcftools call -m -P 0.001 -o variants.vcf
bashbcftools mpileup -Ou -f reference.fa \ -q 20 -Q 20 \ -a FORMAT/DP,FORMAT/AD \ input.bam | \ bcftools call -mv -Oz -o variants.vcf.gz bcftools index variants.vcf.gz
bashbcftools mpileup -Ou -f reference.fa \ -a FORMAT/DP,FORMAT/AD \ sample1.bam sample2.bam sample3.bam | \ bcftools call -mv -Oz -o cohort.vcf.gz bcftools index cohort.vcf.gz
bashbcftools mpileup -Ou -f reference.fa \ -R targets.bed \ -a FORMAT/DP,FORMAT/AD \ input.bam | \ bcftools call -mv -Oz -o targets.vcf.gz
bashfor chr in chr1 chr2 chr3; do bcftools mpileup -Ou -f reference.fa -r "$chr" input.bam | \ bcftools call -mv -Oz -o "${chr}.vcf.gz" & done wait # Concatenate results bcftools concat -Oz -o all.vcf.gz chr*.vcf.gz bcftools index all.vcf.gz
| Tag | Description | |-----|-------------| | DP | Total read depth | | AD | Allelic depths | | MQ | Mapping quality | | FS | Fisher strand bias | | SGB | Segregation based metric |
| Tag | Description | |-----|-------------| | GT | Genotype | | DP | Read depth per sample | | AD | Allelic depths per sample | | ADF | Forward strand allelic depths | | ADR | Reverse strand allelic depths | | GQ | Genotype quality | | PL | Phred-scaled likelihoods |
bashbcftools mpileup -f reference.fa \ -a FORMAT/DP,FORMAT/AD,FORMAT/SP,INFO/AD \ input.bam | bcftools call -mv -o variants.vcf
bashbcftools mpileup -f reference.fa --threads 4 input.bam | \ bcftools call -mv --threads 4 -o variants.vcf
bashbcftools mpileup -Ou -f reference.fa input.bam | bcftools call -mv -Ou | \ bcftools filter -Oz -o filtered.vcf.gz
| Task | Command | |------|---------| | Basic calling | bcftools mpileup -f ref.fa in.bam \| bcftools call -mv -o out.vcf | | With quality filter | bcftools mpileup -f ref.fa -q 20 -Q 20 in.bam \| bcftools call -mv | | Region | bcftools mpileup -f ref.fa -r chr1:1-1000 in.bam \| bcftools call -mv | | Multi-sample | bcftools mpileup -f ref.fa s1.bam s2.bam \| bcftools call -mv | | With annotations | bcftools mpileup -f ref.fa -a DP,AD in.bam \| bcftools call -mv |
| Error | Cause | Solution | |-------|-------|----------| | no FASTA reference | Missing -f | Add -f reference.fa | | reference mismatch | Wrong reference | Use same reference as alignment | | no variants called | Low quality/depth | Lower quality thresholds |
<!-- AUTHOR_SIGNATURE: 9a7f3c2e-MD-BABU-MIA-2026-MSSM-SECURE -->
Other measured skills in the registry, with their headline benchmark lift.