domains / families / science / joint-calling
Joint genotype a cohort of per-sample gVCFs with GATK (HaplotypeCaller -ERC GVCF -> GenomicsDBImport or CombineGVCFs -> GenotypeGVCFs) or GLnexus for DeepVariant gVCFs, producing a squared-off sample-by-site genotype matrix. Use when deciding between joint genotyping and merging single-sample callsets (never bcftools merge as absent==hom-ref), choosing GenomicsDBImport vs CombineGVCFs by cohort size and memory, solving the N+1 problem so a new sample does not force re-calling everyone, understanding cohort rescue of low-coverage het sites, handling the spanning-deletion star allele and GQ/PL recomputation at the joint step, scaling to biobank cohorts by interval sharding, or picking DeepVariant+GLnexus over the GATK path on throughput. Not for single-sample calling (see variant-calling/gatk-variant-calling) or VQSR/hard-filter mechanism (see variant-calling/filtering-best-practices).
The two skills cover the same GATK joint-calling pipeline but have distinct, non-overlapping material. The first copy is a procedural runbook with specific commands for CombineGVCFs, GenomicsDBImport, GenotypeGVCFs, and VQSR/Hard Filtering. The second copy is a conceptual guide that adds the GLnexus/DeepVariant alternative, explains the 'N+1' problem, and provides critical warnings about the difference between joint genotyping and merging VCFs (the `./.` vs `0/0` distinction). Neither copy contains the other's unique steps or constraints, so crowning one would hide a real alternative workflow (GLnexus) and important theoretical context.