2 from gromacs import TrajectoryAnalysis
4 class M(TrajectoryAnalysis.TrajectoryAnalysisModule):
6 super(M, self).__init__(b"a", b"a")
8 def initOptions(self, options, settings):
9 print('python: initOptions')
11 self.optionsHolder = Options.PyOptionsHolder()
13 options.setDescription(b'A stupid test module')
14 options.addOption(self.optionsHolder.doubleOption(b'py').description(b'option added from python just to check'))
15 settings.setFlag(TrajectoryAnalysis.TrajectoryAnalysisSettings.efRequireTop)
16 print('python: inited')
18 def initAnalysis(self, settings, top):
19 print('python: initAnalysis')
20 print('There are {} atoms'.format(top.topology().atoms.nr))
21 print('Topology name: {}'.format(top.topology().name))
23 def analyzeFrame(self, frnr, frame, pbc, data):
24 print('python: Analyzing frame {}, {} atoms'.format(frnr, frame.natoms))
25 print(frame.box[0], frame.box[1], frame.box[2])
26 print(frame.x[0], frame.v[0], frame.f[0])
28 def finishAnalysis(self, nframes):
29 print('python: Analyzed {} frames'.format(nframes))
31 def writeOutput(self):
32 print('python: writeOutput')
33 print('py = {}'.format(self.optionsHolder[b'py']))
35 TrajectoryAnalysis.runAsMain(M(), sys.argv)