Scripts: selLys.py

File selLys.py, 792 bytes (added by pett, 17 years ago)
Line 
1import chimera
2from chimera import specifier, selection
3from StructMeasure.DistMonitor import addDistance
4sel = selection.ItemizedSelection()
5sel.merge(selection.REPLACE, specifier.evalSpec(":LYS@NZ"))
6nearRes = []
7sel2 = selection.ItemizedSelection()
8models = chimera.openModels.list(modelTypes=[chimera.Molecule])
9dists = set()
10for a in sel.atoms():
11 sel2.clear()
12 sel2.add(a)
13 sel2.merge(selection.REPLACE, specifier.zone(sel2, specifier.ATOM, None, 8.0, models))
14 nearNZ = [sa for sa in sel2.atoms() if sa.name == "NZ" and sa.residue.type == "LYS"]
15 nearNZ.remove(a)
16 for nz in nearNZ:
17 if (a, nz) in dists: continue
18 addDistance(a, nz)
19 dists.add((nz,a))
20 selRes = [nz.residue for nz in nearNZ]
21 nearRes.extend(selRes)
22selection.setCurrent(nearRes)