APIs to determine what adduct rule matches are required for each 
  substrate attachment point and what rule matches are exhibited for each 
  adduct attachment point. An instance involves specification of a 
  JoiningRules object, a Structure object, and a set of attachment points 
  (heavy atoms in the structure). The calling code uses the APIs to 
  determine the required information.
    |  | 
        
          | __init__(self,
        rules,
        st,
        attachments,
        chmmol=None,
        parent_rowid=None,
        db_name=None) rules is a JoiningRules object.
 |  |  | 
    |  | 
        
          | writeDb(self,
        conn,
        cur) Write entries into the specified Db encoding attachment rules for the
      current structure (i.e., the one used to create the current 
      ApplyJoiningRules instance).
 |  |  | 
    |  | 
        
          | getAtomOkPatterns(self,
        atom_indx) Return set of patterns matching this atom
 |  |  | 
    |  | 
        
          | getAtomOkmPatterns(self,
        atom_indx) Return set of okm patterns matching this atom
 |  |  | 
    |  | 
        
          | getAtomOkRules(self,
        atom_indx) Return SMARTS rules that must all be matched by an adduct attachment 
      point in order for a join to be allowed to the specified substrate 
      attachment.
 |  |  | 
    |  | 
        
          | getAtomOkmRules(self,
        atom_indx) Return SMARTS rules that denote that an attachment as disfavored.
 |  |  | 
    |  | 
        
          | getAtomOblig(self,
        atom_indx) Return True if atom has an obligate attachment, False if not
 |  |  | 
    |  |  | 
    |  | 
        
          | _getAllowedAtoms(matched_patterns_atom_d,
        getRule,
        attachments) Dictonary from iatom in attachments to set of SMARTS that an adduct
 is required to match for the attachment to be allowed.
 |  |  | 
    |  | 
        
          | _cullMatchesAtoms2(ok_matched_patterns_atom_d,
        okm_matched_patterns_atom_d) For each atom, remove from the second dictionary any SMARTS patterns...
 |  |  | 
    |  | 
        
          | _cullMatchesAtoms(matched_patterns_atom_d) See docstring of _getMatchesAtoms for format of the input.
 |  |  | 
    |  | 
        
          | _getMatchesAtoms(chmmol,
        smartses,
        attachments) Return a dict of atom_index to dict of smarts to a set of
 matches, for each atom_index in attachments and for each smarts
 in smartses.
 |  |  | 
    |  |  | 
    |  |  |