← All methods
Data QC

Data Quality Control (Missingness, MAF, HWE)

Catch bad markers and bad samples before they corrupt downstream analysis.

How it works

Every genomics pipeline lives or dies by QC. We compute per-marker missingness, minor allele frequency (MAF), and Hardy–Weinberg equilibrium p-values, plus per-sample missingness and heterozygosity. We flag outliers and apply user-configurable filters before any GWAS or genomic-selection run.

Formula

MAF = min(p, 1−p). HWE χ² = Σ (observed − expected)² / expected, with expected from Hardy–Weinberg proportions.

What you get

  • Per-marker MAF, missingness, and HWE p-value distributions
  • Per-sample missingness and heterozygosity outliers
  • Filtered marker and sample lists

When to use it

  • On every new genotype dataset, immediately after upload
  • Before running GWAS, GS, or population-structure analyses
  • When troubleshooting unexpected results from downstream modules

Inputs

Genotype matrix
VCF / HapMap / numeric CSV

Parameters

NameDefaultDescription
Marker call-rate≥ 0.95Drop markers missing in more than 5% of samples.
Sample call-rate≥ 0.90Drop samples missing in more than 10% of markers.
MAF≥ 0.05Filter rare variants that inflate downstream noise.
HWE p≥ 1e−6Flag markers deviating strongly from HWE; investigate before dropping.
Heterozygosity±3σSample heterozygosity outliers likely reflect contamination.

Workflow

  1. 1. Compute per-marker stats
    MAF, call-rate, HWE p across all samples.
  2. 2. Compute per-sample stats
    Call-rate and heterozygosity across all markers.
  3. 3. Preview filters
    Interactive preview shows how many markers/samples each threshold drops.
  4. 4. Apply & snapshot
    Filtered matrix stored as an immutable QC snapshot for downstream reruns.

Interpreting results

  • MAF distribution skewed to zero = ascertainment bias in the array or over-imputed rare variants.
  • Heterozygosity outliers cluster at contamination events — check sample IDs against the plate layout.
  • HWE deviations in a subpopulation are expected; run QC per subpopulation on structured panels.

Common pitfalls

  • Over-filtering HWE strips real selection signal; treat HWE as a flag, not an automatic drop.
  • QC on a merged multi-origin panel drops markers that are fine within each origin.

Worked example

Rice-413 fresh upload
413 lines × 44k markers. Defaults drop 1,842 markers (call-rate) + 3 samples (heterozygosity). Diff panel shows exactly which markers move between reruns.

Try it — interactive example

Preview how QC thresholds trim your genotype matrix before analysis.

Expected outputs
Markers retained
42500 / 50000
Samples retained
490 / 500
Analysis matrix size
490 × 42500
Rows × columns after QC.

Numbers are quick analytical estimates for planning — actual runs incorporate the full data, covariates, and QC pipeline.

References

Run Data QC on your data

Open the module and upload a CSV.

Open module