The Kallisto software enables the efficient calculation of atomic features that can be used within a quantitative structure-activity relationship (QSAR) approach. Furthermore, several modelling helpers are implemented.
Project description
Table of Contents
- Full Author List
- Introduction
- Installation
- Testing suite
- Reference
Full Author List
- Developer Eike Caldeweyher
- Developer Rocco Meli
- Developer Philipp Pracht
Introduction
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).
Main dependencies
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.5
For a list of all dependencies have a look at the pyproject.toml file.
Installation from PyPI
To install kallisto
via pip
use our published PyPI package
pip install kallisto
Installation from Source
Requirements to install kallisto
from sources:
First check that poetry
is running correctly (v1.0.10 at the time of writing)
> poetry --version
Poetry version 1.0.10
Create 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 install
Testing suite
The kallisto
project uses nox as an automated unit test suite, which is therefore an additional dependency.
Default nox session
The default session includes: linting (lint), type checks (mypy, pytype), and unit tests (tests).
> nox
When 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 -r
Different unit test sessions are implemented (check the noxfile.py). They can be called separately via the run session -rs
flag.
Tests
Run all unit tests that are defined in the /tests directory.
> nox -rs tests
Lint
kallisto
uses the flake8 linter (check the .flake8 config file).
> nox -rs lint
Black
kallisto
uses the black code formatter.
> nox -rs black
Safety
kallisto
checks the security of dependencies via safety.
> nox -rs safety
Mypy
kallisto
checks for static types via mypy (check the mypy.ini config file).
> nox -rs mypy
Pytype
kallisto
furthermore uses pytype for type checks.
> nox -rs pytype
Coverage
Unit test coverage can be checked as well.
> nox -rs coverage
Reference
Always 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.}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.