bem4solvation / pbj

Bempp and Jupyter based Poisson-Boltzmann electrostatics solver
MIT License
4 stars 2 forks source link

Poisson Boltzmann & Jupyter: Python based biomolecular electrostatics solver.

GitHub Actions Build Status codecov

Welcome!

Poisson-Boltzmann and Jupyter (PBJ) is a boundary element solver based on the Bempp-cl library. It provides an easy API for electrostatics calculations of biomolecules from a Jupyter notebook, with full access to all the nice (and fast!) features in Bempp-cl. It is built to be easily extensible, like a playground for new models!

PBJ may not only be the acronym of your favorite sandwich, but also your favorite Poisson-Boltzmann solver!

Installation

Download the repository and create a conda environment using the environment.yml file as

conda env create -f environment.yml

and you're good to go!

Docker

You can install PBJ in a ready-to-use Jupyter-Notebook Docker image based on the docker bempp image. To launch this image, simply run:

docker run -v $(pwd):/root/shared -w "/root/shared" -p 8888:8888 pescapil/pbj

Next, you can install and use PBJ within the notebook. Furthermore, the Docker image can be built locally and run as:

cd docker
docker build -f Dockerfile . -t pbj 
docker run -v $(pwd):/root/shared -w "/root/shared" -p 8888:8888 pbj

Documentation

This is work-in-progress, but you'll be able to find examples under notebooks/tutorials/.

The team

This code is developed by a research group based in the Mechanical Engineering Department of Universidad Técnica Federico Santa María. The main contributors are

How to cite

Search, S. D., Cooper, C. D., van't Wout, E., "Towards optimal boundary integral formulations of the Poisson–Boltzmann equation for molecular electrostatics" J. Comput. Chem. 2022, 1. https://doi.org/10.1002/jcc.26825. Preprint on arXiv

Acknowledgements

Project based on the Computational Molecular Science Python Cookiecutter version 1.6.