Package: scine-chemoton
IntroductionWith Chemoton you can explore complex chemical reaction networks in an automated
fashion. Based on a Python framework, workflows can be built that probe reactivity
of chemical systems with quantum chemical methods. Various quantum chemical software
programs and job schedulers are supported via the back-end software SCINE Puffin.License and Copyright InformationChemoton is distributed under the BSD 3-clause “New” or “Revised” License.
For more license and copyright information, see the fileLICENSE.txtin the
repository.InstallationPrerequisitesThe key requirements for Chemoton are the Python packagesscine_utilities,scine_database, andscine_molassember. These packages are available from
PyPI and can be installed usingpip.
However, these packages can also be compiled from sources. For the latter case please
visit the repositories of each of the packages and follow their guidelines or
bootstrap apuffinwhich will install the same
dependencies.InstallationChemoton can be installed usingpip(pip3) once the repository has been cloned:gitclonehttps://github.com/qcscine/chemoton.gitcdchemotonpipinstall-rrequirements.txtpipinstall.A non-root user can install the package using a virtual environment, or
the--userflag.The documentation can be found online, or it can be built using:make-CdocshtmlIt is then available at:<browser-name>docs/build/html/index.htmlIn order to build the documentation, you need a few extra Python packages, which
are not installed automatically together with Chemoton. In order to install them,
runpipinstall-rrequirements-dev.txtTutorialMinimal ExampleAssuming that Chemoton has successfully been installed, a small example
exploration can be started by running Chemoton’s main function.
It requires a database running onlocalhostlistening to the defaultmongodbport27017; additionally apuffininstance has to be
running and checking the database nameddefault.Setting up these things may look somewhat like this:1. Start amongodbserver. Limit its memory usage and maybe customize where
to log and store the data.mongod--fork--port=27017-dbpath=<pathtodbstoragedir>-wiredTigerCacheSizeGB=1--logpath=mongo.logConfigure and bootstrap apuffin:pipinstallscine-puffinpython3-mscine_puffinconfigure# Edit the generated puffin.yaml herepython3-mscine_puffin-cpuffin.yamlbootstrap3. Source thepuffinsettings and tell it to listen to the correct DB.
(Hostname and port should be the default ones.) Then start it.sourcepuffin.shexportPUFFIN_DATABASE_NAME=defaultpython3-mscine_puffin-cpuffin.yamlstartRun the Chemoton exploration defined in the__main__function:python3-mscine_chemotonwipeThe optionalwipeargument will start the example exploration with a cleandefaultDB; giving thecontinueargument will reuse old data.Expanding on the Minimal ExampleThe functionalities used in Chemoton’s__main__.pyare a good starting point
for most simple explorations. The file contains a lot of settings that are
explicitly set to their defaults in order to show their existence.While we recommend to read the documentation of Chemoton, tinkering with
explorations can be as simple as:cp<chemoton-git>/scine_chemoton/__main__.pymy_awesome_exploration.pyand editing the file to your liking: disabling gears, adding filters or
just changing methods.How to CiteWhen publishing results obtained with Chemoton, please cite the corresponding
release as archived onZenodo(DOI
10.5281/zenodo.6695583; please use the DOI of the respective release).In addition, we kindly request you to cite the following article when using Chemoton:J. P. Unsleber, S. A. Grimmel, M. Reiher,
“Chemoton 2.0: Autonomous Exploration of Chemical Reaction Networks”,J. Chem. Theory Comput.,2022,18, 5393.Support and ContactIn case you should encounter problems or bugs, please write a short message
toscine@phys.chem.ethz.ch.