Build hydrogens from a united-atom MD of lipids and calculate the order parameter.
Project description
buildH
Build hydrogens from a united-atom MD of lipids and calculate the order parameter.
Features
BuildH can :
- reconstruct hydrogens from a united-atom structure file (PDB, GRO) or a trajectory.
- calculate the order parameter based on the reconstructed hydrogens
- write a new structure/trajectory file with the reconstructed hydrogens
BuildH works in two modes :
- A slow mode when an output trajectory (e.g. in xtc format) is requested by the user. In this case, the whole trajectory including newly built hydrogens are written to this trajectory.
- A fast mode without any output trajectory.
Requirements
Python >= 3.6 is mandatory for running buildH.
buildH is written in Python 3 and need the following modules :
- numpy
- pandas
- MDAnalysis.
This is automatically taken into account if you follow the procedure below.
Installation (development)
-
Install conda (either with Miniconda or Anaconda, we recommend Miniconda)
-
Clone this GitHub repository:
$ git clone https://github.com/patrickfuchs/buildH.git
$ cd buildH
- Create conda environment:
$ conda env create -f binder/environment.yml
$ conda activate buildh
If needed, update your conda env with
$ conda env update -f binder/environment.yml
- Install the dev version of buildH:
$ pip install -e .
Usage
$ 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]
This program builds hydrogens and calculate the order parameters (OP) from a
united-atom trajectory. If -opx is requested, pdb and xtc output files with
hydrogens are created but OP calculation will be slow. If no trajectory output
is requested (no use of flag -opx), it uses a fast procedure to build
hydrogens and calculate the OP.
optional arguments:
-h, --help show this help message and exit
-c COORD, --coord COORD
Coordinate file (pdb or gro).
-t TRAJ, --traj TRAJ Input trajectory file. Could be in XTC, TRR or DCD format.
-l LIPID, --lipid LIPID
Residue name of lipid to calculate the OP on (e.g.
POPC).
-lt LIPID_TOPOLOGY [LIPID_TOPOLOGY ...], --lipid_topology LIPID_TOPOLOGY [LIPID_TOPOLOGY ...]
User topology lipid json file(s). Mandatory to build hydrogens.
-d DEFOP, --defop DEFOP
Order parameter definition file. Can be found on
NMRlipids MATCH repository:https://github.com/NMRLipid
s/MATCH/tree/master/scripts/orderParm_defs
-opx OPDBXTC, --opdbxtc OPDBXTC
Base name for trajectory output with hydrogens. File
extension will be automatically added. For example
-opx trajH will generate trajH.pdb and trajH.xtc. So
far only xtc is supported.
-o OUT, --out OUT Output base name for storing order parameters.
Extention ".out" will be automatically added. Default
name is OP_buildH.out.
-b BEGIN, --begin BEGIN
The first frame (ps) to read from the trajectory.
-e END, --end END The last frame (ps) to read from the trajectory.
-pi PICKLE, --pickle PICKLE
Output pickle filename. The structure pickled is a dictonnary containing for each Order parameter,
the value of each lipid and each frame as a matric
The list of supported lipids (-l option) are: CHARMM_POPC, Berger_POPC, Berger_PLA, Berger_POP.
The program needs one mandatory file (present in this repo):
order_parameter_definitions_MODEL_Berger_POPC.def
(option-d
).
Further documentation
Some more documentation can be found in the directory docs
:
- Explanation of the different file formats.
- Examples of how to launch buildH.
- Validation of buildH.
- The geometric algorithm on how H are rebuilt.
Contributors
- Patrick Fuchs
- Amélie Bacle
- Hubert Santuz
- Pierre Poulain
Licence
buildH is licensed under the BSD License.
Dev
- Add first notebook (basic buildH analysis on a Berger traj)
1.2.0
- Build docs
- Rename '-x/--xtc' flag to -t/--traj' one to be more generic
- Replace mandatory topology argument to '-c/--coord' flag
- Improve performance of control functions.
- Move misc functions to a module utils.py
- Improve Exception handling & add proper exits
- Improve PEP8 & PEP257 compliance
- Improve test coverage
- Fix bug when a trajectory was written when only a pdb was provided.
- Add sanity checks for the various input files
- Use json files instead of python module to read lipid topologies.
- Optimize package for better performance
1.1.0
- Create Python package structure
- Create conda environment
- Fix tests
- Separate entry point
- Update README for dev version installation
- Handle version with bump2version
Copyright (c) 2019, Patrick FUCHS All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.