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.
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 www.oracle.com or http://openjdk.java.net/:
java -version javac -version
Download/clone this GitHub repository (use the green "Clone or download" button). From now on, we assume that
$DENOPTIM_HOMEis the folder you have downloaded/cloned from the GitHub repository.
Compile DENOPTIM and all the accessories in the src folder.
cd $DENOPTIM_HOME/build bash build-all.sh
After compilation you can run the functionality tests (takes 2-3 minutes).
cd $DENOPTIM_HOME/test/functional_tests bash runAllTests.sh
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).
cd $DENOPTIM_HOME/test/PtCOLX2 bash runEvolutionaryExperiment.sh
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>
<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).
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 (./CONTRIBUTING.md).
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
- 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)
- 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.
- 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.
- 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.