What's Changed
Following files were created:
-
mdonatello.py
created with following classes:-
MoleculeVisualizer
A class for small molecule 2D visualization in jupyter notebook consisting of:__init__
, which initializes the MoleculeVisualizer with an AtomGroup and visualization options.initialize_widgets
, which initializes the interactive widgets for molecule visualization.initialize_output
, which initializes the output display and arranges the widgets in the interface.link_widget_callbacks
, which links the interactive widgets to the update_display method to reflect changes.update_display
, which updates the molecule display based on the current selections.save_selected_molecule
, which saves the currently selected molecule as a PNG file.
-
-
drawer.py
created with following classes:-
PharmacophoreHighlighter
A class responsible for highlighting of the pharmacophore features in a molecule consisting of:__init__
, which initializes the PharmacophoreHighlighter with a molecule, pharmacophore checkboxes, and an RDKit feature factory.determine_highlights
, which determines the atom and bond indices to highlight them based on the selected pharmacophore features.
-
FunctionalGroupHighlighter
A class responsible for highlighting of the functional groups in a molecule consisting of:__init__
, which initializes the FunctionalGroupHighlighter with a molecule and functional group checkboxes.determine_highlights
, which determines the atom and bond indices to highlight based on the selected functional groups.
-
RotatableBondsHighlighter
A class responsible for highlighting of rotatable bonds in a molecule consisting of:__init__
, which initializes the RotatableBondsHighlighter with a molecule and a checkbox for rotatable bonds.determine_highlights
, which determines the atom and bond indices to highlight them based on the presence of rotatable bonds.
-
PartialChargeHighlighter
A class responsible for highlighting of partial charges in a molecule consisting of:__init__
, which initializes the PartialChargeHighlighter with a molecule and a checkbox for partial charges.determine_highlights
, which determines the atom and bond indices to highlight them based on the partial charges.
-
StereocenterHighlighter
A class responsible for highlighting of stereocenters in a molecule consisting of:__init__
, which initializes the StereocenterHighlighter with a molecule and a checkbox for stereocenters.determine_highlights
, which determines the atom and bond indices to highlight based on their stereocenter configuration.
-
MurckoScaffoldHighlighter
A class responsible for highlighting of the Murcko scaffold in a molecule consisting of:__init__
, which initializes the MurckoScaffoldHighlighter with a molecule and a checkbox for Murcko scaffolds.determine_highlights
, which determines the atom and bond indices to highlight them based on the presence of Murcko scaffolds.
-
MoleculeDrawer
A class for drawing a molecule with various highlighted features consisting of:__init__
, which initializes the MoleculeDrawer with a molecule and various highlighting checkboxes and features.draw_molecule
, which draws the molecule with the highlighted features.
-
-
mapper.py
created with following classes:-
FunctionalGroupHandler
A class that is responsible for handling functional groups in molecules consisting of:calculate_functional_groups
, which identifies, calculates and counts the functional groups present in the given RDKit molecule.get_color_for_functional_group
, which determines the color associated with the given functional group based on its chemical structure.
-
PharmacophoreColorMapper
A class for mapping pharmacophore features according to their respective colors consisting of:get_color_for_pharmacophore
, which determines the color associated with the given pharmacophore feature family.
-
-
properties.py
created with following classes:-
Property
A base class for representing a property of a molecule consisting of:__init__
, which initializes the Property class with a molecule.property_value
, which is abstract method to be implemented by subclasses to calculate the property value.__repr__
, which returns the HTML-formatted string representation of the property name and value..
-
MolecularWeight
A class for calculating the molecular weight of a molecule. -
LogP
A class for calculating the LogP value of a molecule. -
TPSA
A class for calculating the TPSA value of a molecule. -
RotatableBonds
A class for calculating the number of the rotatable bonds of a molecule. -
HydrogenBondAcceptors
A class for calculating the number of the hydrogen bond acceptors of a molecule. -
HydrogenBondDonors
A class for calculating the number of the hydrogen bond donors of a molecule. -
Stereocenters
A class for calculating the number of stereocenters of a molecule.
-
-
Following Pytests were created:
test_mdonatello.py
for the testing ofmdonatello.py
test_drawer.py
for the testing ofdrawer.py
test_mapper.py
for the testing ofmapper.py
-
Documentation was created an uploaded to:
-
Following Workflow files were created:
Linux_CI_CD.yml
for Linux based systemsMacOS_CI_CD.yml
for MacOS based systemsWindows_CI_CD.yml
for Windows based systems
-
Removed
analysis
folder, due to not using it
Full Changelog: https://github.com/talagayev/MDonatello/commits/0.0.1