Main content

The polco tool enumerates extreme rays of polyhedral cones. It can also be used to enumerate vertices of polytopes, and for the dual problem, the enumeration of facets given the extreme points (aka convex hull). The Java tool currently supports two multi-core implementations of the double description method: standard and born/die (for details, see [1], [2] and background section).

For the computation of elementary flux modes (EFMs) – basic biochemical operation modes in metabolic networks – you might also want to consider the specialized efmtool instead.


The current version is 4.7.1 (4-Dec-2009) (JAR, 2.8 MB).
Source code: 4.7.1 (4-Dec-2009) (JAR, 2 MB) and on GitHub (TODO)


Redistribution and use in source and binary forms, with or without
modification, are permitted provided agreeing to the Simplified BSD Style License.


  1. Terzer M (2009) Large scale methods to enumerate extreme rays and elementary modes. ETH PhD Thesis. ETH e-collection, Book at Lulu: B/W, Color
  2. Terzer M, Stelling J (2010) Parallel Extreme Ray and Pathway Computation. Parallel Processing and Applied Mathematics, Part Ii. pp. 300-309. http://doi.org/10.1007/978-3-642-14403-5_32.
  3. Terzer M, Stelling J (2008) Large-scale computation of elementary flux modes with bit pattern trees. Bioinformatics 24: 2229-2235. http://doi.org/10.1093/bioinformatics/btn401.
  4. Terzer M, Stelling J (2006) Accelerating the computation of elementary modes using pattern trees. Algorithms in Bioinformatics, Proceedings. pp. 333-343. http://doi.org/10.1007/11851561_31.


  • Download the polco.jar (JAR, 2.8 MB) Java archive. It also contains all necessary library classes.
  • A Java VM (version 5 or newer) is required on your system.
  • For HDF5 support, also download the appropriate hdf-java binary (.dll or .so file)

Documentation & Sources

See documentation

Page URL: http://www.csb.ethz.ch/tools/software/polco.html
© 2017 Eidgenössische Technische Hochschule Zürich