Skip to main content

Bubble detection for molecular dynamics simulations.

Project description

Burbuja

GitHub Actions Build Status codecov

License: MIT python

Overview

Detect bubbles, vapor pockets, and local voids within the explicit solvent of molecular dynamics (MD) simulation structures/trajectories.

The Burbuja (The Spanish word for 'bubble') program automates the checking of a MD simulation input or output structure, or collection of structures, for bubbles. Bubbles can often arise in the preparation or running of a simulation if periodic box dimensions are incorrectly chosen, if high energies or temperatures are inadvertently sampled, if bad starting structures are assigned, or if faulty parameters exist in the system. These bubbles and voids can be found 'manually' by examining the structure with a molecular viewing program, but bubbles can be easily missed, manual checking can be tiresome, and small or oddly-shaped bubbles can sometimes be difficult to see. Burbuja can detect bubbles of just about any shape and significant size, within cubic, rectangular, or triclinic boxes containing an explicit solvent. Burbuja can also take a variety of input structure files, due to its reliance on the MDTraj (https://www.mdtraj.org) software for loading and definition of molecular structures.

Burbuja has also been designed to detect bubbles efficiently and quickly, and can optionally make use of the CuPy library for GPU acceleration. Burbuja has also been coded with an eye toward very large structures, such as entire viruses or very large proteins, in excess of hundreds of millions of atoms, in order to detect the presence of bubbles. Burbuja may be used as a command-line tool, or its functions accessed directly by means of its API.

This README is only a quickstart guide to get Burbuja up and running as soon as possible. To see more detailed instructions and tutorials, please see https://burbuja.readthedocs.io/en/latest or the docs/ subfolder.

Install

The easiest, quickest way to install Burbuja is to use Mamba. If you don't already have Mamba installed, Download the Miniforge install script and run.

curl -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh
bash Miniforge3-$(uname)-$(uname -m).sh

Once this has been done, set up a new environment:

mamba create -n BURBUJA python=3.11 --yes
mamba activate BURBUJA

If you wish to benefit from GPU acceleration, install CuPy. See the CuPy documentation (https://docs.cupy.dev/en/stable/install.html) for detailed installation instruction for your own system using PyPI, Conda, or from Source, but if you're in a hurry, the following command should work:

mamba install cupy

Next, simply install Burbuja. All remaining dependencies should be handled automatically:

git clone https://github.com/Abrahammc90/Burbuja.git
cd Burbuja
python -m pip install .

One may then optionally run unit tests:

pytest

Example

One may try out the example systems in the Burbuja/examples/ subdirectory. Within, there are two files, "trypsin_benzamidine_bubble.pdb" and "trypsin_benzamidine_no_bubble.pdb". Try running the following commands:

cd examples/
python ~/Burbuja/Burbuja/burbuja.py trypsin_benzamidine_no_bubble.pdb

Burbuja should indicate that no bubble was present in the structure. Next, try the structure that does contain a bubble:

cd examples/
python ~/Burbuja/Burbuja/burbuja.py trypsin_benzamidine_bubble.pdb

Important Options and Hints

Authors and Contributors

The following people have contributed directly to the coding and validation efforts of Burbuja (listed an alphabetical order of last name). Thanks also to everyone who has helped or will help improve this project by providing feedback, bug reports, or other comments.

  • Rommie Amaro (principal investigator)
  • Abraham Muñiz Chicharro (developer)
  • Lane Votapka (developer)

Citing Burbuja and Dependencies

For BibTex files of many of the following citations, please visit: https://burbuja.readthedocs.io/en/latest/citations.html

If you use Burbuja, please cite the following paper:

  • PAPER HERE

Copyright

Copyright (c) 2025, Abraham Muñiz Chicharro and Lane Votapka

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

burbuja-1.0.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

burbuja-1.0.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file burbuja-1.0.0.tar.gz.

File metadata

  • Download URL: burbuja-1.0.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for burbuja-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9ffc49634fc6374fabe1423d8f560d225b99d11c0754eb005c0aee72c720b9e6
MD5 5d87db23d3c44f3dba96b91f9cf0fb33
BLAKE2b-256 4f4893b49371cb2ad4db03c01490c6ccef07ae358d15ae91e58f019de75a1a00

See more details on using hashes here.

File details

Details for the file burbuja-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: burbuja-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for burbuja-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a79de8b65a20bf613e0b800d5b1c8f7cea653836087661d70477b611c0f2f2d
MD5 8a300f5244cb43605c6df34e79036867
BLAKE2b-256 af7f42ea79c9edd2616f1b4b46ab25eaad85cfd227663e83de79c43031c37fe7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page