Metadata-Version: 2.1
Name: buildh
Version: 1.2.0
Summary: Build hydrogens from a united-atom MD of lipids and calculate the order parameter.
Home-page: https://github.com/patrickfuchs/buildH
Author: Patrick Fuchs, Amélie Bacle, Hubert Santuz, Pierre Poulain
Author-email: patrick.fuchs@u-paris.fr
License: BSD 3-Clause License
Description: # buildH
        [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4676218.svg)](https://doi.org/10.5281/zenodo.4676218)
        [![License: BSD](https://img.shields.io/badge/License-BSD-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
        [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/patrickfuchs/buildH/master?urlpath=lab)
        [![Code CI Status](https://github.com/patrickfuchs/buildH/workflows/GitHub%20CI%20code/badge.svg)](https://github.com/patrickfuchs/buildH/actions?query=workflow%3A%22GitHub+CI+code%22)
        [![Doc CI Status](https://github.com/patrickfuchs/buildH/workflows/GitHub%20CI%20doc/badge.svg)](https://github.com/patrickfuchs/buildH/actions?query=workflow%3A%22GitHub+CI+doc%22)
        [![Documentation Status](https://readthedocs.org/projects/buildh/badge/?version=latest)](https://buildh.readthedocs.io/en/latest/?badge=latest)
        [![Powered by MDAnalysis](https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA)](https://www.mdanalysis.org)
        
        > 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
        ```
        
        3. 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
        ```
        
        4. 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](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 <organization> 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 <COPYRIGHT HOLDER> 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.
        
Keywords: lipds,order parameters,united atom,molecular dynamics simulation
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: test
