Skip to content
Open
Show file tree
Hide file tree
Changes from 4 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
1 change: 1 addition & 0 deletions docs/releasehistory.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Please note that all releases prior to a version 1.0.0 are considered pre-releas
* #1452 Better manage some caches by invalidate OpenMM export-specific caches at export time
* #1468 Update charge assignment documentation to include NAGL-based charge models.
* #1481 Ensured box vectors and positions were stored internally in nanometers if passed in as other compatible units such as Angstroms.
* #1487 Change charge logging level to `logging.DEBUG`

## 0.5.2 - 2025-03-02

Expand Down
21 changes: 11 additions & 10 deletions docs/using/advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@ If a molecule gets charges from one method, attempts to match charges for later

After all (mass-bearing) atoms have partial charges assigned, virtual sites are given charges by transferring charge from the atoms they are associated with ("orientation" atoms) according to the parameters of the force field. (The value of these parameters can be 0.0.)

Given this complexity, it may be useful to track how each atom actually got charges assigned. Interchange has opt-in logging to track this behavior. This uses the [standard library `logging` module](https://docs.python.org/3/library/logging.html) at the `INFO` level. The easiest way to get started is by adding something like `logging.basicConfig(level=logging.INFO)` to the beginning of a script or program. For example, this script:
Given this complexity, it may be useful to track how each atom actually got charges assigned. Interchange has opt-in logging to track this behavior. This uses the [standard library `logging` module](https://docs.python.org/3/library/logging.html) at the `logging.DEBUG` level. The easiest way to get started is by adding something like `logging.getLogger("openff.interchange").setLevel(logging.DEBUG)` to the beginning of a script or program. For example, this script:

```python
import logging

from openff.toolkit import ForceField, Molecule

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("openff.interchange").setLevel(logging.DEBUG)
Comment thread
mattwthompson marked this conversation as resolved.
Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(not blocking) Could this all be done in a single line, like?

logging.basicConfig(level=logging.DEBUG)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A user could do that, but changing the level of the root logger can have unintended consequences with other libraries that provide logging - including the toolkit (below). Getting a logger of just one module make this more targeted

In [1]: import logging

In [2]: from openff.toolkit import ForceField, Molecule
The OpenEye Toolkits are found to be installed but not licensed and therefore will not be used.
The OpenEye Toolkits require a (free for academics) license, see https://docs.eyesopen.com/toolkits/python/quickstart-python/license.html
The OpenEye Toolkits are found to be installed but not licensed and therefore will not be used.
The OpenEye Toolkits require a (free for academics) license, see https://docs.eyesopen.com/toolkits/python/quickstart-python/license.html

In [3]: logging.basicConfig(level=logging.DEBUG)

DEBUG:asyncio:Using selector: KqueueSelector
In [4]: ForceField("openff-2.2.0.offxml").create_interchange(
   ...:     Molecule.from_smiles("CCO").to_topology()
   ...: )
/Users/mattthompson/software/openff-interchange/openff/interchange/components/interchange.py:1119: FutureWarning: `torch.distributed.reduce_op` is deprecated, please use `torch.distributed.ReduceOp` instead
  if isinstance(obj, functools._lru_cache_wrapper) and obj.__module__.startswith("openff.interchange"):
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for BondHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]                                                :        2 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X3:2]=[#8X1+0]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]:[#6X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#6X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#7X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#7X3:2]-[#6X3]=[#8X1+0]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1](=[#8X1+0])-[#7X3:2]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#7X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]:[#7X2,#7X3+1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#7X2,#7X3+1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1](~!@[#7X3])(~!@[#7X3])~!@[#7X3:2]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#8:2]                                                    :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#8X1-1:2]                                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#8X2H0:2]                                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#8X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#8X2H1:2]                                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3a:1]-[#8X2H0:2]                                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1](=[#8X1])-[#8X2H0:2]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]=[#8X1+0,#8X2+1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1](~[#8X1])~[#8X1:2]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]~[#8X2+1:2]~[#6X3]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]-[#6:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]-[#6X4:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]=[#6X3:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]#[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]#[#6X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]-[#8X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]-[#7:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]=[#7:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]=[#6:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]=[#16:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X3:1]-[#7X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X2:1]-[#7X2:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]:[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]=[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7+1:1]=[#7-1:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]#[#7:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#8X2:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]~[#8X1:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2:1]-[#8X2,#8X1-1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#6:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#1:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#16:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#9:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#17:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#35:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#53:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1,#16X3+1:1]-[#6X4:2]                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1,#16X3+1:1]-[#6X3:2]                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1:1]-[#7:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2:1]-[#8X2:2]                                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2:1]=[#8X1,#7X2:2]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3!+1:1]-[#6:2]                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3:1]~[#7:2]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3:1]~[#7X2:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3:1]-[#8X2:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3:1]~[#8X1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#1:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]~[#6:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#7:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]=[#7:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]~[#8X2:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]~[#8X1:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]-[#15:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]=[#16X1:2]                                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#9:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#9:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#17:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#17:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#35:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#35:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#53:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#53:2]                                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#9:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#17:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#35:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#53:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#9:2]                                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#17:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#35:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]-[#53:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#1:2]                                                  :        5 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#1:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]-[#1:2]                                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]-[#1:2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8:1]-[#1:2]                                                    :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:8 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for ConstraintHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[*:2]                                                     :        6 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2H2+0:2]-[#1]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2H2+0]-[#1:2]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:6 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for AngleHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X4:2]-[*:3]                                             :       24 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#1:3]                                           :        8 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r3:1]~;@[*;r3:2]~;!@[*:3]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~;!@[*;r3:2]~;!@[*:3]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[*;r3:2]~;!@[*:3]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6r4:1]-;@[#6r4:2]-;@[#6r4:3]                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[!#1:1]-[#6r4:2]-;!@[!#1:3]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[!#1:1]-[#6r4:2]-;!@[#1:3]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]~[*:3]                                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X3:2]~[*:3]                                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X3:2]-[#1:3]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r6:1]~;@[*;r5:2]~;@[*;r5;x2:3]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r6:1]~;@[*;r5;x4,*;r5;X4:2]~;@[*;r5;x2:3]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~;!@[*;X3;r5:2]~;@[*;r5:3]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#6X3:2]~[#8:3]                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X2:2]~[*:3]                                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]~[*:3]                                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X4,#7X3,#7X2-1:2]~[*:3]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]@-[r!r6;#7X4,#7X3,#7X2-1:2]@-[*:3]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X4,#7X3,#7X2-1:2]-[*:3]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3$(*~[#6X3,#6X2,#7X2+0]):2]~[*:3]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X3$(*~[#6X3,#6X2,#7X2+0]):2]-[*:3]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2+0:2]~[*:3]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2+0:2]~[#6X2:3](~[#16X1])                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X2+0:2]~[*:3]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6,#7,#8:1]-[#7X3:2](~[#8X1])~[#8X1:3]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#7X3:2]~[#8X1:3]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]~[#7X1:3]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8:2]-[*:3]                                               :        2 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3,#7:1]~;@[#8;r:2]~;@[#6X3,#7:3]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2+1:2]=[*:3]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4:2]~[*:3]                                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#16X4,#16X3+0:2]~[*:3]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X3$(*~[#8X1,#7X2]):2]~[*:3]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X2,#16X3+1:2]~[*:3]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#16X2:2]=[*:3]                                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#16X2:2]=[#8:3]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X2:2]-[#6X3:3]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X2:2]-[#6X4:3]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X2:2]-[#1:3]                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#15:2]~[*:3]                                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r5:1]1@[*;r5:2]@[*;r5:3]@[*;r5]@[*;r5]1                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r5:1]1@[#16;r5:2]@[*;r5:3]@[*;r5]@[*;r5]1                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*;r3:1]1~;@[*;r3:2]~;@[*;r3:3]1                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:13 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for ProperTorsionHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X4:3]-[*:4]                                    :       18 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#6X4:3]-[#6X4:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#1:4]                                  :       12 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#6X4:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2:1]-[#6X4:2]-[#6X4:3]-[#8X2:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#9:1]-[#6X4:2]-[#6X4:3]-[#9:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#17:1]-[#6X4:2]-[#6X4:3]-[#17:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#35:1]-[#6X4:2]-[#6X4:3]-[#35:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#8X2:4]                                :        3 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#9:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#17:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X4:3]-[#35:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X4;r3:3]-[*:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X4;r3:3]-[#6X4;r3:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4;r3:2]-@[#6X4;r3:3]-[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-[#6X4;r3:2]-[#6X4;r3:3]-[*:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]-[#6X4:3]-[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X3:3]=[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X3:3](~[#8X1])~[#8X1:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#6X3:3](~!@[#7X3])~!@[#7X3:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X3:3]=[#8X1:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X3:3](~[#8X1])~[#8X1:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#6X3:3]=[#6X3:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X4:2]-[#6X3:3]=[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X3:1]-[#6X4:2]-[#6X3:3]-[#7X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#6X3:3]-[#7X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1,#16X3+1:1]-[#6X3:2]-[#6X4:3]-[#1:4]               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1,#16X3+1:1]-[#6X3:2]-[#6X4:3]-[#7X4,#7X3:4]        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X2,#16X1-1,#16X3+1:1]-[#6X3:2]-[#6X4:3]-[#7X3$(*-[#6X3,#6X2]):4] :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4;r3:2]-[#6X3:3]~[*:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4;r3:2]-[#6X3:3]~[#6X3:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4;r3:2]-[#6X3:3]~[#6X3:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X4;r3:2]-[#6X3:3]-[#7X3:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X4;r3:2]-[#6X3:3]=[#8X1:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X4;r3:2]-[#6X3:3](~[#8X1])~[#8X1:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#6X4;r3:2]-[#6X3:3]~[#6X3:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X3:1]-[#6X4;r3:2]-[#6X3:3]~[#6X3:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3]~[#6X3:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3;r6:3]:[#6X3;r6:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3;r5:3]-;@[#6X3;r5:4]              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3;r5:3]=;@[#6X3;r5:4]              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3]-[#6X4:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3;r6:3]:[#7X2;r6:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3]=[#7X2:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3]-[#8X2:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3]=[#8X1:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4;r3:1]-;@[#6X4;r3:2]-[#6X3:3](~[#8X1])~[#8X1:4]             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]-[#6X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]:[#6X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-,:[#6X3:2]=[#6X3:3]-,:[*:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X3:2]=[#6X3:3]-[#6X4:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]-[#6X3$(*=[#8,#16,#7]):3]~[*:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#6X3:2]-[#6X3:3]=[#8X1:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#6X3:2]-[#6X3:3](~[#8X1])~[#8X1:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7a:2]:[#6a:3]~[*:4]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X4:3]-[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X4:2]-[#7X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X3:3]-[#7X2:4]=[#6]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#7X3:3]-[#7X2:4]=[#6]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X3:3]-[#7X2:4]=[#7X2,#8X1]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#7X3:3]-[#7X2:4]=[#7X2,#8X1]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X3$(*@1-[*]=,:[*][*]=,:[*]@1):3]-[*:4]         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4:2]-[#7X3$(*@1-[*]=,:[*][*]=,:[*]@1):3]-[*:4]        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#7X4,#7X3:3]-[#6X4:4]                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X4,#7X3:2]-[#6X4;r3:3]-[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X4,#7X3:2]-[#6X4;r3:3]-[#6X4;r3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[!#1:1]-[#7X4,#7X3:2]-[#6X4;r3:3]-[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[!#1:1]-[#7X4,#7X3:2]-[#6X4;r3:3]-[#6X4;r3:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X4:2]-[#6X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X3$(*~[#6X3,#6X2]):3]~[*:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#7X3:3](~[#8X1])~[#8X1:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#7X3:2]-[#6X4:3]-[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#7X3:3]-[#6X3:4]=[#8,#16,#7]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2H0:1]-[#6X4:2]-[#7X3:3]-[#6X3:4]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#7X3:2]-[#6X4;r3:3]-[#6X4;r3:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]-[#6X4:3]-[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#7X2,#7X3+1:2]-[#6X4:3]-[#1:4]                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]=[#7X2,#7X3+1:2]-[#6X4:3]-[#6X3,#6X4:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3,#7X2-1:2]-[#6X3:3]~[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3,#7X2-1:2]-!@[#6X3:3]~[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3:2]-[#6X3$(*=[#8,#16,#7]):3]~[*:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X3:2]-[#6X3:3]=[#8,#16,#7:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3:2]-!@[#6X3:3](=[#8,#16,#7:4])-[#6,#1]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X3:2]-!@[#6X3:3](=[#8,#16,#7:4])-[#6,#1]               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3:2]-!@[#6X3:3](=[#8,#16,#7:4])-[#7X3]                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3;r5:2]-@[#6X3;r5:3]~[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#7X3:2]~[#6X3:3]~[*:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#7X2,#7X3+1:2]-[#6X3:3]-[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X3:2]-[#7X3:3](~[#8X1])~[#8X1:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#7X2,#7X3+1:2]-[#6X3:3]=,:[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=,:[#6X3:2]-[#7X3:3](~[#8X1])~[#8X1:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2,#7X3$(*~[#8X1]):2]:[#6X3:3]~[*:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]:[#7X2:2]:[#6X3:3]:[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-,:[#6X3:2]=[#7X2:3]-[*:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3+1:2]=,:[#6X3:3]-,:[*:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3:2]~!@[#6X3:3](~!@[#7X3])~!@[#7X3:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3+0:1]-[#7X2:2]=[#6X3:3]-[#7X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16X4,#16X3+0:1]-[#7X2:2]=[#6X3:3]-[#16X2,#16X3+1:4]            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X2:1]~[#7X2:2]-[#6X3:3]~[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X2:1]~[#7X2:2]-[#6X4:3]-[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7X2:1]~[#7X2:2]-[#6X4:3]~[#1:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#8X2:3]-[#1:4]                                   :        3 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#8X2H1:3]-[#1:4]                              :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#6X4:2]-[#8X2H0:3]-[*:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#8X2H0:3]-[#6X4:4]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#6X4:2]-[#8X2:3]-[#6X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#8X2:2]-[#6X4:3]-[#8X2:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#8X2:2]-[#6X4:3]-[#7X3:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#8X2:2]-[#6X4;r3:3]-@[#6X4;r3:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#8X2:2]-[#6X4;r3:3]-[#1:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2:2]-[#6X4;r3:3]-[#1:4]                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2:2]-[#6X4;r3:3]-[#6X4:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2:2]-[#6X4;r3:3]-[#6X4;r3:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]-[#8X2:3]-[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2]-[#8X2:3]-[#1:4]                                   :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2](=[#8,#16,#7])-[#8X2H0:3]-[*:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2](=[#8,#16,#7])-[#8:3]-[#1:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2:2]-[#6X3:3]=[#8X1:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8,#16,#7:1]=[#6X3:2]-[#8X2H0:3]-[#6X4:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2:2]@[#6X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2+1:2]=[#6X3:3]-[*:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#8X2+1:2]-[#6:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16:2]=,:[#6:3]~[*:4]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#16X2,#16X3+1:2]-[#6:3]~[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#16X2,#16X3+1:2]-[#6:3]-[#1:4]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-@[#16X2,#16X1-1,#16X3+1:2]-@[#6X3,#7X2;r5:3]=@[#6,#7;r5:4] :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4,#16X3!+1:2]-[#6X4:3]-[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#6X4:3]-[#1:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#6X4:3]~[#6X4:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4,#16X3+0:2]-[#6X3:3]~[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]-[#16X4,#16X3+0:2]-[#6X3:3]~[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#15:2]-[#6X4:3]-[*:4]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#15:2]-[#6X3:3]~[*:4]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8:2]-[#8:3]-[*:4]                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8:2]-[#8H1:3]-[*:4]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#8X2:2]-[#7:3]~[*:4]                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2r5:2]-;@[#7X3r5:3]~[*:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2r5:2]-;@[#7X2r5:3]~[*:4]                              :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X4,#7X3:2]-[#7X4,#7X3:3]~[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7X4,#7X3:2]-[#7X4,#7X3:3]-[#1:4]                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#7X4,#7X3:2]-[#7X4,#7X3:3]-[#1:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#7X4,#7X3:2]-[#7X4,#7X3:3]-[#6X4:4]                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X4,#7X3:2]-[#7X3$(*~[#6X3,#6X2]):3]~[*:4]               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3$(*-[#6X3,#6X2]):2]-[#7X3$(*-[#6X3,#6X2]):3]-[*:4]    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7X3$(*-[#6X3,#6X2])r5:2]-@[#7X3$(*-[#6X3,#6X2])r5:3]~[*:4] :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]@[#7X2:2]@[#7X2:3]@[#7X2,#6X3:4]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]-[#7X3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]-[#7X4:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]=[#7X2:2]-[#7X2:3]=[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X2:2]=,:[#7X2:3]~[*:4]                                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3+1:2]=,:[#7X2:3]~[*:4]                                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7x3:2]-[#7x3,#6x3:3]~[*:4]                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7x2:2]-[#7x3:3]~[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6x3:2](~[#7,#8,#16])-[#6x3:3]~[*:4]                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#16X2,#16X3+1:2]-[!#6:3]~[*:4]                            :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4,#16X3+0:2]-[#7:3]~[*:4]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#1:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#1:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#6X4:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#6X4:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#1:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#16X4,#16X3+0:2]-[#7X4,#7X3:3]-[#6X4:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#16X4,#16X3+0:2]-[#7X3:3]-[#6X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#7X3:3]-[#6X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#16X4,#16X3+0:2]-[#7X3:3]-[#6X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#16X4,#16X3+0:2]-[#7X3:3]-[#7X2:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4,#16X3+0:2]=,:[#7X2:3]-,:[*:4]                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]-[#16X4,#16X3+0:2]-[#7X2:3]~[#6X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X1:1]~[#16X4,#16X3+0:2]-[#7X2:3]~[#6X3:4]                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#16X4,#16X3+0:2]-[#8X2:3]-[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#16X2,#16X3+1:2]-[#16X2,#16X3+1:3]-[*:4]                  :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#8X2:2]-[#15:3]~[*:4]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2:1]-[#15:2]-[#8X2:3]-[#6X4:4]                               :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7:2]-[#15:3]~[*:4]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[#7:2]-[#15:3]=[*:4]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X3:1]-[#7:2]-[#15:3]=[*:4]                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7:2]=[#15:3]~[*:4]                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]-[*:2]#[*:3]-[*:4]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[*:2]-[*:3]#[*:4]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[*:2]=[#6,#7,#16,#15;X2:3]=[*:4]                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:12 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for ImproperTorsionHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2](~[*:3])~[*:4]                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2](~[#8X1:3])~[#8:4]                                 :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3$(*~[#15,#16](!-[*])):2](~[*:3])~[*:4]                :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3$(*~[#6X3]):2](~[*:3])~[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3$(*~[#7X2]):2](~[*:3])~[*:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#7X3$(*@1-[*]=,:[*][*]=,:[*]@1):2](~[*:3])~[*:4]          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[*:1]~[#6X3:2](=[#7X2,#7X3+1:3])~[#7:4]                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:0 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for vdWHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]                                                           :        6 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4]                                                    :        5 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4]-[#7,#8,#9,#16,#17,#35]                             :        2 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4](-[#7,#8,#9,#16,#17,#35])-[#7,#8,#9,#16,#17,#35]    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4](-[#7,#8,#9,#16,#17,#35])(-[#7,#8,#9,#16,#17,#35])-[#7,#8,#9,#16,#17,#35] :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X4]~[*+1,*+2]                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X3]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X3]~[#7,#8,#9,#16,#17,#35]                             :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X3](~[#7,#8,#9,#16,#17,#35])~[#7,#8,#9,#16,#17,#35]    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#6X2]                                                    :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#7]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8]                                                      :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#16]                                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6:1]                                                           :        2 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X2:1]                                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#6X4:1]                                                         :        2 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8:1]                                                           :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2H0+0:1]                                                     :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#8X2H1+0:1]                                                     :        1 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#7:1]                                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#16:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#15:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#9:1]                                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#17:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#35:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#53:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#3+1:1]                                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#11+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#19+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#37+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#55+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#9X0-1:1]                                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#17X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#35X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#53X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1]-[#8X2H2+0:1]-[#1]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2H2+0]-[#1]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#54:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:9 matches identified
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:Finding matches for LibraryChargeHandler
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#3+1:1]                                                         :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#11+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#19+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#37+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#55+1:1]                                                        :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#9X0-1:1]                                                       :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#17X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#35X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#53X0-1:1]                                                      :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1]-[#8X2H2+0:1]-[#1]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#1:1]-[#8X2H2+0]-[#1]                                           :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:[#54:1]                                                          :        0 matches
DEBUG:openff.toolkit.typing.engines.smirnoff.parameters:0 matches identified
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 0
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 1
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 2
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 3
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 4
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 5
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 6
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 7
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to topology atom index 8
Out[4]: Interchange with 7 collections, non-periodic topology with 9 atoms.

DEBUG:asyncio:Using selector: KqueueSelector


ForceField("openff-2.2.0.offxml").create_interchange(
Molecule.from_smiles("CCO").to_topology()
Expand All @@ -30,15 +31,15 @@ ForceField("openff-2.2.0.offxml").create_interchange(
will produce output including something like

```shell
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 0
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 1
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 2
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 3
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 4
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 5
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 6
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 7
INFO:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bcc, applied to (topology) atom index 8
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 0
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 1
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 2
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 3
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 4
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 5
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 6
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 7
DEBUG:openff.interchange.smirnoff._nonbonded:Charge section ToolkitAM1BCC, using charge method am1bccelf10, applied to topology atom index 8
```

This functionality is only available with SMIRNOFF force fields.
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def map_methods_to_atom_indices(caplog: pytest.LogCaptureFixture) -> dict[str, l
for record in caplog.records:
# skip logged warnings from upstreams/other packages
if record.name.startswith("openff.interchange"):
assert record.levelname == "INFO", "Only INFO logs are expected."
assert record.levelname == "DEBUG", "Only DEBUG logs are expected."
else:
continue

Expand Down Expand Up @@ -282,7 +282,7 @@ def ligand_and_water_and_ions(ligand, water_and_ions) -> Topology:


def test_case0(caplog, sage_no_nagl, ligand):
with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(ligand.to_topology())

info = map_methods_to_atom_indices(caplog)
Expand All @@ -292,7 +292,7 @@ def test_case0(caplog, sage_no_nagl, ligand):


def test_case1(caplog, sage_no_nagl, ligand_and_water_and_ions):
with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(ligand_and_water_and_ions)

info = map_methods_to_atom_indices(caplog)
Expand All @@ -307,7 +307,7 @@ def test_case1(caplog, sage_no_nagl, ligand_and_water_and_ions):
def test_case2(caplog, sage_no_nagl, ligand, solvent):
topology = Topology.from_molecules([ligand, solvent, solvent, solvent])

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(topology)

info = map_methods_to_atom_indices(caplog)
Expand All @@ -322,7 +322,7 @@ def test_case3(caplog, sage_no_nagl, ligand_and_water_and_ions, solvent):

ligand_and_water_and_ions.molecule(0).assign_partial_charges(partial_charge_method="gasteiger")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(
ligand_and_water_and_ions,
)
Expand Down Expand Up @@ -350,7 +350,7 @@ def test_cases4_5(caplog, ligand_and_water_and_ions, preset_on_protein):
if preset_on_protein:
complex.molecule(0).assign_partial_charges(partial_charge_method="zeros")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
if preset_on_protein:
ff.create_interchange(complex, charge_from_molecules=[complex.molecule(0)])
else:
Expand Down Expand Up @@ -381,7 +381,7 @@ def test_case6(caplog, ligand, water):

topology = Topology.from_molecules([ligand, water, water, water])

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
force_field.create_interchange(topology)

info = map_methods_to_atom_indices(caplog)
Expand All @@ -403,7 +403,7 @@ def test_case6(caplog, ligand, water):
def test_case7(caplog, sage_no_nagl, ligand_and_water_and_ions):
ligand_and_water_and_ions.molecule(0).assign_partial_charges(partial_charge_method="gasteiger")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(
ligand_and_water_and_ions,
charge_from_molecules=[ligand_and_water_and_ions.molecule(0)],
Expand All @@ -421,7 +421,7 @@ def test_case7(caplog, sage_no_nagl, ligand_and_water_and_ions):
def test_case8(caplog, sage_no_nagl, water_and_ions):
water_and_ions.molecule(0).assign_partial_charges(partial_charge_method="gasteiger")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage_no_nagl.create_interchange(
water_and_ions,
charge_from_molecules=[water_and_ions.molecule(0)],
Expand All @@ -437,7 +437,7 @@ def test_case8(caplog, sage_no_nagl, water_and_ions):


def test_case9(caplog, sage_with_bond_charge):
with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
_ensure_pre_nagl_sage(sage_with_bond_charge).create_interchange(
Molecule.from_mapped_smiles(
"[H:3][C:1]([H:4])([H:5])[Cl:2]",
Expand All @@ -457,7 +457,7 @@ def test_case10(caplog, sage_with_nagl_chargeincrements, ligand):
pytest.importorskip("openff.nagl")
pytest.importorskip("rdkit")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
with toolkit_registry_manager(
toolkit_registry=ToolkitRegistry(
toolkit_precedence=[NAGLToolkitWrapper, RDKitToolkitWrapper],
Expand Down Expand Up @@ -486,7 +486,7 @@ def test_case11(caplog, sage, ligand):
"""Test that NAGL charge assignment is properly logged."""
pytest.importorskip("openff.nagl")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage.create_interchange(ligand.to_topology())

info = map_methods_to_atom_indices(caplog)
Expand All @@ -502,7 +502,7 @@ def test_case12(caplog, sage, water):

topology = Topology.from_molecules([water, water])

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage.create_interchange(topology)

info = map_methods_to_atom_indices(caplog)
Expand All @@ -518,7 +518,7 @@ def test_case13(caplog, sage, ligand, water):

topology = Topology.from_molecules([ligand, water])

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage.create_interchange(topology)

info = map_methods_to_atom_indices(caplog)
Expand All @@ -536,7 +536,7 @@ def test_case14(caplog, sage, ligand):

ligand.assign_partial_charges("gasteiger")

with caplog.at_level(logging.INFO):
with caplog.at_level(logging.DEBUG):
sage.create_interchange(
ligand.to_topology(),
charge_from_molecules=[ligand],
Expand Down
12 changes: 6 additions & 6 deletions openff/interchange/smirnoff/_nonbonded.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ def _get_charges(
parameter_value.m,
)

logger.info(
logger.debug(
"Charge section ChargeIncrementModel, applying charge increment from atom "
f"{topology_key.this_atom_index} to atoms {topology_key.other_atom_indices}",
)
Expand Down Expand Up @@ -953,35 +953,35 @@ def store_matches(
# Have this new key (on a duplicate molecule) point to the same potential
# as the old key (on a unique/reference molecule)
if type(new_key) is LibraryChargeTopologyKey:
logger.info(
logger.debug(
"Charge section LibraryCharges applied to topology atom index "
f"{topology_atom_index}",
)

elif type(new_key) is SingleAtomChargeTopologyKey:
if new_key.extras["handler"] == "ToolkitAM1BCCHandler":
logger.info(
logger.debug(
"Charge section ToolkitAM1BCC, using charge method "
f"{new_key.extras['partial_charge_method']}, "
f"applied to topology atom index {topology_atom_index}",
)
elif new_key.extras["handler"] == "NAGLChargesHandler":
logger.info(
logger.debug(
"Charge section NAGLCharges, using NAGL model "
f"{new_key.extras['partial_charge_method']}, "
f"applied to topology atom index {topology_atom_index}",
)

elif new_key.extras["handler"] == "preset":
logger.info(
logger.debug(
f"Preset charges applied to atom index {topology_atom_index}",
)

else:
raise ValueError(f"Unhandled handler {new_key.extras['handler']}")

elif type(new_key) is ChargeModelTopologyKey:
logger.info(
logger.debug(
"Charge section ChargeIncrementModel, using charge method "
f"{new_key.partial_charge_method}, "
f"applied to topology atom index {new_key.this_atom_index}",
Expand Down
2 changes: 1 addition & 1 deletion openff/interchange/smirnoff/_virtual_sites.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ def store_potentials( # type: ignore[override]
},
)

logger.info(
logger.debug(
"Charge section VirtualSites applied to virtual site with orientation atoms at topology indices "
f"{virtual_site_key.orientation_atom_indices}",
)
Expand Down