Changelog
---------
# 2.4.0
* new "--chains" flag to enable detection of interactions between protein chains by @PhiCMS and @snbolz
* update setup.py, attempt to fix and install broken python openbabel bindings 3.1.1.1
* update Dockerfile

# 2.3.1
* fixes in interaction detection with peptide ligands by @kalinni in #153
* fix in hydrogen bond acceptor identification by @kalinni in #151
* fixes in waterbridge detection and filtering by @kalinni in #152
* fix NumPy DeprecationWarning when using numpy.uint32 with negative numbers by @QY0831 in #150

# 2.3.0
* fixes an issue that caused encoding errors to be thrown
* salt bridge interaction improved
* minor bugs fixed

# 2.2.2
* fixes an issue that caused encoding errors to be thrown

# 2.2.1
* updates citation information to latest paper: https://doi.org/10.1093/nar/gkab294

# 2.2.0
* new minor release
* increased detail level of report (individual atoms on protein side)
* improved handling of multi-model structures
* minor bug fixes and code optimizations

# 2.1.9
* fixes issues with DNA receptor handling

# 2.1.8
* report of individual binding site atoms

# 2.1.7
* bug fixes

# 2.1.6
* fetch URL for PDB files updated to avoid issues with RCSB API changes

# 2.1.5
* option added to handle specific model in NMR structures
* fixes a bug in alt-location handling

# 2.1.0
* maintainer changed to PharmAI GmbH
* full compatibility to Python 3 and OpenBabel 3
* Docker and Singularity support, Deployment to Docker Hub
* dropped support for OpenBabel 2, Python 2
* reorganization of modules
* migrates to proper logging pattern
* code quality enhancements
* adds option to disable non-deterministic protonation of structures (`--nohydro`)
* protonated structures are now stored to guarantee consistent interaction detection
* new options to change verbosity levels
* bug fixes in code and deployment
* multi-architecture builds on https://hub.docker.com/r/pharmai/plip
* Docker build for Ubuntu 20.04 LTS

# 1.4.5
* Updates contact info

# 1.4.4
* Improved parameters for water bridge detection
* Added unit test for PDB structure 1HPX
* PEP8 Changes
* Improved imports

# 1.4.3
* Adds information on covalent linkages to XML files
* __Anaconda package__ (provided by `Ikagami`)

# 1.4.2
* Adds "--name" option to change name of output files
* Adds "--nopdbcanmap" option to skip calculation of canonical->PDB mapping which can lead to segfaults with OpenBabel
* Improved handling of ligand names

# 1.4.1
* Improved import of modules
* Corrections for README and documentation
* Several improvements for error handling
* independence from PyMOL when used without visualization features

# 1.4.0
* __Full Python 3 Compatibility__
* __Read PDB files from stdin with "-f -" and write to stdout with "-O" (capital "O")__
* Improves handling of fixed PDB files
* Option to turn off writing fixed PDB structures to a file ("--nofixfile")

### 1.3.5
* Preparation for Python 3: Imports
* small correction for PDB fixing
* includes TODO files with user suggestions
* license adapted to GNU GPLv2

### 1.3.4
* __DNA/RNA can be selected as receptor with --dnareceptor__
* __Composite ligands and intra-protein mode: Annotation which part of the ligand interacts with the receptor__
* Improved handling of NMR structures
* Filter for extremely large ligands
* Speed-up for file reading and parallel visualization
* More debugging messages

### 1.3.3
* __Adds XML Parser module for PLIP XML files__
* Detection of intramolecular interactions with --intra
* improved error correction in PDB files

### 1.3.2
* __Processing of protein-peptide interactions via --peptides__
* option to keep modified residues as ligands (--keepmod)
* Improved code for reports
* Smart ordering of ligand in composite compounds
* Fixes handling and visualization of DNA/RNA

### 1.3.1
* __Support for amino acids as ligands__
* __Plugin-ready for PyMOL and Chimera__
* Refactores code and optimized input
* Improved verbose and debug log system
* Bugfixes for problems affecting some structures with aromatic rings

### 1.3.0
* __Batch processing__
* Improvements to verbose mode and textual output

### 1.2.3
* __Better support for files from MD and docking software__
* __Fixes issues with large and complex structures__
* Speed optimizations


### 1.2.2
* __Option to consider alternate atom locations (e.g. for ligands with several conformations__
* Automatic fixing of missing ligand names
* Improved handling of broken PDB files and non-standard filenames
* Improved error handling

### 1.2.1
* __Mapping of canonical atom order to PDB atom order for each ligand__
* __Introduction of debug mode (--debug)__
* More robust visualization
* Handling of negative residue numbers for more cases
* Composite members in alphabetical order
* Fixes errors in aromatic ring detection
* Code improvements

### 1.2.0
* __Support for DNA and RNA as ligands__
* __Detection of metal complexes with proteins/ligands, including prediction of geometry__
* __Extended result files with detailed information on binding site residues and unpaired atoms__
*__Support for zipped and gzipped files__
* Rich verbose mode in command line with information on detected functional groups and interactions
* Automatic fixing of common errors in custom PDB files
* Refined binding site selection
* Better overall performance
* Initial test suite for metal coordination
* Classification of ligands
* Improves detection of aromatic rings and interactions involving aromatic rings
* Single nucleotides and ions not excluded anymore as ligands
* Generation of canonical smiles for complete (composite) ligands
* Generation of txt files is now optional
* Basic support for PDBQT files
* Correct handling of negative chain positions of ligands
* Improved check for valid PDB IDs
* Fixes several bugs



### 1.1.1
* __Detailed information on binding site residues in XML files__
* Improved extraction of binding site residues
* Information whether halogen bonds are made with side- or main chain of protein

#### 1.1.0
* __Folder structure and setup.py for automatic installation using pip__
* __H-Bond Donor Prioritization (see documentation for details)__
* Adds separate changelog
* Updated documentation and citation information
* Reduction of blacklist usage
* Information on excluded ligands in result files

#### 1.0.2
* __Automatic grouping of composite ligands (e.g. polysaccharides)__
* __Proper handling of alternative conformations in PDB structures__
* __Exclusion of modified residues as ligands__
* __Improved detection of hydrogen bonds__
* __Prioritization of hydrogen bonds__
* Adds atom type description in the output files
* Basic support for usage on Windows (without multithreading)
* Option to turn multithreading off by setting maxthreads to 0
* Improved detection of hydrogen bond donors in ligands
* Adaption of standard parameters
* Fixes a bug in PyMOL visualization script leading to missing or wrong interactions with pseudoatoms
* Fixes a bug leading to duplicate or triplicate detection of identical pi-cation interactions with guanidine
* Adds now unit tests
* Small changes to existing unit tests for new features

#### 1.0.1
* __Option to change detection thresholds permanently or for single runs__
* Option to (de)activate output for images, PyMOL session files and XML files
* Changed standard behaviour to output of RST report only
* Information on sidechain/backbone hydrogen bond type
* Sorted output
* Detection of more flavors of halogen bonds
* Fixed bug leading to duplicate interactions with quartamine groups

#### 1.0.0
* __Initial Release__
