Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/releasehistory.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,21 @@ Releases follow the `major.minor.micro` scheme recommended by [PEP440](https://w
* `minor` increments add features but do not break API compatibility
* `micro` increments represent bugfix releases or improvements in documentation

## Current development

### API-breaking changes
## 0.19.0

### Behavior changes
- [PR #2225](https://github.com/openforcefield/openff-toolkit/pull/2225): If a ParameterType object has attributes with `None` values, the `to_dict` method will now stringify them into `"None"`. Note that this is required to preserve the behavior of `to_xml` in recent versions of `xmltodict`.

- [PR #2225](https://github.com/openforcefield/openff-toolkit/pull/2225): If a ParameterType object has attributes with `None` values, the `to_dict` method will now stringify them into `"None"`. Note that this is required to preserve the behavior of `to_xml` when using `xmltodict` version 1.0.3 and greater.

### Bugfixes

- [PR #2225](https://github.com/openforcefield/openff-toolkit/pull/2225): Fixes [Issue 2150](https://github.com/openforcefield/openff-toolkit/issue/2150) in which `ForceField.to_string()`/`to_file()` would fail to round-trip `VirtualSite` parameters with `None`-valued attributes (such as `outOfPlaneAngle`/`inPlaneAngle` on `BondCharge` sites) when using `xmltodict>=1.0.3`.

### New features

### Improved documentation and warnings

- [PR #2156](https://github.com/openforcefield/openff-toolkit/pull/2156): Update `ForceField.label_molecules` docstring.
- [PR #2185](https://github.com/openforcefield/openff-toolkit/pull/2185): Update `Molecule.assign_partial_charges` docstring to have examples of using AshGC.
- [PR #2214](https://github.com/openforcefield/openff-toolkit/pull/2214): Update examples to use Sage 2.3.0, use RDKit and OpenFF NAGL, and skip optionally installing OpenEye Toolkits.

### Miscellaneous improvements
Expand All @@ -30,6 +29,7 @@ Releases follow the `major.minor.micro` scheme recommended by [PEP440](https://w
- [PR #2170](https://github.com/openforcefield/openff-toolkit/pull/2170): Consolidate Pytest configuration, improve some internal tests.
- [PR #2201](https://github.com/openforcefield/openff-toolkit/pull/2201): Use `setuptools-scm` for version handling.
- [PR #2226](https://github.com/openforcefield/openff-toolkit/pull/2226): Add reruns to failing notebook tests to (hopefully) avoid sporadic failures.

## 0.18.1

### Behavior changes
Expand Down
17 changes: 16 additions & 1 deletion openff/toolkit/topology/molecule.py
Original file line number Diff line number Diff line change
Expand Up @@ -2573,6 +2573,7 @@ def assign_partial_charges(
Supported charge methods vary from toolkit to toolkit, but some
supported methods are:

- ``"openff-gnn-am1bcc-1.0.0.pt"``, codename "AshGC"
- ``"am1bcc"``
- ``"am1bccelf10"`` (requires OpenEye Toolkits)
- ``"am1-mulliken"``
Expand All @@ -2583,7 +2584,9 @@ def assign_partial_charges(
in the charge calculation. Instead, any conformers needed for
the charge calculation are generated by this method. If this
behavior is undesired, specific conformers can be provided via the
``use_conformers`` argument.
``use_conformers`` argument. These options do not apply to charges
generated from graph-convolutional neural networks (GCNNs) like
AshGC, which do not use conformers at all.

ELF10 methods will neither fail nor warn when fewer than the
expected number of conformers could be generated, as many small
Expand All @@ -2597,6 +2600,8 @@ def assign_partial_charges(
For more supported charge methods and their details, see the
corresponding methods in each toolkit wrapper:

- :meth:`NAGLToolkitWrapper.assign_partial_charges \
<openff.toolkit.utils.toolkits.NAGLToolkitWrapper.assign_partial_charges>`
- :meth:`OpenEyeToolkitWrapper.assign_partial_charges \
<openff.toolkit.utils.toolkits.OpenEyeToolkitWrapper.assign_partial_charges>`
- :meth:`RDKitToolkitWrapper.assign_partial_charges \
Expand All @@ -2606,6 +2611,11 @@ def assign_partial_charges(
- :meth:`BuiltInToolkitWrapper.assign_partial_charges \
<openff.toolkit.utils.toolkits.BuiltInToolkitWrapper.assign_partial_charges>`

For more on some charge methods supported by SMIRNOFF force fields such as Sage,
see the following sections of the SMIRNOFF specification:

.. _NAGLCharges: https://openforcefield.github.io/standards/standards/smirnoff/\
#naglcharges-use-a-specified-nagl-model-file-for-charge-assignment
.. _ToolkitAM1BCC: https://openforcefield.github.io/standards/standards/smirnoff/\
#toolkitam1bcc-temporary-support-for-toolkit-based-am1-bcc-partial-charges

Expand Down Expand Up @@ -2633,6 +2643,11 @@ def assign_partial_charges(
Examples
--------

Assign AshGC charges to a long alkane:

>>> c200 = Molecule.from_smiles(200 * "C")
>>> c200.assign_partial_charges("openff-gnn-am1bcc-1.0.0.pt")

Generate AM1 Mulliken partial charges. Conformers for the AM1
calculation are generated automatically:

Expand Down
Loading