Files
Zisis Konstantinos 8fd67cc501 PQR Parser (#2338)
* Add a script for testing/linting changes before commiting

This script enables selective running of existing tests, performs lint
checks and a doctest check.
To be removed after finalizing the pull request.

* Modify Atom class to support radius and charge

* Enable Structure Builder to create Atom objects from PQR files

* Changes in PDBIO to read and write PQR files

* Update PDBIO.py

Whitespace and comment changes to comply with linter

* Update StructureBuilder.py

Previous version didn't properly initialize Atom instances when parsing
PQR files.

* Fix bug in PDBIO.py

Previous _PQR_ATOM_FORMAT_STRING had an error and as a result PDBIO
couldn't export .pqr files.

* Add PQRParser.py for parsing .pqr files.

* Add unit tests for PQR parser module.

* Include PQR tests in the testing shell script.

* Delete script for quick testing.

* Add names to the CONTRIB.rst

* Fix linting errors.

* Change implementation to a flag based one to avoid duplicate code.

Added the is_pqr flag to PDBParser.py and StructureBuilder.py. Now
_init_atom_from_pqr() and PQRParser class are no longer required to
parse .pqr files.

TODO: Completely remove them in a future commit.

* Modify PQR test to use the PDBParser class with the flag

TODO: rename the file to test_PQR since PQRParser will be deleted in the
future.

* Add test_PQR.sh shell script for testing modifications

Included the PDBParser.py and the unittest in files to lint.
TODO: Completely remove this script before submitting the changes to the
pull request.

* Added documentation and examples on reading and writing PQR files

* Added warning for None atom radius

Renamed "charge" to "pqr_charge" for consistency with Atom, StructureBuilder, PDBParser

* Renamed charge to pqr_charge

Renamed the variable "charge" to "pqr_charge" to avoid confusion.
Explicit mention of PQR file charge and radius fields in comments.

* Debug PDBIO.py

There was an issue in the PDBIO.py (before even this set of corrections)
that caused the PDBIO module to output incorrect .pdb files. The problem
was that the charge field in _get_atom_line() was overwritten in the
case of .pdb files with charge = None which caused the problem. This
issue is now fixed.

In addition, fixed another minor bug in PDBIO and a linting error in
Atom.py

* Delete unnecessary files

* Updated News.rst

*  Fix linting error in NEWS.rst

* Import StringIO from io instead of py3k.

Co-authored-by: Artemi Bendandi <37833668+artbendandi@users.noreply.github.com>
2020-01-13 20:32:17 +09:00
..
2020-01-13 20:32:17 +09:00