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))
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)
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