-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
277 changed files
with
3,252 additions
and
584,439 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,142 @@ | ||
# Change Log | ||
All notable changes to this repository will be documented in this file. | ||
# Changelog | ||
All notable changes to this project will be documented in this file. \ | ||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/). | ||
|
||
<br/> | ||
## [Unreleased] | ||
None. | ||
|
||
## [1.2.2] - 2023-08-14 | ||
This update applies to both [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb) and [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb). | ||
### Major Changes | ||
+ 🐛 Corrected `py3Dmol.view()` function call in all `VIEW_****()` functions by providing valid width and height parameters. | ||
+ 🐛 Changed initial `count` to `0` in all `VIEW_****()` functions as per above correction. | ||
### Minor Changes | ||
+ ⚙️ Renamed `labogrid()` function to `labox()` as per version 1.2.1. | ||
+ ⚙️ Changed merging DataFrame method from `append()` to `concat()` in `interaction_profiler()` and "Rank docking scores" section*. | ||
+ ⚙️ Rewritten [CHANGELOG.md](https://github.com/RyanZR/labodock/blob/main/CHANGELOG.md) | ||
## [2.0.0] - 2023-10-12 | ||
🎉 **LABODOCK v2.0.0** is here! | ||
|
||
This update focuses on improving the code base, implementing informational molecular visualization, and fixing post-installation conda environment corruptions. | ||
|
||
Most functions have been refactored and improved, and previous molecular visualization options have been reduced with new being added to provide informative visual inspection 👀. | ||
|
||
The conda environment is no longer corrupted by `MGLTools` package installation, and you can now install any other packages that require Python 3.10 or higher 🐍. | ||
|
||
The native ligand preparation step is now **optional** by default. Should you proceed without this phase, skip the `03 | Preparing the Native Ligand (optional)` section ✨. | ||
|
||
|
||
### Added | ||
+ **`PKG`** : Add `meeko 0.5.0` to replace `MGLTools 1.5.7` for preparing `.pdbqt` files | ||
+ **`PKG`** : Add `sPyRMSD 0.6.0` to include Hungarian's algorithm and symmetry corrected RMSD calculations | ||
+ **`SRC`** : Add basic function type hints and annotations for better code understanding | ||
+ **`PRE`** : Add bond order assignment for native ligand with RDKit `AllChem.AssignBondOrdersFromTemplate()` function | ||
+ **`ENM`** : Add gradient option to select from `conjugate` (default) or `steepest` ** | ||
+ **`ENM`** : Add convergence criteria option to specify termination endpoint | ||
+ **`ENM`** : Add maximum steps option to specify allowed iteration step | ||
+ **`ENM`** : Add logging into `_obmin.log` file to store ligand EGM record | ||
+ **`GBX`** : Add residues-defined gird box option (`defined-by-res()` method) using `LaBOX` method and list of user-inpt residues | ||
+ **`RMS`** : Add maximum common substructrure PNG generation in `ComputeRMSD()` class | ||
+ **`ANL`** : Add result clustring mode option to select from `Best-Pose` and `LABO-RMSD` ** | ||
+ **`ANL`** : Add ranking option for docking result ** (`Sort_by`, `Order`, `Top`, `Maximum_RMSD`) | ||
+ **`ANL`** : Add ranking option for binding interactions with frequency bar chart ** (`Sort_by`, `Order`, `Hide_hydrophobic`, `Show_barchart`) | ||
+ **`VIS`** : Add 8 new built-in py3Dmol stylings focusing on providing informational visualisation | ||
+ **`VIS`** : Add 2 new protein surface representations with built-in colour scales (hydrophobicity, isoelectric points) | ||
+ **`VIS`** : Add colour bar for displaying colour scale of surface representation with Matplotlib `pyplot.colorbar()` function | ||
+ **`VIS`** : Add slab view option to display sagittal section of molecules | ||
+ **`VIS`** : Add filter option to specify displaying binding interactions | ||
|
||
### Changed | ||
+ **`PKG`** : Update `Autodock Vina` from `1.2.0` to `1.2.5` | ||
+ **`PKG`** : Update `PLIP` from `2.0.0` to `2.2.2` | ||
+ **`SRC`** : Update source code to improve logic, clarity and compliance to PEP 8, PEP 3107 | ||
+ **`DSC`** : Rewrite cell description and form fields to improve clarity, accuracy and specificity | ||
+ **`PRE`** : Enable native ligand preparation step as `optional` [#3](https://github.com/RyanZR/labodock/issues/3) | ||
+ **`PRE`** : Replace molecule structure extraction code with vanilla `extract_entity()` function | ||
+ **`PRE`** : Replace `separate_chain()` function with vanilla `extract_chains()` function | ||
+ **`GBX`** : Encapsulate all grid box calculation functions into `GridBox()` class | ||
+ **`DCK`** : Change `--exhaustiveness` default value to `16` | ||
+ **`INT`** : Update `_cmpx.pdb` file generation code with `generate_cmpx_pdb()` function | ||
+ **`INT`** : Refactor `interaction_profiler()` into nested function | ||
+ **`RMS`** : Replace `get_RMSD()` function with `labo_RMSD()` method under `ComputeRMSD()` class to generate MCS-based RMSD | ||
+ **`RMS`** : Replace `get_score()` function with `vina_report()` function and `rmsd_report()` method to generate docking report | ||
+ **`VIS`** : Replace `VIEW()` function with `LaboSpace()` class to consolidate all visualisation functions | ||
|
||
### Fixed | ||
+ **`ENV`** : Conda base environment no longer corrupted from `MGLTools` installation | ||
+ **`SRC`** : Replace non-standard `for` loop with pythonic-style `for` loop | ||
|
||
### Removed | ||
+ **`SRC`** : Remove `{'run': 'auto'}` options | ||
+ **`DCK`** : Remove SDF generation step for docked ligand output file in `Process output file` cell | ||
|
||
### Deprecated | ||
+ **`PKG`** : Remove `MGLTools`, `Pybel`, `Biopython`, `xlswritter` | ||
|
||
*\* For [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb) only.* | ||
*\*\* Exclusively for virtual screening protocol.* | ||
|
||
<br/> | ||
## [1.2.2] - 2023-08-14 | ||
### Changed | ||
+ **`SRC`** : Update DataFrame merging method from `append()` to `concat()` | ||
+ **`RMS`** : Rename `labogrid()` function to `labox()` as per version 1.2.1 | ||
+ **`VIS`** : Reset `count` to `0` in all `VIEW_****()` functions | ||
|
||
### Fixed | ||
+ **`VIS`** : Correct input arguments for `py3Dmol.view()` function call in all `VIEW_****()` functions | ||
|
||
## [1.2.1] - 2023-08-12 | ||
This update applies to both [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb) and [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb). | ||
### Major Changes | ||
+ ⬆️ Upgraded packages to support python 3.10: py3Dmol 2.0.3, rdkit-pypi 2022.9.5, biopython 1.80, openbabel 3.1.1, zlib 1.2.13. | ||
+ ➕ Added `--cpu` parameter in `%vina` for performance improvement. | ||
+ ➕ Added `os.cpu_count()` to determine number of cpu cores available for `--cpu` usage. | ||
+ 🐛 Fixed incomplete visualisation of protein-ligand interactions in `VIEW_PILE()`. | ||
### Minor Changes | ||
+ ⚙️ Renamed **`LABOGRID`** to **[`LaBOX`](https://github.com/RyanZR/LaBOX)**. | ||
### Added | ||
+ **`DCK`** : Add `os.cpu_count()` to determine number of cpu cores available for `--cpu` parameter | ||
+ **`DCK`** : Add `--cpu` parameter in `%vina` to maximise CPU resource | ||
|
||
### Changed | ||
+ **`DSC`** : Rename **`LABOGRID`** to **[`LaBOX`](https://github.com/RyanZR/LaBOX)** | ||
+ **`PKG`** : Update packages: `py3Dmol 2.0.3`, `rdkit-pypi 2022.9.5`, `biopython 1.80`, `openbabel 3.1.1`, `zlib 1.2.13` | ||
+ **`SRC`** : Update `mamba` installation process | ||
|
||
<br/> | ||
### Fixed | ||
+ **`VIS`** : Fix incomplete visualisation of binding interactions in `VIEW_PILE()` function | ||
|
||
### Removed | ||
+ **`SRC`** : Remove unused space characters to improve PEP8 compliance | ||
|
||
## [1.2.0] - 2023-02-12 | ||
This update primarily focuses on improvements to [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb). | ||
### Major Changes | ||
+ ➕ Added 5 new methods for defining grid box. | ||
+ ➕ Added `showHs` argument in `VIEW_LIG()`. | ||
### Minor Changes | ||
+ ⚙️ Corrected a spelling error in the "Display 3D binding mode" section. | ||
+ ❌ Removed `AllChem.MMFFOptimizeMolecule()` in `VIEW_LIG()`. | ||
This update primarily focuses on improvements to [virtual_screening.ipynb](./notebooks/virtual_screening.ipynb) | ||
|
||
### Added | ||
+ **`GBX`** : Add 5 new methods for defining grid box | ||
+ **`VIS`** : Add `showHs` argument in `VIEW_LIG()` | ||
|
||
### Fixed | ||
+ **`DSC`** : Correct several spellings mistake | ||
|
||
<br/> | ||
### Removed | ||
+ **`VIS`** : Remove `AllChem.MMFFOptimizeMolecule()` in `VIEW_LIG()` | ||
|
||
## [1.1.0] - 2023-02-12 | ||
This update primarily focuses on improvements to [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb). | ||
### Major Changes | ||
+ ➕ Added 5 new methods for defining grid box. | ||
+ ➕ Added `showHs` argument in `VIEW_LIG()`. | ||
### Minor Changes | ||
+ ⚙️ Corrected a spelling error in the "Display 3D binding mode" section. | ||
+ ❌ Removed `AllChem.MMFFOptimizeMolecule()` in `VIEW_LIG()`. | ||
+ ❌ Removed `showBestPose` argument in `VIEW_PILE()`. | ||
This update primarily focuses on improvements to [basic_molecular_docking.ipynb](./notebooks/basic_molecular_docking.ipynb) | ||
|
||
<br/> | ||
### Added | ||
+ **`GBX`** : Add 5 new methods for defining grid box | ||
+ **`VIS`** : Add `showHs` argument in `VIEW_LIG()` | ||
|
||
### Removed | ||
+ **`VIS`** : Remove `AllChem.MMFFOptimizeMolecule()` in `VIEW_LIG()` | ||
+ **`VIS`** : Remove `showBestPose` argument in `VIEW_PILE()` | ||
|
||
## [1.0.0] - 2023-02-08 | ||
### Major Changes | ||
+ ➕ Added [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb) to supersede [🍊MOUNTAIN_V2](https://github.com/RyanZR/labodock/blob/main/deprecated/%F0%9F%8D%8AMOUNTAIN_V2.ipynb). | ||
+ ➕ Added [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb) to supersede [🍊UNION_V2](https://github.com/RyanZR/labodock/blob/main/deprecated/%F0%9F%8D%8AUNION_V2.ipynb). | ||
+ ➕ Integrated protein-ligand interaction analysis into [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb) and [virtual_screening](https://github.com/RyanZR/labodock/blob/main/notebooks/virtual_screening.ipynb). | ||
+ 🚫 Deprecated [🍊MOUNTAIN_V2](https://github.com/RyanZR/labodock/blob/main/deprecated/%F0%9F%8D%8AMOUNTAIN_V2.ipynb), [🍊UNION_V2](https://github.com/RyanZR/labodock/blob/main/deprecated/%F0%9F%8D%8AUNION_V2.ipynb) and [🍊UNION_V2](https://github.com/RyanZR/labodock/blob/main/deprecated/%F0%9F%8D%8AUNION_V2.ipynb). | ||
### Minor Changes | ||
+ 🐛 Fixed bug in `VIEW_PILE()` for [basic_molecular_docking](https://github.com/RyanZR/labodock/blob/main/notebooks/basic_molecular_docking.ipynb). | ||
### Added | ||
+ Add [basic_molecular_docking.ipynb](./notebooks/basic_molecular_docking.ipynb) to supersede [🍊MOUNTAIN_V2.ipynb](./deprecated/%F0%9F%8D%8AMOUNTAIN_V2.ipynb) | ||
+ Add [virtual_screening.ipynb](./notebooks/virtual_screening.ipynb) to supersede [🍊UNION_V2.ipynb](./deprecated/%F0%9F%8D%8AUNION_V2.ipynb) | ||
+ Add binding interaction analysis (PLIP) into both [basic_molecular_docking.ipynb](./notebooks/basic_molecular_docking.ipynb) and [virtual_screening.ipynb](./notebooks/virtual_screening.ipynb) | ||
|
||
### Deprecated | ||
+ Deprecate [🍊MOUNTAIN_V2.ipynb](./deprecated/%F0%9F%8D%8AMOUNTAIN_V2.ipynb) | ||
+ Deprecate [🍊UNION_V2.ipynb](./deprecated/%F0%9F%8D%8AUNION_V2.ipynb) | ||
+ Deprecate [🍊PLIA_V2.ipynb](./deprecated/%F0%9F%8D%8APLIA_V2.ipynb) | ||
|
||
## [0.0.0] - 2022-09-21 | ||
Initial commit. | ||
|
||
## Abbreviations | ||
**`PKG`** : Packages, **`ENV`** : Environment, **`SRC`** : Source code, **`DSC`** : Description, **`PRE`** : Preparation, **`ENM`** : Energy minimisation, **`GBX`** : Grid box , **`DCK`** : Docking, **`INT`** : Binding interactions, **`RMS`** : RMSD, **`ANL`** : Analysis, **`VIS`** : Visualisation | ||
|
||
[unreleased]: https://github.com/RyanZR/labodock/compare/v2.0.0...HEAD | ||
[2.0.0]: https://github.com/RyanZR/labodock/compare/v1.2.2...v2.0.0 | ||
[1.2.2]: https://github.com/RyanZR/labodock/commit/07cc2ff324e0b23f82e8b28083da4a3068d520fe | ||
[1.2.1]: https://github.com/RyanZR/labodock/commit/d394697a6d60041c5a0d2d358a1a6340eeace339 | ||
[1.2.0]: https://github.com/RyanZR/labodock/commit/8bca3ac5edea7edd52448ba96ead01f1986606fb | ||
[1.1.0]: https://github.com/RyanZR/labodock/commit/253fab528c1fc1f0b876a85fdf655338eb5cec6e | ||
[1.0.0]: https://github.com/RyanZR/labodock/commit/3b2805bf781e6a68ac33112b58a308edbdea5913 | ||
[0.0.0]: https://github.com/RyanZR/labodock/commit/dd4a6b77f7da21770a2c11a20eda40f2ee2e2059 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.