Example #1
0
def excercise(code):
  print('\nAtom names')
  print(get_atom_names(code))
  print('\nAlternate atom names')
  print(get_atom_names(code, alternate=True))
  print('\nHydrogen names')
  print(get_hydrogen_names(code))
  print('\nAlternate hydrogen names')
  print(get_hydrogen_names(code, alternate=True))
  print('\nWrapped hydrogen names')
  print(get_hydrogen_names(code, wrap=True))
  print('\nBond pairs')
  print(get_bond_pairs(code))
  print('\nAlternate name bond pairs')
  print(get_bond_pairs(code, alternate=True))
Example #2
0
def excercise(code):
  print '\nAtom names'
  print get_atom_names(code)
  print '\nAlternate atom names'
  print get_atom_names(code, alternate=True)
  print '\nHydrogen names'
  print get_hydrogen_names(code)
  print '\nAlternate hydrogen names'
  print get_hydrogen_names(code, alternate=True)
  print '\nWrapped hydrogen names'
  print get_hydrogen_names(code, wrap=True)
  print '\nBond pairs'
  print get_bond_pairs(code)
  print '\nAlternate name bond pairs'
  print get_bond_pairs(code, alternate=True)
Example #3
0
def rotamer_outliers(chain, pdbID, rot_outliers):
  mc_atoms = ["N", "C", "O", "OXT"]
  rot_out = "@subgroup {Rota outliers} dominant\n"
  rot_out += "@vectorlist {chain %s} color= gold  master= {Rota outliers}\n" % chain.id
  outlier_list = []
  for outlier in rot_outliers.results :
    if (not outlier.is_outlier()) : continue
    outlier_list.append(outlier.atom_group_id_str())
  for residue_group in chain.residue_groups():
    for atom_group in residue_group.atom_groups() :
      check_key = atom_group.id_str()
      if (check_key in outlier_list) :
        key_hash = {}
        xyz_hash = {}
        for atom in atom_group.atoms():
          key = "%s %s %s%s  B%.2f %s" % (
              atom.name.lower(),
              atom_group.resname.lower(),
              chain.id,
              residue_group.resid(),
              atom.b,
              pdbID)
          key_hash[atom.name.strip()] = key
          xyz_hash[atom.name.strip()] = atom.xyz
        bonds = get_bond_pairs(code=atom_group.resname)
        for bond in bonds:
          if bond[0] in mc_atoms or bond[1] in mc_atoms:
            continue
          elif bond[0].startswith('H') or bond[1].startswith('H'):
            continue
          if (key_hash.get(bond[0]) == None or
              key_hash.get(bond[1]) == None or
              xyz_hash.get(bond[0]) == None or
              xyz_hash.get(bond[1]) == None):
            continue
          rot_out += kin_vec(key_hash[bond[0]],
                             xyz_hash[bond[0]],
                             key_hash[bond[1]],
                             xyz_hash[bond[1]])
  if len(rot_out.splitlines()) == 2:
    rot_out = ""
  return rot_out