mirror of
https://github.com/biopython/biopython.git
synced 2025-10-20 21:53:47 +08:00
* 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>