Skip to main content

Build hydrogens from a united-atom MD of lipids and calculate the order parameter.

Project description

buildH

DOI License: BSD Binder Code CI Status Doc CI Status Documentation Status Powered by MDAnalysis

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 :

  1. 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.
  2. 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)

  1. Install conda (either with Miniconda or Anaconda, we recommend Miniconda)

  2. Clone this GitHub repository:

$ git clone https://github.com/patrickfuchs/buildH.git
$ cd buildH
  1. 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
  1. 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.

Source Distribution

buildh-1.2.0.tar.gz (28.0 kB view hashes)

Uploaded Source

Built Distribution

buildh-1.2.0-py3-none-any.whl (29.5 kB view hashes)

Uploaded Python 3

Supported by

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