domains / families / science / variant-calling
Call germline SNPs and indels from a BAM/CRAM with bcftools mpileup and call, and select the right calling engine for the job. Use when generating a VCF from aligned reads, choosing between bcftools, GATK HaplotypeCaller, DeepVariant, and DRAGEN, setting ploidy for haploid/organelle/polyploid/sex-chromosome calling, or deciding whether pileup-based calling is good enough versus a local-reassembly caller for indels and difficult regions. Not for cohort joint genotyping (see variant-calling/joint-calling), GATK-specific workflows (see variant-calling/gatk-variant-calling), deep-learning calling (see variant-calling/deepvariant), or somatic/low-VAF detection.
The two skills cover the same core task (calling variants from BAMs with bcftools) but differ in scope and critical guidance. The first copy is a procedural reference for bcftools commands, options, and pipelines. The second copy is a strategic guide that emphasizes engine selection (bcftools vs. GATK vs. DeepVariant vs. DRAGEN), explains the 'Governing Principle' of position-based vs. local-reassembly callers, and includes version compatibility checks. The second copy explicitly states it is not for joint calling or somatic detection, while the first copy provides detailed command-line examples for multi-sample and parallel calling that the second copy omits or defers to other skills. Combining them provides both the strategic decision-making framework and the specific execution details.