Skip to content

💻 Build hydrogen atoms from united-atom molecular dynamics of lipids and calculate the order parameters.

License

Notifications You must be signed in to change notification settings

patrickfuchs/buildH

buildH

DOI DOI SWH License: BSD Binder Code CI Status Doc CI Status Documentation Status Powered by MDAnalysis buildH version on PyPI Anaconda-Server Badge

buildH_logo

Build hydrogen atoms from united-atom molecular dynamics of lipids and calculate the order parameters

Features

buildH can :

  • Reconstruct hydrogens from a united-atom structure file (pdb, gro) or trajectory (e.g. xtc).
  • Calculate the order parameters based on the reconstructed hydrogens.
  • Write new structure trajectory files with the reconstructed hydrogens.

buildH works in two modes :

  1. A slow mode when an output trajectory (in xtc format) is requested by the user. In this case, the whole trajectory including newly built hydrogens are written to this trajectory.
  2. A fast mode without any output trajectory.

In both modes, the order parameters are calculated. All calculations are accelerated with Numba. As a CPU cost indication, running buildH on a trajectory of 2500 frames with 128 POPC (without trajectory output) takes ~ 7' on a single core Xeon @ 3.60GHz.

Requirements

Python >= 3.6 is mandatory for running buildH.

buildH is written in Python 3 and needs the modules numpy, pandas, MDAnalysis and Numba.

Installation

Pip

A simple installation with pip will do the trick:

python3 -m pip install buildh

All dependencies (modules) will be installed automatically by pip.

Conda

buildH is also available through the Bioconda channel:

conda install buildh -c bioconda -c conda-forge

More details on installation here.

For installing a development version, see here.

Running buildH

Once installed, a simple invocation of the buildH command will run the program ($ represents the Unix prompt):

$ buildH
usage: buildH [-h] -c COORD [-t TRAJ] -l LIPID [-lt LIPID_TOPOLOGY [LIPID_TOPOLOGY ...]] -d DEFOP
              [-opx OPDBXTC] [-o OUT] [-b BEGIN] [-e END] [-pi PICKLE] [-igch3]
buildH: error: the following arguments are required: -c/--coord, -l/--lipid, -d/--defop

The minimal command for running buildH can resemble this:

$ buildH -c start_128popc.pdb -t popc0-25ns_dt1000.xtc -l Berger_POPC -d Berger_POPC.def

The different arguments mean the following: -c start_128popc.pdb is a pdb file with 128 POPC molecules, -t popc0-25ns_dt1000.xtc is a trajectory with 25 frames, -l Berger_POPC indicates the united-atom force field and the type of lipid to be analyzed, -d Berger_POPC.def indicates what C-H are considered for H building and order parameter calculation (the structure and trajectory files can be found here). The def file can be found here. The final order parameters averaged over the trajectory will be written to the default output name OP_buildH.out

Other detailed examples and Jupyter Notebooks can be found in the documentation at Read the Docs.

Important: sometimes, when performing MD, some molecules are split over periodic boundary conditions (PBC). buildH takes as input whole structures (pdb, gro, xtc, etc.). If broken molecules are supplied, it will most likely generate nonsense results. So it is up to the user to take care of making molecules whole before running buildH (e.g. by using a tool like trjconv in GROMACS with flag -pbc mol).

Invoking buildH with the -h flag will display some help to the screen and tell which lipids are supported.

$ buildH -h
usage: buildH [-h] [-v] -c COORD [-t TRAJ] -l LIPID [-lt LIPID_TOPOLOGY [LIPID_TOPOLOGY ...]] -d
              DEFOP [-opx OPDBXTC] [-o OUT] [-b BEGIN] [-e END] [-igch3]
[...]
The list of supported lipids (-l option) are: Berger_CHOL, Berger_DOPC, Berger_DPPC, Berger_POP, Berger_POPC, Berger_PLA, Berger_POPE, Berger_POPS, CHARMM36UA_DPPC, CHARMM36UA_DPUC, CHARMM36_POPC, GROMOS53A6L_DPPC, GROMOSCKP_POPC, GROMOSCKP_POPS. More documentation can be found at https://buildh.readthedocs.io.

Documentation

The full documentation is available at Read the Docs.

Contributors

  • Hubert Santuz
  • Amélie Bâcle
  • Pierre Poulain
  • Patrick Fuchs

License

buildH is licensed under the BSD License.

Contributing

If you want to report a bug, request a feature, or propose an improvement use the GitHub issue system.

Please, see also the CONTRIBUTING file.

Note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See the CODE_OF_CONDUCT file.

Citing buildH

If you use buildH for your research, please cite :

Santuz et al., (2021). buildH: Build hydrogen atoms from united-atom molecular dynamics of lipids and calculate the order parameters. Journal of Open Source Software, 6(65), 3521, https://doi.org/10.21105/joss.03521