8e2124453b518ee9483b7f6ef888488c1c3764fd
[alexxy/gromacs.git] / src / python / pipeline_test.py
1
2 from gromacs import TrajectoryAnalysis
3 from runner.pipeline import GromacsPipeline, runPipeline
4
5 class Test(TrajectoryAnalysis.TrajectoryAnalysisModule):
6
7     def __init__(self):
8         super(Test, self).__init__("test", "test")
9
10     def initOptions(self, options, settings):
11         settings.setHelpText(self.description())
12
13     def getBatch(self):
14         return self.modules
15
16     def getArgv(self, i):
17         return self.options[i]
18
19     def initAnalysis(self, settings, top):
20         pass
21
22     def analyzeFrame(self, frnr, frame, pbc, data):
23         print("Analyzing frame in Test module")
24
25     def finishAnalysis(self, nframes):
26         pass
27
28     def writeOutput(self):
29         pass
30
31 modules = [
32     ("Angle", "-group1 System -oav angles.xvg"),
33     (Test(), ""),
34     (TrajectoryAnalysis.SasaInfo.create(), "-surface DNA"),
35 ]
36
37 pipeline = runPipeline(name="Pipeline", modules=modules, keep_datasets=True)
38 dataset = pipeline.modules[0].datasetFromIndex(1)
39 for i in range(dataset.frameCount()):
40     print('frame =', i, ', columnCount =', dataset.columnCount(), ', y =', dataset.getDataFrame(i).y(0))