Moltiverse is an open-source molecular conformer generator available as a command line application written in the modern Crystal language.
Moltiverse uses the robust ecosystem of open-source applications to process the molecules and perform conformational sampling. The conformer generation protocol consists of seven main steps:
- Molecular pre-processing: Conversion of SMILES code into three-dimensional coordinates using Open Babel.
- Structure spreading.
- Molecule parameterization with the GAFF2 force field using Amber Tools.
- Energetic minimization.
- Molecular sampling in vacuum with the M-eABF method using the NAMD molecular simulation engine.
- Structure clustering.
- Conformer ensemble refinement using electronic structure optimization calculations with XTB software.
- NAMD 2.14 multicore software must be installed and the
namd2
executable should be in the system path.
To install Moltiverse and its dependencies:
curl -fsSL https://raw.githubusercontent.com/ucm-lbqc/moltiverse/master/INSTALL.sh | bash
This command creates a "moltiverse" conda environment. To use Moltiverse, activate the environment:
conda activate moltiverse
To check that dependencies and versions are working correctly:
moltiverse --check
moltiverse --version
To install a specific release or select which dependencies to install, download the 'INSTALL.sh' file and execute it:
./INSTALL.sh
External software:
NOTE: This application is still under development and is not ready for production. Please note that we have not yet released a version or documentation. But stay tuned, we will do it soon ;).
- Check the examples directory for example input files:
- molecule.smi: An SMI file containing a single SMILES code and molecule name.
- molecules.smi: An SMI file with multiple SMILES codes and molecule names.
- You can modify the SMI file with your own molecules. SMILES codes can be obtained from PubChem.
- Running the application:
moltiverse -l molecule.smi --procs 2 moltiverse -l molecules.smi --procs 2
This command executes the entire protocol, creating a folder for each molecule in the SMI file. Each folder will contain the final conformers in various formats. The output files are as follows:
*mm.pdb
and*mm.sdf
: Conformers after molecular mechanics (MM) optimization.*qm.pdb
and*qm.sdf
: Final conformers after quantum mechanics (QM) optimization. These represent the end result of the protocol.*.pdb
and*.sdf
(without suffix): Raw conformers. These are primarily for development purposes and should be avoided for analysis.
Note: For most analyses and applications, use the *qm.pdb
or *qm.sdf
files, as they represent the final, optimized conformers. The -P
or --procs
option assigns processor cores to run the protocol. For laptops or modest computers we recommend to use a small amount of cores (1 to 4) to avoid failures. For computing clusters, a higher number of cores is preferred.
-
To test moltiverse with a short testing protocol (not for production, just for testing), use:
moltiverse -l molecule.smi --procs 2 -p test
The testing protocol performs only 0.8 ns of simulaton divided into two RDGYR windows, generating ~800 structures. The full protocol "v1" performs 24 ns of simulation divided into 12 RDGYR windows, generating ~30000 structures.
If you use moltiverse
in your research, please consider citing the following article:
To be added
- Fork it (https://github.com/your-github-user/moltiverse/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Mauricio Bedoya - creator and maintainer
- Francisco Adasme - maintainer
To be added
To be added