r.buildBondsByDistance() if verbose: print 'read ', receptor_filename all_res = ResidueSet() res_names = residues_to_move.split('_') for n in res_names: if n.find(':') == -1: res = r.chains.residues.get(lambda x: x.name == n) all_res += res if verbose: print "get: adding ", res.name, " to ", all_res else: res, msg = CompoundStringSelector().select(ProteinSet([r]), n) all_res += res if verbose: print "css: adding ", res.name, " to ", all_res if verbose: print "all_res=", all_res.full_name( ), 'all_res.__class__=', all_res.__class__ #?check for duplicates d = {} for res in all_res: d[res] = 1 all_res = d.keys() all_res = ResidueSet(all_res) #inactivate specified bonds #disallowed_Pairs "CA_CB:CB_CG:C_CA" all_bnds = BondSet() bnd_pairs = disallowed_pairs.split(':') for pair in bnd_pairs: names = pair.split('_') bnds = all_res.atoms.bonds[0].get( lambda x: x.atom1.name in names and x.atom2.name in names)
usage() sys.exit() r = Read(receptor_filename)[0] r.buildBondsByDistance() if verbose: print 'read ', receptor_filename all_res = ResidueSet() res_names = residues_to_move.split('_') for n in res_names: res = r.chains.residues.get(lambda x: x.name==n) if verbose: print "adding ", res.name, " to ", all_res all_res += res if verbose: print "all_res=", all_res.full_name(), 'all_res.__class__=', all_res.__class__ #?check for duplicates d = {} for res in all_res: d[res] = 1 all_res = d.keys() all_res = ResidueSet(all_res) #inactivate specified bonds #disallowed_Pairs "CA_CB:CB_CG:C_CA" all_bnds = BondSet() bnd_pairs = disallowed_pairs.split(':') for pair in bnd_pairs: names = pair.split('_') bnds = all_res.atoms.bonds[0].get(lambda x: x.atom1.name in names and x.atom2.name in names) all_bnds += bnds
res = r.chains.residues.get(lambda x: x.name==n) all_res += res if verbose: print "case no ':' get: adding ", res.name, " to ", all_res else: # 'hsg1:A:ARG8_ILE82' n = res_names_by_chain.replace("_", ",") if verbose: print "after comma replaced _ n is ", n # 'hsg1:A:ARG8,ILE82' res, msg = CompoundStringSelector().select(ProteinSet([r]), n) if verbose: print "n selection =", res, " msg=", msg if len(res): all_res += res else: print "no residue found using string ", n if verbose: print "all_res=", all_res.full_name(), 'all_res.__class__=', all_res.__class__ #?check for duplicates d = {} for res in all_res: d[res] = 1 all_res = d.keys() all_res = ResidueSet(all_res).uniq() all_res.sort() if verbose: print "after all_res=", all_res.full_name() #inactivate specified bonds #disallowed_Pairs "CA_CB:CB_CG:C_CA" all_bnds = BondSet() bnd_pairs = disallowed_pairs.split(':') for pair in bnd_pairs: names = pair.split('_') bnds = all_res.atoms.bonds[0].get(lambda x: x.atom1.name in names and x.atom2.name in names)