- Full Author List
- Introduction
- Installation
- Testing suite
- Reference
- Developer Eike Caldeweyher
- Developer Rocco Meli
- Developer Philipp Pracht
We developed the kallisto program for the efficient and robust calculation of atomic features using molecular geometries either in a xmol or a Turbomole format.
Furthermore, several modelling tools are implemented, e.g., to calculate root-mean squared deviations via quaternions (including rotation matrices), sorting of molecular geometries and many more. All features of kallisto are described in detail within our documentation (GitBook repository).
click 7.1.2 Composable command line interface toolkit
numpy 1.20.1 NumPy is the fundamental package for array computing with Python.
scipy 1.6.0 SciPy: Scientific Library for Python
└── numpy >=1.16.5For a list of all dependencies have a look at the pyproject.toml file.
To install kallisto via pip use our published PyPI package
pip install kallistoRequirements to install kallistofrom sources:
First check that poetry is running correctly (v1.0.10 at the time of writing)
> poetry --version
Poetry version 1.0.10Create a virtual environment (via pyenv or conda) and activate it. Afterwards, clone the kallisto project from GitHub and install it using poetry
> git clone git@github.com:AstraZeneca/kallisto.git
> cd kallisto
> poetry installThe kallisto project uses nox as an automated unit test suite, which is therefore an additional dependency.
The default session includes: linting (lint), type checks (mypy, pytype), and unit tests (tests).
> noxWhen everything runs smoothly through, you are ready to go! After one successful nox run, we can reuse the created virtual environment via the -r flag.
> nox -rDifferent unit test sessions are implemented (check the noxfile.py). They can be called separately via the run session -rs flag.
Run all unit tests that are defined in the /tests directory.
> nox -rs testskallisto uses the flake8 linter (check the .flake8 config file).
> nox -rs lintkallisto uses the black code formatter.
> nox -rs blackkallisto checks the security of dependencies via safety.
> nox -rs safetykallisto checks for static types via mypy (check the mypy.ini config file).
> nox -rs mypykallisto furthermore uses pytype for type checks.
> nox -rs pytypeUnit test coverage can be checked as well.
> nox -rs coverageAlways cite:
Eike Caldeweyher, J. Open Source Softw., 2021, 6, 3050. DOI: 10.21105/joss.03050
@article{Caldeweyher2021,
doi = {10.21105/joss.03050},
url = {https://doi.org/10.21105/joss.03050},
year = {2021},
volume = {6},
number = {60},
pages = {3050},
author = {Eike Caldeweyher},
title = {kallisto: A command-line interface to simplify computational modelling and the generation of atomic features},
journal = {J. Open Source Softw.}
}