Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RGD highlights as in blog post #7322

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Commits on Mar 25, 2024

  1. Code/GraphMol/Depictor/RDDepictor.h

    - fixed typo in docstring
    Code/GraphMol/RGroupDecomposition/RGroupCore.cpp
    - added a missing const; formatting changes
    Code/GraphMol/RGroupDecomposition/RGroupData.cpp, Code/GraphMol/RGroupDecomposition/RGroupData.h
    - moved the code which merges disconnected R groups sharing the same attachment point into a single combined molecule to a private method, RGroupData::mergeIntoCombinedMol(). The method also includes logic to merge atom and bond highlights, if present.
    - modernized a for loop
    - isMolHydrogen is now a static function since it does not actually require any instance data
    - implemented three static function to return the R group, Core and Mol labels, respectively
    Code/GraphMol/RGroupDecomposition/RGroupDecomp.cpp, Code/GraphMol/RGroupDecomposition/RGroupDecomp.h
    - implemented two private methods, RGroupDecomposition::labelAtomBondIndices() and RGroupDecomposition::setTargetAtomBondIndices(). The first method tags all atoms and bonds in the target molecule such that they can be tracked following core removal by RDKit::replaceCore(). The second method sets common_properties::_rgroupTargetAtoms and common_properties::_rgroupTargetBonds properties on core and R groups. These are vectors of atom and bond indices in the target molecule corresponding to core and R group atom/bonds, respectively, and can be used for color-coding the target molecule according to the R group decomposition it was subjected to, similarly to https://greglandrum.github.io/rdkit-blog/posts/2021-08-07-rgd-and-highlighting.html
    Code/GraphMol/RGroupDecomposition/RGroupDecompData.cpp
    - formatting changes and for loop modernization
    Code/GraphMol/RGroupDecomposition/RGroupDecompParams.cpp, Code/GraphMol/RGroupDecomposition/RGroupDecompParams.h
    - implemented updateRGroupDecompositionParametersFromJSON()
    - added includeTargetMolInResults boolean parameter
    Code/GraphMol/RGroupDecomposition/RGroupMatch.h
    - implemented RGroupMatch::setTargetMoleculeForHighlights() and RGroupMatch::getTargetMoleculeForHighlights() methods to, respectively set and get the target molecule where R group decomposition can be color-coded with highlights. This molecule includes the explicit H atoms corresponding to extracted R groups, if any.
    Code/GraphMol/RGroupDecomposition/Wrap/rdRGroupComposition.cpp
    - use a std::unique_ptr to store the pointer to the C++ RGroupDecomposition instance
    - fixed typos in docstrings
    Code/GraphMol/RGroupDecomposition/Wrap/test_rgroups.py
    - added test for the new includeTargetMolInResults parameter
    Code/GraphMol/RGroupDecomposition/catch_rgd.cpp
    - added test for the new includeTargetMolInResults parameter
    Code/GraphMol/RGroupDecomposition/testRGroupDecomp.cpp
    - formatting changes
    Code/GraphMol/RGroupDecomposition/testRGroupInternals.cpp
    - do not use deprecated constant
    Code/MinimalLib/CMakeLists.txt
    - added RDK_BUILD_MINIMAL_LIB_RGROUPDECOMP CMake flag to optionally expose R group decomposition functionality into MinimalLib
    Code/MinimalLib/common.h
    - added makeDummiesQueries flag to mol_from_input() (defaults to false)
    - implemented parse_highlight_multi_colors() function to parse multi-color atom and bond highlights
    - enable multi-color atom and bond highlighting
    Code/MinimalLib/demo/rgd_demo.html
    - added HTML page showcasing the multi-color highlights similarly to https://greglandrum.github.io/rdkit-blog/posts/2021-08-07-rgd-and-highlighting.html
    Code/MinimalLib/jswrapper.cpp
    - removed checks for non-nullness of d_mol as d_mol cannot be directly accessed anymore
    - replaced all instances of d_mol with get()
    - implemented support for multi-color atom and bond highlights
    - implemented optional support for R group decomposition
    - added JSMol::copy() convenience method with same functionality as get_mol_copy() to duplicate a molecule
    Code/MinimalLib/minilib.cpp, Code/MinimalLib/minilib.h
    - replaced all occurrences of d_mol with get(), as d_mol is now private
    - removed all occurrences of assert(d_mol) as non-nullness is checked at construction time and whenever get() is called
    - JSMol is now split into two subbclasses, JSMolUnique and JSMolShared, which both inherit from the JSMol base class. JSMolUnique can be constructed from a RWMol* (as the old JSMol), while JSMolShared can be constructed from a ROMOL_SPTR. This avoids unnecessary copies when wrapping a ROMOL_SPTR (e.g., from subtructure library, JSMolList or R group decomposition) into a JSMol to pass it to JS. This also avoids that modifications done in the JS layer on a molecule stored in a MolList (e.g., adding a property) are not persisted because they are carried out on a volatile copy of the molecule rather than on the actual molecule.
    Code/MinimalLib/tests/tests.js
    - added a test for pesistence of modifications made to JSSharedMol
    - added tests for RGD
    - added test for JSMol::copy()
    Code/RDGeneral/RDValue.h
    - removed trailing comma from vector properties such that they can be deserialized as syntactically correct JSON
    Code/RDGeneral/types.cpp, Code/RDGeneral/types.h
    - added _rgroupTargetAtoms and _rgroupTargetBonds common_properties
    ptosco committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    456f27a View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Code/GraphMol/Depictor/RDDepictor.h

    - fixed typo in docstring
    Code/GraphMol/RGroupDecomposition/RGroupCore.cpp
    - added a missing const; formatting changes
    Code/GraphMol/RGroupDecomposition/RGroupData.cpp, Code/GraphMol/RGroupDecomposition/RGroupData.h
    - moved the code which merges disconnected R groups sharing the same attachment point into a single combined molecule to a private method, RGroupData::mergeIntoCombinedMol(). The method also includes logic to merge atom and bond highlights, if present.
    - modernized a for loop
    - isMolHydrogen is now a static function since it does not actually require any instance data
    - implemented three static function to return the R group, Core and Mol labels, respectively
    Code/GraphMol/RGroupDecomposition/RGroupDecomp.cpp, Code/GraphMol/RGroupDecomposition/RGroupDecomp.h
    - implemented two private methods, RGroupDecomposition::labelAtomBondIndices() and RGroupDecomposition::setTargetAtomBondIndices(). The first method tags all atoms and bonds in the target molecule such that they can be tracked following core removal by RDKit::replaceCore(). The second method sets common_properties::_rgroupTargetAtoms and common_properties::_rgroupTargetBonds properties on core and R groups. These are vectors of atom and bond indices in the target molecule corresponding to core and R group atom/bonds, respectively, and can be used for color-coding the target molecule according to the R group decomposition it was subjected to, similarly to https://greglandrum.github.io/rdkit-blog/posts/2021-08-07-rgd-and-highlighting.html
    Code/GraphMol/RGroupDecomposition/RGroupDecompData.cpp
    - formatting changes and for loop modernization
    Code/GraphMol/RGroupDecomposition/RGroupDecompParams.cpp, Code/GraphMol/RGroupDecomposition/RGroupDecompParams.h
    - implemented updateRGroupDecompositionParametersFromJSON()
    - added includeTargetMolInResults boolean parameter
    Code/GraphMol/RGroupDecomposition/RGroupMatch.h
    - implemented RGroupMatch::setTargetMoleculeForHighlights() and RGroupMatch::getTargetMoleculeForHighlights() methods to, respectively set and get the target molecule where R group decomposition can be color-coded with highlights. This molecule includes the explicit H atoms corresponding to extracted R groups, if any.
    Code/GraphMol/RGroupDecomposition/Wrap/rdRGroupComposition.cpp
    - use a std::unique_ptr to store the pointer to the C++ RGroupDecomposition instance
    - fixed typos in docstrings
    Code/GraphMol/RGroupDecomposition/Wrap/test_rgroups.py
    - added test for the new includeTargetMolInResults parameter
    Code/GraphMol/RGroupDecomposition/catch_rgd.cpp
    - added test for the new includeTargetMolInResults parameter
    Code/GraphMol/RGroupDecomposition/testRGroupDecomp.cpp
    - formatting changes
    Code/GraphMol/RGroupDecomposition/testRGroupInternals.cpp
    - do not use deprecated constant
    Code/MinimalLib/CMakeLists.txt
    - added RDK_BUILD_MINIMAL_LIB_RGROUPDECOMP CMake flag to optionally expose R group decomposition functionality into MinimalLib
    Code/MinimalLib/common.h
    - added makeDummiesQueries flag to mol_from_input() (defaults to false)
    - implemented parse_highlight_multi_colors() function to parse multi-color atom and bond highlights
    - enable multi-color atom and bond highlighting
    Code/MinimalLib/demo/rgd_demo.html
    - added HTML page showcasing the multi-color highlights similarly to https://greglandrum.github.io/rdkit-blog/posts/2021-08-07-rgd-and-highlighting.html
    Code/MinimalLib/jswrapper.cpp
    - removed checks for non-nullness of d_mol as d_mol cannot be directly accessed anymore
    - replaced all instances of d_mol with get()
    - implemented support for multi-color atom and bond highlights
    - implemented optional support for R group decomposition
    - JSMol is now split into two subbclasses, JSMol and JSMolShared, which both inherit from the JSMolBase class. While JSMol can be constructed from a RWMol* as usual, JSMolShared can be constructed from a ROMOL_SPTR. This avoids unnecessary copies when wrapping a ROMOL_SPTR (e.g., from subtructure library, JSMolList or R group decomposition) into a JSMol to pass it to JS. This also avoids that modifications done in the JS layer on a molecule stored in a MolList (e.g., adding a property) are not persisted because they are carried out on a volatile copy of the molecule rather than on the actual molecule.
    - added JSMolBase::copy() convenience method with same functionality as get_mol_copy() to duplicate a molecule
    Code/MinimalLib/minilib.cpp, Code/MinimalLib/minilib.h
    - replaced all occurrences of d_mol with get(), as d_mol is now private
    - removed all occurrences of assert(d_mol) as non-nullness is checked at construction time and whenever get() is called
    Code/MinimalLib/tests/tests.js
    - added a test for pesistence of modifications made to JSMolShared
    - added tests for RGD
    - added test for JSMolBase::copy()
    Code/RDGeneral/RDValue.h
    - removed trailing comma from vector properties such that they can be deserialized as syntactically correct JSON
    Code/RDGeneral/types.cpp, Code/RDGeneral/types.h
    - added _rgroupTargetAtoms and _rgroupTargetBonds common_properties
    ptosco committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    7362fd1 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'rgd-highlights-as-in-blog-post' of https://github.com/p…

    …tosco/rdkit into rgd-highlights-as-in-blog-post
    ptosco committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    c1f24cd View commit details
    Browse the repository at this point in the history
  3. added assignChiralTypesFromMolParity flag

    ptosco committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    94fbe5b View commit details
    Browse the repository at this point in the history
  4. added test for makeDummiesQueries

    ptosco committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    7230399 View commit details
    Browse the repository at this point in the history
  5. added CFFI tests

    ptosco committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    33335c0 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. Merge remote-tracking branch 'upstream/master' into rgd-highlights-as…

    …-in-blog-post
    ptosco committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    a557d3c View commit details
    Browse the repository at this point in the history