Skip to content
DENOPTIM is a software package for de novo design and virtual screening of functional molecules of any kind.
Java Roff Shell Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



DENOPTIM (De Novo OPTimization of In/organic Molecules) is a software meant for de novo design and virtual screening of functional compounds. In practice, DENOPTIM is meant for building chemical entities by assembling building blocks (i.e., fragments), processing each chemical entity as to produce its figure of merit (i.e., fitness), and designing new entities based on the properties of entities generated before.

Content of the source code folder tree

  • build: contains scripts for building the DENOPTIM package from source.

  • contrib: contains additional source and data that may be used in relation to DENOPTIM

  • doc: contains documentation and user manual

  • lib: The lib directory contains all third-party libraries used by DENOPTIM.

  • src: contains the source code of DENOPTIM's core and modules:

    • DENOPTIM: Generic library of functions and data structures.

    • DenoptimCG: Generator of 3D conformations.

    • DenoptimGA: Genetic algorithm engine that uses the DENOPTIM library for molecular design.

    • DenoptimRND: Dummy evolutionary algorithm using only random selection of new members (no genetic operators).

    • FragSpaceExplorer: Combinatorial algorithm for exploration of fragment spaces.

    • misc: miscellaneous utilities that may be useful in DENOPTIM-based work.

  • test: contains some automated functionality tests and the published test case.


  1. The prerequisite for installing DENOPTIM is having Java (1.5 or above). Make sure you have Java installed and its executables are in $PATH: If the following does not result in version statements or the version is too old, you can get and install Java from or

     java -version
     javac -version
  2. Download/clone this GitHub repository (use the green "Clone or download" button). From now on, we assume that $DENOPTIM_HOME is the folder you have downloaded/cloned from the GitHub repository.

  3. Compile DENOPTIM and all the accessories in the src folder.

     cd $DENOPTIM_HOME/build
  4. Done!

After compilation you can run the functionality tests (takes 2-3 minutes).

cd $DENOPTIM_HOME/test/functional_tests

The tests will use a temporary folder /tmp/denoptim_test where you can find all files related to these tests.

In addition, you can play with the optimization of organometallic ligands sets that weaken the carbonyl bond in Pt(CO)(L)(X)2 complexes (takes 10-15 minutes).


This will create a playground folder at /tmp/denoptim_PtCO where the evolutionary experiment will be run. Once the experiment is completed, you'll find also the results in the same folder.


DENOPTIM programs are typically run using the following command

java -jar <program.jar> <input_parameters>

where <program.jar> is the JAR file of the program you what to run, for instance DenoptimGA.jar for the the genetic algorithm, or DenoptimCG.jar for the 3D-structure builder, or FragSpaceExplorer.jar for the virtual screening tool, and <input_parameters> is a text file containing keywords. A complete example of usage of the genetic algorithm can be found under the test folder at (./test/PtCOLX2).

User Manual

The complete user manual is available under the doc folder and is accessible on line


Open an issue to point out any unreported and unexpected behaviors, bugs, or just to discuss changes to code or documentation. To make actual changes follow the git workflow practices as indicated in the (./


DENOPTIM is licensed under the terms of the GNU Affero GPL version 3.0 license. Instead, additional libraries used by DENOPTIM programs are licensed according to their respective licenses:

  • cdk: GNU Lesser GPL Version 2.1
  • commons-cli: Apache License Version 2.0
  • commons-io: Apache License Version 2.0
  • commons-lang: Apache License Version 2.0
  • commons-math: Apache License Version 2.0
  • vecmath: GNU GPL Version 2


  1. DENOPTIM: Software for Computational de Novo Design of Organic and Inorganic Molecules; Marco Foscato, Vishwesh Venkatraman, and Vidar R. Jensen, J. Chem. Inf. Model 2019 (submitted)
  2. Foscato, M.; Occhipinti, G.; Venkatraman, V.; Alsberg, B. K.; Jensen, V. R.; Automated Design of Realistic Organometallic, Molecules from Fragments; J. Chem. Inf. Model. 2014, 54, 767–780.
  3. Foscato, M.; Venkatraman, V.; Occhipinti, G.; Alsberg, B. K.; Jensen, V. R.; Automated Building of Organometallic Complexes from 3D Fragments; J. Chem. Inf. Model. 2014, 54, 1919–1931.
  4. Foscato, M.; Houghton, B. J.; Occhipinti, G.; Deeth, R. J.; Jensen, V. R.; Ring Closure To Form Metal Chelates in 3D Fragment-Based de Novo Design. J. Chem. Inf. Model. 2015, 55, 1844-1856.


The Research Council of Norway (RCN) is acknowledged for financial support.

You can’t perform that action at this time.