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

Compounds filtering #30

Open
rubbs14 opened this issue Oct 29, 2024 · 3 comments
Open

Compounds filtering #30

rubbs14 opened this issue Oct 29, 2024 · 3 comments

Comments

@rubbs14
Copy link

rubbs14 commented Oct 29, 2024

It would be great to add some custom substructure filters to eliminate some undesired chemistry. NIBR filters built-in in the contrib dir is a good starting point, but it's single-threaded so it needs a bit of a speedup. Custom FilterCatalog modules can be also added

@rubbs14
Copy link
Author

rubbs14 commented Oct 29, 2024

NIBR implementation:
Contrib/NIBRSubstructureFilters

@DrrDom
Copy link
Owner

DrrDom commented Nov 19, 2024

I looked through these patterns. If molecules containing these patterns will be removed before CReM fragment database creation, the vast majority of these patterns will not appear in output molecules if a user will choose radius 3 or greater. With radius 2 some of these patterns can be re-created.

This is an important feature of CReM, because there is possible to avoid generation of molecules with undesired patterns and it is better than remove them later. The rule is that patterns of the size (graph diameter) equal or smaller than a chosen radius should not be recreated by design.

It might be reasonable to implement some common filtering strategies to suggest users post-processing of generated structures, but maybe not within this repository to keep flexibility and the less number of inter connections within the repository.

@DrrDom
Copy link
Owner

DrrDom commented Nov 19, 2024

One more note. CReM cannot create new rings absent in a fragment database, so any cycles in molecules removed before fragmentation will never appear in output. This is irrespective to the chosen radius.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants