This script will break up a set of input molecules into fragments based on some simple rules, similar to those described in the original RECAP paper.
1. Never cut a hydrogen-connecting bond. 2. Never cut a bond connecting a ring-carbon and a hetero atom (optional). 3. Never cut ring bonds. 4. Refuse a fragment if it is in the SMARTS file specified by -smarts. 5. Refuse a fragment if the number of open bonds exceeds the specified limit. 6. Refuse a fragment if the number of atoms is less than -number.
The script fragment_molecule.py is used to implement this node.