def __init__(self):
    self._must_match_all_bonds: bool = True
    self._smiles_with_h: bool = False
    self._smiles_with_labels: bool = True

    # A variant on matching is to consider all N and O as neutral forms during
    # matching, and then as a post processing step, see whether a valid,
    # neutral, molecule can be formed.
    self._neutral_forms_during_bond_matching: bool = False

    # If not a bond is being considered during matching.
    self._consider_not_bonded = False

    # Avoid destroying rings if not bonded is enabled.
    # Note that only the ring atom count is considered.
    self._ring_atom_count_cannot_decrease = True