PyPop: Python for Population Genomics

PyPop (Python for Population Genomics) is an environment for doing large-scale population genetic analyses including:

  • conformity to Hardy-Weinberg expectations

  • tests for balancing or directional selection

  • estimates of haplotype frequencies and measures and tests of significance for linkage disequilibrium (LD).

PyPop is an object-oriented framework implemented in Python, but also contains C extensions for some computationally intensive tasks. Output of analyses are stored in XML format for maximum downstream flexibility. PyPop also has an internal facility for additionally aggregating the output XML and generating output tab-separated (TSV) files, as well as well as generating a default plain text file summary for each population.

Although it can be run on any kind of genotype data, it has additional support for analyzing population genotype with allelic nomenclature from the human leukocyte antigen (HLA) region.

An outline of PyPop can be found in our 2007 Tissue Antigens and 2003 PSB papers.

Installation and documentation

Documentation, including instructions on installing, using and interpreting output of PyPop, is contained in the PyPop User Guide.

Contact and questions

Please file all questions, support requests, and bug reports via our GitHub issue tracker. More details on how to file bug reports can be found in our contributors chapter of the User Guide. Please don’t email developers individually.

Source code

PyPop is free software (sometimes referred to as open source software) and the source code is released under the terms of the “copyleft” GNU General Public License, or GPL ( All source code is available and maintained on our GitHub website.

How to cite PyPop

If you write a paper that uses PyPop in your analysis, please cite both:

  1. our 2007 paper from Tissue Antigens:

    Lancaster AK, Single RM, Solberg OD, Nelson MP and G Thomson (2007) “PyPop update - a software pipeline for large-scale multilocus population genomics” Tissue Antigens 69 (s1), 192-197. [journal page, preprint PDF (112 kB)].

  2. and the Zenodo record for the software. Citation metadata for the current Zenodo record is stored in CITATION.cff It will be of the form and contain link to the DOI:

    Lancaster, AK et al. (2023) “PyPop: Python for Population Genomics” (Version 1.0.0) [Computer software].

    When you follow the DOI link to the Zenodo record, you will see all the versions listed on the right, make sure you choose the version-specific DOI that matches the specific version of PyPop in your citation.

Also available (but not necessary to cite), is our 2003 Pacific Symposium on Biocomputing paper:

  • Alex Lancaster, Mark P. Nelson, Richard M. Single, Diogo Meyer, and Glenys Thomson (2003) “PyPop: a software framework for population genomics: analyzing large-scale multi-locus genotype data”, in Pacific Symposium on Biocomputing vol. 8:514-525 (edited by R B Altman. et al., World Scientific, Singapore, 2003) [PubMed Central, PDF (344 kB)].

PyPop was originally developed for the analysis of data for the 13th International Histocompatiblity Workshop and Conference held in Seattle, Washington in 2002 ([Meyer:etal:2007], [Single:etal:2007a], [Single:etal:2007a]). For more details on the design and technical details of PyPop, please consult [Lancaster:etal:2003], [Lancaster:etal:2007a] and [Lancaster:etal:2007b].


This work has benefited from the support of NIH grant AI49213 (13th IHW) and NIH/NIAID Contract number HHSN266200400076C N01-AI-40076. Thanks to Steven J. Mack, Kristie A. Mather, Steve G.E. Marsh, Mark Grote and Leslie Louie for helpful comments and testing.

Supplementary data files

Population data files and online supporting materials for published studies listed in the [Solberg:etal:2008] meta-analysis paper.

PyPop is affiliated with, the Immunology Database and Analysis Portal. The ImmPort system provides advanced information technology support in the production, analysis, archiving, and exchange of scientific data for the diverse community of life science researchers supported by NIAID/DAIT. The development of the ImmPort system was supported by the NIH/NIAID Bioinformatics Integration Support Contract (BISC), Phase II.