Introduction, downloads
S: 24 Oct 2026 (b.1.2)
Recent version history
What's new?
Coming next
[Jump to search box]
General usage
Getting started
Flag usage summaries
Column set descriptors
Citation instructions
Standard data input
PLINK 1 binary (.bed)
PROVISIONAL_REF?
PLINK 2 binary (.pgen)
Autoconversion behavior
VCF/BCF (.vcf[.gz], .bcf)
Oxford genotype (.bgen)
Oxford haplotype (.haps)
EIGENSOFT binary
BIMBAM Mean Genotype
23andMe text
PLINK 1 text (.ped, .tped)
PLINK 1 dosage
Sample ID conversion
Dosage import settings
Generate random
Unusual chromosome IDs
Recombination map
Allele frequencies
Phenotypes
Covariates
'Cluster' import
Variant sets
Reference genome (.fa)
Input filtering
Sample ID file
Variant ID file
Interval-BED file
Set membership
Attribute-based
--extract-col-cond
QUAL, FILTER, INFO
Chromosomes
SNPs only
Palindromic SNPs
Simple variant window
Multiple variant ranges
Deduplicate variants
Sample/variant thinning
Pheno./covar. condition
Missingness
Category subset
--keep-col-match
Missing genotypes
Same-indiv selection
Number of distinct alleles
Allele frequencies/counts
Hardy-Weinberg
Imputation quality
Mendel errors
Sex
Founder status
Relationships
Main functions
Data management
--make-[b]pgen/--make-bed
--export
--output-chr
--zero-cluster
--split-par/--merge-par
--set-me-missing
--set-all-var-ids
--recover-var-ids
--update-map...
--update-ids...
--flip
--flip-scan
--ref-allele
--ref-from-fa
--normalize
--indiv-sort
--write-covar
--variance-standardize
--quantile-normalize
--split-cat-pheno
--pheno-svd
--pmerge[-list]
--write-samples
--info-to-cols
Basic statistics
--freq
--geno-counts
--sample-counts
--missing
--genotyping-rate
--test-mishap
--hardy
--mendel
--het
--check-sex/--impute-sex
--fst
--pgen-info
Pairwise diffs
--pgen-diff
--sample-diff
Linkage disequilibrium
--indep...
--r[2]-[un]phased
--ld
--ld-score
--show-tags
--blocks
Sample-distance matrices
Identity-by-state/Hamming
(--distance...)
Relationship/covariance
(--make-grm-bin...)
--make-king...
--king-cutoff
Runs of homozygosity
Population stratification
--pca
PCA projection
--neighbour
Association analysis
--glm
--glm ERRCODE values
--gwas-ssf
--test-missing
--adjust-file
Monte Carlo permutation
Family-based association
--tucc
Report postprocessing
--clump
--gene-report
--meta-analysis
Epistasis
--epistasis-boost
--epistasis
--twolocus
Linear scoring
--score[-list]
--variant-score
Distributed computation
Command-line help
Bundled utilities
ldsc
mtag
vcf_subset
Miscellaneous
Flag/parameter reuse
System resource usage
--loop-cats
.zst decompression
Pseudorandom numbers
Warnings as errors
.pgen validation
Resources
1000 Genomes phase 3
HGDP-CEPH
FASTA files
Errors and warnings
Output file list
Order of operations
Developer information
GitHub root
Python library
R library
Compilation
Adding new functionality
Discussion forums
Credits
File formats
Tutorials
Setup
Rules of Thumb
Data Exploration 1 — HWE, Allele Frequency Spectrum
Data Exploration 2 — Genomic Structure
Linkage
Relationship Matrix
Genome-Wide Assocation Analyses (GWAS)
Regressions
Post-Hoc
Formatting Files
bcftools
Variant IDs
Reference Alleles
Format for R
Shortcuts
Quick index search
Order of operations
If --zst-decompress present, decompress file to stdout and
QUIT
Load additional commands from --script
Apply --rerun
If --help present, print requested help entries and QUIT
If --version present, print version and QUIT
Apply --silent
Apply --out , start logging
Define chromosome set (--chr-set , --cow ...; human if unspecified)
Parse remaining command line flags in lexicographic order
Note chromosome filter (--chr , --not-chr , --autosome , --autosome-par )
Handle nonstandard input:
--adjust-file , --gene-report , --gwas-ssf , --meta-analysis standalone jobs
--info-to-cols standalone job (only if no variant filter)
If --pgen-info with no .pvar file provided, scan header, print basic info, and QUIT
Convert VCF (--vcf ), BCF (--bcf ), Oxford dosage (--bgen , --data/--gen ), Oxford haplotype (--haps ), EIGENSOFT (--eigfile/--eiggeno ), 23andMe (--23file ), BIMBAM (--mgf ), PLINK 1 text (--pedmap/--ped , --tfile/--tped ), PLINK 1 dosage (--import-dosage ), or PLINK 1 long-format (--lfile/--lgen ) data to PLINK 2 binary, then QUIT if no other commands
Generate random dataset (--dummy )
Merge filesets (--pmerge , --pmerge-list ; --set-all-var-ids/--set-missing-var-ids applied to all inputs at the start if necessary)
Read main sample-info file, if necessary:
Check for duplicate sample IDs
Read main variant-info file, if necessary:
Exclude variants with multi-character allele codes (--snps-only )
Exclude palindromic SNPs (--exclude-palindromic-snps )
Apply #-of-distinct-alleles filters (--min-alleles , --max-alleles )
Apply QUAL/FILTER/INFO variant filters (--var-min-qual , --var-filter , --extract-if-info , --exclude-if-info , --require-info , --require-no-info )
Assign chromosome-and-position-based names to variants (--set-all-var-ids , --set-missing-var-ids )
Split or merge pseudoautosomal region (--split-par , --merge-par , --merge-x )
Zero out centimorgan positions (--zero-cms )
Read main genotype file's header (--[b]pfile , --bfile , or freshly autoconverted)
Transpose PLINK 1 sample-major .bed, if necessary
Validate genotype file (--validate ), then QUIT if no other commands
Print basic information about .pgen (--pgen-info ), then QUIT if no other commands
Apply "--make-founders first"
Load/create additional phenotypes (--pheno , --within , --family , --make-pheno )
Ignore phenotypes (--not-pheno )
Check for duplicate allele codes, if necessary
Select single variant range by ID (--from , --to , --snp , --exclude-snp , --window , --from-bp ...)
Select multiple variant ranges by ID (--snps , --exclude-snps )
Update variant information (--recover-var-ids , --cm-map , --update-map , --update-name )
Update allele information (--update-alleles )
Flip strand (--flip )
Extract/exclude variants by ID list(s) or intervals (--extract , --exclude , --extract-intersect )
Filter variants by attributes (--attrib )
Extract variants based on text column string/substring match or range condition (--extract-fcol )
Validate obligatory missing genotypes (--oblig-missing )
Deduplicate variants (--rm-dup )
Filter variants by position (--from-bp , --to-bp , --extract bed0 , ...)
Recode alleles to 1234/ACGT (--allele1234 , --alleleACGT )
Random thinning of variant set (--thin , --thin-count )
Update sample information (--update-ids , --update-parents , --update-sex )
Keep/remove samples by ID or ID list(s) (--keep , --remove , --keep-fam , --remove-fam , --indv )
Filter samples by attributes (--attrib-indiv )
Filter samples based on text column string match (--keep-fcol )
Filter samples based on phenotype existence (--require-pheno )
Filter based on sex and/or founder status (--keep-males ...)
Random thinning of sample set (--thin-indiv , --thin-indiv-count )
Calculate per-sample genotyping rate, remove samples below threshold (--mind )
Select one sample out of each same-FID-and-IID group (--select-sid-representatives )
Set founder status for samples with missing parent(s) (--make-founders )
Load covariates (--covar )
Ignore covariates (--not-covar )
Filter samples based on covariate existence (--require-covar )
Filter samples based on phenotype/covariate conditions (--keep-if , --remove-if , --keep-cats , ...)
Report remaining sample/sex/founder counts
Convert scalar phenotype to case/control (--tail-pheno )
Split categorical phenotypes/covariates (--split-cat-pheno )
Quantile-normalize phenotypes/covariates (--quantile-normalize , --pheno-quantile-normalize , --covar-quantile-normalize )
Variance-standardize phenotypes/covariates (--variance-standardize , --covar-variance-standardize )
Generate low-rank approximation of input phenotype matrix (--pheno-svd )
Loop over categories (--loop-cats )
Write sample IDs (--write-samples ), then QUIT (or advance to next --loop-cats category) if no other commands
Detect outliers in preexisting PCA output (--neighbour + --read-eigvec ), then QUIT (or advance to next --loop-cats category) if no other commands
Main variant filters:
Load allele frequencies (--read-freq )
Calculate needed allele/genotype frequencies
Report overall genotyping rate (--genotyping-rate )
Write allele/genotype frequencies to file (--freq , --geno-counts ), then QUIT if no other commands
Generate missing data reports (--missing ), then QUIT if no other commands
Remove variants below genotyping rate threshold (--geno )
Hardy-Weinberg equilibrium report and/or exact test (--hardy , --hwe ), then QUIT if no other commands
Apply minor allele frequency and count filters (--maf , --max-maf , --mac , --max-mac )
Apply imputation-quality filter (--mach-r2-filter )
Enforce minimum spacing (--bp-space )
Report remaining variant count
Scan for and/or filter on Mendel errors (--mendel , --me )
Extract variants based on set membership (--gene , --gene-all ; these commands execute their own instance of "Define sets" / "Invert sets")
Report sample variant-counts by type (--sample-counts )
Report sample-pair discordances (--sample-diff )
Calculate kinship matrix, if necessary
Perform kinship-based pruning of samples (--king-cutoff )
Write kinship matrix/table to disk (--make-king , --make-king-table )
Calculate variance-standardized relationship matrix, if necessary
Write relationship matrix to disk (--make-rel , --make-grm-list , --make-grm-bin )
Calculate and write distance matrices (--distance )
Extract principal components (--pca ), detect outliers (--neighbour )
Impute sexes from chrX/chrY genotype calls (--check-sex , --impute-sex )
Create pseudo case/control units from trio data (--tucc )
Write permuted phenotype table (--make-perm-pheno )
Write INFO-column TSV file if variant-subset applied (--info-to-cols )
Write .snplist file (--write-snplist )
Write .var.ranges file (--write-var-ranges )
Write .indel file (--list-23-indels )
Change REF/ALT alleles (--maj-ref , --ref-allele , --alt-allele , --alt1-allele , --ref-from-fa )
Left-normalize alleles (--normalize )
Write .cov file (--write-covar ; also induced by --make-pgen, --export, and similar commands)
Write PLINK 1 or 2 binary fileset, first updating chromosome information if necessary (--make-[b]pgen , --make-bed , --make-just-pvar , --make-just-psam , --make-just-bim , --make-just-fam , --update-chr )
Export genotype data to other formats (--export )
Define sets (--set , --make-set , --subset , --set-collapse-all )
Invert sets (--complement-sets )
Write .set.table file (--set-table )
Write .set file (--set )
Compare two filesets (--pgen-diff )
Two-locus genotype count report (--twolocus )
Generate list of tagging variants (--show-tags )
Estimate haplotype blocks (--blocks )
Generate runs-of-homozygosity reports (--homozyg )
Perform LD-based pruning (--indep , --indep-pairwise , --indep-pairphase )
Display LD statistics for a single pair of variants (--ld )
Write LD-statistic matrix/table to disk (--r[2]-[un]phased )
LD Score computation (--ld-score )
Missing status vs. flanking haplotype association test (--test-mishap )
F inbreeding coefficient report (--het )
FST fixation index report (--fst )
Perform epistasis tests (--epistasis-boost , --epistasis )
Apply linear scoring system(s) to each sample (--score , --score-list )
Apply linear scoring system(s) to each variant (--variant-score )
Multi-covariate association test (--glm )
Reformat new association test results (--gwas-ssf )
Missing status vs. case/control phenotype association test (--test-missing )
If --loop-cats, select next category and jump back to "Loop over categories" step, if any categories left
Organize association reports into LD-based clumps (--clump )
Definitely QUIT
Developer information >>