Skip to main content

Genetic diversity metrics from popoulation genomic datasets.

Project description

Pypgen provides various utilities for estimating standard genetic diversity measures including Gst, G’st, G’’st, and Jost’s D from large genomic datasets (Hedrick, 2005; Jost, 2008; Masatoshi Nei, 1973; Nei & Chesser, 1983). Pypgen operates both on individual SNPs as well as on user defined regions (e.g., five kilobase windows tiled across each chromosome). For the windowed analyses pypgen estimates the multi-locus versions of each estimator.


  • Handles multiallelic SNP calls

  • Allows a single VCF file to contain multiple populations

  • Operates on standard VCF (Variant Call Format) formatted SNP calls

  • Uses bgziped input for fast random access

  • Takes advantage of multiple processor cores

  • Calculates additional metrics:

    • snp count per window

    • mean read depth (+/- STDEV) per window

    • populations with fixed alleles per SNP

    • more as I think of them

Important Note:

PYPGEN IS STILL IN ACTIVE DEVELOPMENT AND ALMOST CERTAINLY CONTAINS BUGS. If you find a bug please file a report in the issues section of the github repository and I’ll address it as soon as I can.

Enclosed Scripts:

  • Sliding window analysis (

  • Per SNP analysis (



First install samtools. On OS X I recommend using homebrew to do this. Once you have samtools installed and available in terminal you can use either pip or setuptools to install the current release of pypgen:

pip install pypgen


easy_install pypgen

Alternately, if you like to live on the edge, you can clone and install the current development version from github.

pip install -e git+


More detailed documentation will be forthcoming, but in the meantime information about each script can be obtained by running:

python [script name].py --help


Note: this will probably change.

  • chrm = Name of chromosome

  • start = Starting position of window

  • stop = Ending position of window

  • snp_count = Total Number of SNPs in window

  • total_depth_mean = Mean read depth across window

  • total_depth_stdev = Standard deviation of read depth across window

  • Pop1.sample_count.mean = Mean number of samples per snp for ‘Pop1’

  • Pop1.sample_count.stdev = Standard deviation of samples per snp for - ‘Pop1’

  • Pop2.sample_count.mean = Mean number of samples per snp for ‘Pop2’

  • Pop2.sample_count.stdev = Standard deviation of samples per snp for ‘Pop2’

  • Pop2.Pop1.D_est = Multilocus Dest (Jost 2008)

  • Pop2.Pop1.G_double_prime_st_est = (Meirmans & Hedrick 2011)

  • Pop2.Pop1.G_prime_st_est = Standardized Gst (Hedrick 2005)

  • Pop2.Pop1.Gst_est = Fst corrected for sample size and allowing for multiallelic loci (Nei & Chesser 1983)

  • cont…

  • chrm = Name of chromosome

  • pos = Position of SNP

  • outgroups = Number of samples

  • Pop1 = Population ID

  • Pop1.Pop2.D_est= Multilocus Dest (Jost 2008)

  • Pop1.Pop2.G_double_prime_st_est = (Meirmans & Hedrick 2011)

  • Pop1.Pop2.G_prime_st_est = Standardized Gst (Hedrick 2005)

  • Pop1.Pop2.Gst_est = Fst corrected for sample size and allowing for multiallelic loci (Nei & Chesser 1983)

  • Pop1.Pop2.Hs_est

  • Pop1.Pop2.Ht_est

  • cont…,

  • Pop1_fixed = If a sample is fixed at a particular allele this flag is set to 1 (= “True” in binary).

  • cont…

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypgen-0.2.1.tar.gz (20.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page