Scripts: radius-of-gyration-mass.py

File radius-of-gyration-mass.py, 421 bytes (added by pett, 9 years ago)
Line 
1from chimera import Point, openModels, Molecule, sqdistance
2from math import sqrt
3
4for m in openModels.list(modelTypes=[Molecule]):
5 masses = [a.element.mass for a in m.atoms]
6 com = Point([a.coord() for a in m.atoms], masses)
7 sum_sq = 0.0
8 for a in m.atoms:
9 sum_sq += a.element.mass * sqdistance(a.coord(), com)
10 print str(m), "center of mass: %s, radius of gyration: %.3f" % (str(com),
11 sqrt(sum_sq / sum(masses)))