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.0b13

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), Nnet or Discretize.
The documentation for EggLib v2 is available here.


  • 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).
  • 2014, Sept. 23: Bug-fix release of EggLib v2 (2.1.8) handling a critical bug.

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!