Welcome to stko’s documentation!
Tip
⭐ Star us on GitHub! ⭐
Overview
stko is a Python library for
performing optimizations and calculations on complex molecules built using
stk. In the case of
optimizations, a clone of stk.Molecule is returned. For
calculators, a Results class are used to calculate and extract
properties of an stk.Molecule.
Installation
stko can be installed directly with pip:
pip install stko
Some optional dependencies are only available through conda:
# for xtb
mamba install xtb
# for openbabel, assuming you are not using Python >= 3.13!
mamba install openbabel
With OpenMM
To get stko and use OpenMM, we had some installation issues. The
current solution is to first, in a new environment, install the OpenMM
requirements:
mamba install -c conda-forge openff-toolkit
Then install stko with pip, but with the cuda variant to take advantage
of GPU speed up (note that this is a heavy installation!).
pip install stko[cuda]
We also removed the default installation of espaloma_charge that provides
the ML-based espaloma-am1bcc partial charges method. If users want this
package, create a new environment and install their dependancies (if this
fails, please check their
instructions), then install
stko:
mamba install -c conda-forge espaloma_charge openff-toolkit
pip install stko[cuda]
Developer Setup
Install just.
In a new virtual environment run:
$ just dev
Run code checks:
$ just check
Dependencies
The software packages we offer optimizers for are also depencies depending on the desired functions used. These are:
Examples
For every class (including Calculator, Optimizer), there are small
examples of usage on the associated docs page. We have a page dedicated to
analysing cage structures. There are also some examples
for stko usage available here.
These cover:
How To Contribute
If you have any questions or find problems with the code, please submit an issue.
If you wish to add your own code to this repository, please send us a
Pull Request. Please maintain the testing and style that is used
throughout `stko.
How To Cite
If you use stko please cite