Skip to content

DENOPTIM is a software package for de novo design and virtual screening of functional molecules of any kind.

License

Notifications You must be signed in to change notification settings

denoptim-project/DENOPTIM

Repository files navigation

Anaconda_Platforms Anaconda_License Anaconda_Version Anaconda_last Anaconda_Downloads

Introduction

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).

Figure 1

Installation

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.

Install From Conda (recommended)

conda install -c conda-forge  denoptim

or

conda install -c denoptim-project  denoptim

Build From Source

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"

Testing the functionality

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).

User Manual

The complete user manual is available online.

Tutorials

See the tutorials page.

Quick Start

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.

Pre-configured Examples

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

Contributing

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.

Cite DENOPTIM

  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, 59, 10, 4077-4082 (https://doi.org/10.1021/acs.jcim.9b00516)
  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.

Acknowledgments

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