BioSimSpace is an interoperable Python framework for biomolecular simulation. With it you can:
- Write robust and portable biomolecular workflow components that work on different hardware, with different software packages, and that can be run in different ways, e.g. command-line, Jupyter.
- Start, stop, and monitor molecular simulation processes within interactive Python environments.
If you use BioSimSpace in any scientific software, please cite the following paper:
@article{Hedges2019,
doi = {10.21105/joss.01831},
url = {https://doi.org/10.21105/joss.01831},
year = {2019},
publisher = {The Open Journal},
volume = {4},
number = {43},
pages = {1831},
author = {Lester Hedges and Antonia Mey and Charles Laughton and Francesco Gervasio and Adrian Mulholland and Christopher Woods and Julien Michel},
title = {BioSimSpace: An interoperable Python framework for biomolecular simulation},
journal = {Journal of Open Source Software}
}
Full documentation can be found here.
The easiest way to install BioSimSpace is using our conda channel. BioSimSpace is built using dependencies from conda-forge, so please ensure that the channel takes strict priority. We recommend using Miniforge.
To create a new environment:
conda create -n openbiosim -c conda-forge -c openbiosim biosimspace
conda activate openbiosimTo install the latest development version you can use:
conda create -n openbiosim-dev -c conda-forge -c openbiosim/label/dev biosimspace
conda activate openbiosim-devWhen updating the development version it is generally advised to update Sire at the same time:
conda update -c conda-forge -c openbiosim/label/dev biosimspace sireUnless you add the required channels to your Conda configuration, then you'll need to add them when updating, e.g., for the development package:
conda update -c conda-forge -c openbiosim/label/dev biosimspaceTo install from source using pixi, which will automatically create an environment with all required dependencies (including pre-built Sire):
git clone https://github.com/openbiosim/biosimspace
cd biosimspace
pixi install
pixi shell
pip install -e .If you are developing across the full OpenBioSim stack, first install Sire from source by following the instructions here, then activate its pixi environment:
pixi shell --manifest-path /path/to/sire/pixi.toml -e devNext, clone and install BioSimSpace:
git clone https://github.com/openbiosim/biosimspace
cd biosimspace
pip install -e .You may also want to install optional dependencies, such as ambertools and
gromacs into the environment.
If you need OpenCL support (e.g. for OpenMM), note that pixi does not run
conda post-link scripts, so the ocl-icd-system symlink won't be created
automatically. After creating the environment, run the following once to fix
this:
pixi shell -e dev
ln -s /etc/OpenCL/vendors "${CONDA_PREFIX}/etc/OpenCL/vendors/ocl-icd-system"Once finished, you can test the installation by running:
import BioSimSpace as BSSPre-commit hooks are used to ensure consistent code formatting and linting. To set up pre-commit in your development environment:
pixi shell -e dev
pre-commit installThis will run ruff formatting and linting checks automatically on each commit. To run the checks manually against all files:
pre-commit run --all-filesPlease follow the developer's guide.
Please report bugs and other issues using the GitHub issue tracker. When reporting issues please try to include a minimal code snippet that reproduces the problem. Additional files can be also be uploaded as an archive, e.g. a zip file. Please also report the branch on which you are experiencing the issue, along with the BioSimSpace version number. This can be found by running:
import BioSimSpace as BSS
print(BSS.__version__)