docs: def assign_force_field(self, ff, mol2=False):
          """Assigns force field parameters to Atoms in the AMPAL object.
  
          Parameters
          ----------
          ff: BuffForceField
              The force field to be used for scoring.
          mol2: bool, optional
              If true, mol2 style labels will also be used.
          """
          if hasattr(self, 'ligands'):
              atoms = self.get_atoms(ligands=True, inc_alt_states=True)
          else:
              atoms = self.get_atoms(inc_alt_states=True)
          for atom in atoms:
              w_str = None
              a_ff_id = None
              if atom.element == 'H':
                  continue
              elif atom.ampal_parent.mol_code in ff:
                  if atom.res_label in ff[atom.ampal_parent.mol_code]:
                      a_ff_id = (atom.ampal_parent.mol_code, atom.res_label)
                  elif atom.res_label in ff['WLD']:
                      a_ff_id = ('WLD', atom.res_label)
                  else:
                      w_str = ('{} atom is not parameterised in the selected '
                               'force field for {} residues, this will be '
                               'ignored.').format(
                          atom.res_label, atom.ampal_parent.mol_code)
              elif atom.res_label in ff['WLD']:
                  a_ff_id = ('WLD', atom.res_label)
              elif mol2 and (atom.ampal_parent.mol_code.capitalize() in ff['MOL2']):
                  a_ff_id = ('MOL2', atom.res_label.capitalize())
              else:
                  if not mol2:
                      w_str = ('{} ({}) atom is not parameterised in the selected'
                               ' residue force field. Try activating the heavy '
                               ' atom force field (haff).').format(
                          atom.element, atom.res_label)
                  else:
                      w_str = ('{} ({}) atom is not parameterised in the selected'
                               ' force field.').format(atom.element, atom.res_label)
              if w_str:
                  warnings.warn(w_str, NotParameterisedWarning)
              atom._ff_id = a_ff_id
          self.tags['assigned_ff'] = True
          return