Scripts: flat.py

File flat.py, 691 bytes (added by goddard, 11 years ago)
Line 
1# Compute plane interpolating selected atoms and report distances from atoms to plane.
2import chimera, numpy
3from StructMeasure import Planes, plane
4
5# Currently selected atoms
6atoms = chimera.selection.currentAtoms()
7
8# Draw the plane.
9Planes.planeManager.createPlane('plane', atoms)
10
11# Compute distances
12coords = chimera.numpyArrayFromAtoms(atoms)
13p = plane(coords)
14distances = numpy.array([p.distance(a.coord()) for a in atoms])
15
16# Print results to reply log
17print 'Signed distances for %d points' % len(atoms)
18print distances
19print ('Unsigned average %.4g, max %.4g, min %.4g, standard deviation %.4g'
20 % (abs(distances).mean(), distances.max(), distances.min(), distances.std()))