1
2
3
4
5
6
24
25
35
36
47
48
50 viewer.server.sphere(tuple(skelPt.location), .5, color, cgoNm)
51 if hasattr(skelPt, 'shapeDirs'):
52 momBeg = skelPt.location - skelPt.shapeDirs[0]
53 momEnd = skelPt.location + skelPt.shapeDirs[0]
54 viewer.server.cylinder(tuple(momBeg), tuple(momEnd), .1, color, cgoNm)
55
56
58 orderColors = ((1, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1), (0, 1, 1))
59 cgoNm = '%s-skeleton' % name
60 viewer.server.resetCGO(cgoNm)
61 for i, pt in enumerate(shape.skelPts):
62 if colorByOrder:
63 color = orderColors[i % len(orderColors)]
64 _displaySubshapeSkelPt(viewer, pt, cgoNm, color)
65
66
67 -def DisplaySubshape(viewer, shape, name, showSkelPts=True, color=(1, 0, 1)):
68 import os
69 import tempfile
70 from rdkit import Geometry
71 fName = tempfile.mktemp('.grd')
72 Geometry.WriteGridToFile(shape.grid, fName)
73 viewer.server.loadSurface(fName, name, '', 2.5)
74 if showSkelPts:
75 DisplaySubshapeSkeleton(viewer, shape, name, color)
76
77
78 try:
79 os.unlink(fName)
80 except Exception:
81 import time
82 time.sleep(.5)
83 try:
84 os.unlink(fName)
85 except Exception:
86
87 pass
88