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 builds chemical entities by assembling building blocks (i.e., fragments), analyzes each chemical entity as to produce its figure of merit (i.e., fitness), and designs new entities based on the properties of known entities.
DENOPTIM is cross-platform, i.e., runs on Windows, Linux, and MacOS, and comes with a graphical user interface, i.e., the GUI. However, computationally demanding molecular design jobs, which we call DENOPTIM experiments, are typically run in the background, as batch processes. Yet, the GUI allows to create input files for such DENOPTIM experiments (Figure 1a), in addition to visualize and edit molecular fragments (Figure 1b) and other DENOPTIM's data structures, and, finally, inspect the output produced by DENOPTIM experiments (Figure 1c).
You can either get latest version of DENOPTIM from the conda-forge, or our own denoptim-project Anaconda channel. Alternatively, you can built DENOPTIM from source, see below.
conda install -c conda-forge denoptim
or
conda install -c denoptim-project denoptim
Download and extract the latest release to create a folder we'll call DENOPTIM_HOME
. In the following, remember to replace $DENOPTIM_HOME
with the pathname of the extracted DENOPTIM's distribution folder on your system.
Make sure you have an environment that includes JAVA and Maven. Such environment, which we call dnp_devel
, can be created by manual installation of both JAVA and Maven, or it can be created using conda:
cd $DENOPTIM_HOME
conda env create -f environment.yml
conda activate dnp_devel
Verify the requirements by running the two commands: Both should return a message declaring the respective versions.
javac -version
mvn -version
Now, you can build DENOPTIM with
mvn package
Once maven has finished, you can call DENOPTIM using a command like the following (NB: replace $DENOPTIM_HOME
and ${VERSION}
as with the values that apply to your installation):
On Linux/Mac terminals and Windows GitBash:
java -jar $DENOPTIM_HOME/target/denoptim-${VERSION}-jar-with-dependencies.jar
Instead, on Windows Anaconda prompt:
java -jar $DENOPTIM_HOME\target\denoptim-${VERSION}-jar-with-dependencies.jar
In the rest of this document, we well use denoptim
to refer to the above command. In practice, you should create an alias so that
denoptim="java -jar $DENOPTIM_HOME/target/denoptim-${VERSION}-jar-with-dependencies.jar"
The test/functional_tests folder collects tests with automated checking of the results. There test are meant to verify the retention of specific functionality during development phase (i.e., integration tests), but they also are complete example of how to use denoptim from a the terminal on Linux/Mac or Windows via GitBash.
This is how to run the tests:
cd $DENOPTIM_HOME/test/functional_tests
bash runAllTests.sh
The results will be collected in a temporary folder (typically /tmp/denoptim_test
).
The complete user manual is available online.
See the tutorials page.
The entry point of any DENOPTIM activity is the command denoptim
, which results from the installation.
To launch the graphical user interface (GUI) run the command without any argument:
denoptim
Otherwise, run the following in a Win/Mac/Linux command line to get help message.
denoptim -h
For example, this command
denoptim -r GA input_parameters
starts an artificial evolution experiment using the genetic algorithm and parameters specified in the <input_parameters>
file, which is a text file containing parameters and keywords.
Complete examples pre-configured to run DENOPTIM experiments on your local client can be found under the test folder. Each of these test will run a short experiments and collect the output in a folder that can be inspected with the GUI (see below).
- test/PtCOLX2: genetic algorithm experiment for the optimization of organometallic ligands sets that weaken the carbonyl bond in Pt(CO)(L)(X)2 complexes (less then 5 minutes on a regular laptop). To run this example:
cd $DENOPTIM_HOME/test/PtCOLX2
bash runEvolutionaryExperiment.sh
- test/PtCOLX2_FSE: virtual screening of organometallic ligands sets that weaken the carbonyl bond in Pt(CO)(L)(X)2 complexes (less then 5 minutes on a regular laptop). To run this example:
cd $DENOPTIM_HOME/test/PtCOLX2_FSE
bash runCombinatorialExperiment.sh
The GUI can be used to inspect the results. To this end, copy the pathname that is printed by DENOPTIM in the terminal after Output files associated with the current run are located in $path_to_your_output
and use the GUI to open it:
denoptim $path_to_your_output
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 to the code follow the git workflow practices as indicated in file CONTRIBUTING.md.
- 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, 59, 10, 4077-4082 (https://doi.org/10.1021/acs.jcim.9b00516)
- 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.