diff --git a/openff/toolkit/topology/molecule.py b/openff/toolkit/topology/molecule.py index 24097677c..6710dd7ba 100644 --- a/openff/toolkit/topology/molecule.py +++ b/openff/toolkit/topology/molecule.py @@ -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"`` @@ -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 @@ -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 \ + ` - :meth:`OpenEyeToolkitWrapper.assign_partial_charges \ ` - :meth:`RDKitToolkitWrapper.assign_partial_charges \ @@ -2606,6 +2611,11 @@ def assign_partial_charges( - :meth:`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 @@ -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: