Releases: openforcefield/openff-fragmenter
0.2.2
What's Changed
- Fix documentation build failures by @Yoshanuikabundi in #170
- Update tests by @mattwthompson in #171
- Toolkit manager by @mattwthompson in #172
- Suppress warnings in tests by @mattwthompson in #174
- Drop Python 3.9 by @mattwthompson in #176
- Fix 177 by @j-wags in #178
Full Changelog: 0.2.1...0.2.2
0.2.1
What's Changed
- Fix test_depiction now that toolkit doesn't handle radicals by @j-wags in #151
- Add link to OpenFF install guide by @Yoshanuikabundi in #157
- Fail OpenEye checks if installed but not licensed by @mattwthompson in #164
- Test on Pydantic v1 and v2 by @mattwthompson in #165
- Remove use of
pkg_resources
by @mattwthompson in #166
New Contributors
Full Changelog: 0.2.0...0.2.1
0.2.0
This small release updates internal API calls for version 0.11.0 of the OpenFF Toolkit.
What's Changed
- Docs update by @Yoshanuikabundi in #143
- Update CI and test environment for OpenFF Toolkit 0.11.0 by @mattwthompson in #147
- Remove deprecation warning in example by @mattwthompson in #148
New Contributors
- @Yoshanuikabundi made their first contribution in #143
Full Changelog: 0.1.2...0.2.0
0.1.2
0.1.1
0.1.0
This release marks the first in which the OpenEye toolkit is no longer required to use this package. From this release onwards either the OpenEye toolkit or a combination of RDKit and AmberTools can be used to power the fragmentation.
The use of open source and freely available backends has been made possible through a re-write of the framework to be based around the openff-toolkit
. While every care has been taken to ensure that this release after the re-write produces fragments which are similar to those generated by previous releases, there will likely be differences due to how newer versions of OpenEye and how AmberTools both generate conformers and compute the Wiberg Bond orders.
Possible Behaviour Changes
-
While the OpenFF toolkit should give very similar WBOs to the pure OE approach previously used this may not be guaranteed in all cases - it seems that the older versions of OE will produce slightly different WBOs for the same input conformer when computing them using a newer OE version but the same input conformer. See #80 for details.
-
The number of conformers used to compute the average WBO may be less after the refactor. It seems that setting
omega.SetCanonOrder(True)
(old behaviour) will lead to more conformers than setting it to false (OpenFF toolkit behaviour). See #80 for this change. -
Ortho groups are now detected using SMARTS matching approach (see #83). The fixes the issues found in older version where non-ortho groups would be falsely flagged and retained.
-
When expanding fragments to include the functional groups an atom is in all functional groups the atom appears in are now considered. Previously only the last group an atom was assigned to would be considered. See #84, #88 and #91.
-
The OE code which extracts the fragment molecule from the parent based on a set of atom and bond indices was modified to include hydrogens which are bound to atoms to include in the substructure search. This is so that those in the final fragment will retain their map indices which should be more helpful and will also more closely match of the output of the RDKit implementation. See #89.
-
The indexing of some rings may change after #90 when using OpenEye due to differences in how the OpenFF toolkit canonically orders OE molecules.
Pre-print
0.0.6: Merge pull request #56 from openforcefield/pfizer
Use Pfizer's minimal fragment for WBO minimal fragment. Reasoning is provided in #56
Added minimal fragment fragmenation scheme
The following features were added:
- Minimal fragmentation scheme described in 10.1021/acs.jcim.9b00373 is now available as
fragment.PfizerFragmenter()
- Added functional groups to list of functional groups not to fragment
The following bugs were fixed or work-around added:
- Known issue with failing to charge carboxylic acid was given work-around.
- Create new fragment from SMILES before charging because the atom bond set sometimes messes up connectivity and then the charging doesn't work
- Stop growing fragment if it reaches parent molecule.
Refactored state enumeration API and documentation
Changes in this release:
- Protonation/tautomer/stereochemistry enumeration is now handled by
fragmenter.states.enumerate_states
- Added basic API documentation
- Cleanup of imports
Known issues:
- Stereochemistry can flip in the fragment relative to parent.
- WBO calculations can take long for larger molecules