The PDB file describing the system must contain a minimum amount of information to allow for a unambiguous matching of monomer sub-units (Figure , box 1). First, connectivity information between all non-amino-acid residues must be specified. For the Open Force Field toolkit's implementation of this work, we used OpenMM's PDBFile loader which inputs connectivity information for amino acids based on atom names. While connectivity guessers may be used for non-amino-acid residues and molecules, they are prone to failure and outside the scope of this workflow. Explicitly including hydrogen atoms along with heavy atoms is also required to load the vast majority of large systems without ambiguity in the chemical templates. While it is theoretically possible to complete monomer template matching to a heavy-atom-only pdb, explicit hydrogens provide important elemental connectivity information that helps resolve almost all difficult graph matches. For example, consider the simple case of a carbon polymer with some double bonds (Figure ). Without explicit hydrogens, it is nearly impossible to determine the existence or location of double bonds or protonation states, in a topology, but with explicit hydrogens, chemical information can be inferred from the monomer templates. As with the PDB file, monomer templates must be specific enough to encode all information necessary for direct chemical perception. The SMIRKS language is a natural choice for representing monomer units since it already forms the foundation of the SMIRNOFF format used in OpenFF. However, default SMIRKS represents molecular queries and not single molecules with clear Kekulé representations. Because of this, we formally define a SMIRKS-based monomer template with the following restrictions: