Welcome to EggLib’s home page!

EggLib is a C++/Python library and program package for evolutionary genetics and genomics. Main features are sequence data management, sequence polymorphism analysis, and coalescent simulations. EggLib is a flexible Python module with a performant underlying C++ library and allows fast and intuitive development of Python programs and scripts.

Citation: De Mita S. and M. Siol. 2012. EggLib: processing, analysis and simulation tools for population genetics and genomics. BMC Genet. 13:27. Open access.

Current version: 3.0.0b21

Beta version: This is a beta version currently distributed in testing mode. EggLib v3 incorporates major improvements (many more diversity statistics, built-in non-synonymous/synonymous analysis of diversity, new features). A few features still need to be incoporated and much testing is still needed.
Beware that you might run into crashes or obtain incorrect results. If you face a crash of the library or if you obtain seemingly incorrect results (in particular a discrepancy between EggLib's output and statistics obtained with another program), we would be extremely grateful if you sent us information allowing to fix the error.
In particular, we recommend that you don't rely on results obtained with the classes ABC (which is not available by default) and Nnet. The following statistics provided by ComputeStats have not been tested yet: thetaIAM, thetaSMM, Dj (Jost's D), Gste, R3, R4, Ch, R2E, R3E, R4E, ChE, rD (shown to be incorrect), nPairs and nPairsAdj (but probably correct), Z*nS, and Z*nS*, as well as statistics addressing the rate of misorientation of sites (Baudry and Depaulis's paper).
The documentation for EggLib v2 is available here.


  • 2017, June 19: New beta of EggLib v3 (3.0.0b15).
  • 2016, July 17: New beta of EggLib v3 (3.0.0b8).
  • 2016, May 4: New beta of EggLib v3 (3.0.0b6).
  • 2016, March 4: Bug-fix release of EggLib v2 (2.1.11).
  • 2016, March 3: EggLib v3 is now in beta mode (3.0.0b1).
  • 2014, March 23: Bug-fix release of EggLib v2 (2.1.10). If Bio++ is used, Bio++ version 2.2.0 should be used.
  • 2014, Oct. 4: Bug-fix release of EggLib v2 (2.1.9).
  • 2014, Sept. 23: release of preliminary version 3.0.0a1 (alpha).

Main categories


The list below provides a directy access to the documentation for the different modules of EggLib:
Generic data holders directly accessible from the egglib namespace
Generic tools for processing data
Input/output operations
Diversity statistics
Coalescent simulator
Wrappers of external applications
Small module with minor utilities
C++ library--direct use is strongly discouraged!