Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I suspected this the other month when trying to handle Rich A's example of the fullerene with a custom template. The TemplateHandler used for 2d substructure templates has been out of action for a while. This patch updates it to newer graph (sub)isomorphism APIs and adds some utils for aligning to a reference.
The primary use case I wanted was to align depictions to a common (sub)structure:
It turns out you get some odd layouts now it's fixed, the default library has 5 templates, the forth one (a macrocycle) hit one of my tests and threw up something unexpected:
For now I've disabled the templates by default due to this. One way to have the best of both would be to have two sets of substructure templates, ring systems / general. We only match the ring templates if there are no bridges. Open to other suggestions.