From 661ac4181f54dfd5a6019beb26a229775b232db0 Mon Sep 17 00:00:00 2001 From: James Graham <J.A.Graham@soton.ac.uk> Date: Tue, 5 Jul 2016 16:02:36 +0100 Subject: [PATCH] Added logging to main module --- pycgtool.py | 22 ++++++++++++++++++++-- pycgtool/interface.py | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/pycgtool.py b/pycgtool.py index a33e6b0..c30d715 100755 --- a/pycgtool.py +++ b/pycgtool.py @@ -2,6 +2,7 @@ import argparse import sys +import logging from pycgtool.frame import Frame from pycgtool.mapping import Mapping @@ -9,6 +10,8 @@ from pycgtool.bondset import BondSet from pycgtool.forcefield import ForceField from pycgtool.interface import Progress, Options +logger = logging.getLogger(__name__) + def main(args, config): """ @@ -23,11 +26,17 @@ def main(args, config): if args.bnd: bonds = BondSet(args.bnd, config) + logger.info("Bond measurements will be made") + else: + logger.info("Bond measurements will not be made") if args.map: mapping = Mapping(args.map, config, itp=args.itp) cgframe = mapping.apply(frame, exclude={"SOL"}) cgframe.output(config.output_name + ".gro", format=config.output) + logger.info("Mapping will be performed") + else: + logger.info("Mapping will not be performed") # Main loop - perform mapping and measurement on every frame in XTC def main_loop(): @@ -43,18 +52,23 @@ def main(args, config): bonds.apply(cgframe) numframes = frame.numframes - args.begin if args.end == -1 else args.end - args.begin + logger.info("Beginning analysis of {0} frames".format(numframes)) Progress(numframes, postwhile=main_loop).run() if args.bnd: if args.map: + logger.info("Beginning Boltzmann inversion") bonds.boltzmann_invert() if config.output_forcefield: + logger.info("Creating GROMACS forcefield directory") ff = ForceField("ff" + config.output_name + ".ff") ff.write_rtp(config.output_name + ".rtp", mapping, bonds) + logger.info("GROMACS forcefield directory created") else: bonds.write_itp(config.output_name + ".itp", mapping=mapping) if config.dump_measurements: + logger.info("Dumping bond measurements to file") bonds.dump_values(config.dump_n_values) @@ -71,8 +85,6 @@ def map_only(args, config): cgframe.output(config.output_name + ".gro", format=config.output) if args.xtc and (config.output_xtc or args.outputxtc): - numframes = frame.numframes - args.begin if args.end == -1 else args.end - args.begin - # Main loop - perform mapping and measurement on every frame in XTC def main_loop(): nonlocal cgframe @@ -80,6 +92,8 @@ def map_only(args, config): cgframe = mapping.apply(frame, cgframe=cgframe, exclude={"SOL"}) cgframe.write_xtc(config.output_name + ".xtc") + numframes = frame.numframes - args.begin if args.end == -1 else args.end - args.begin + logger.info("Beginning analysis of {0} frames".format(numframes)) Progress(numframes, postwhile=main_loop).run() @@ -126,6 +140,10 @@ if __name__ == "__main__": print("Using XTC: {0}".format(args.xtc)) if config.map_only: + logger.info("Starting: mapping only") map_only(args, config) else: + logger.info("Starting: parameter measurement") main(args, config) + + logger.info("Analysis complete") diff --git a/pycgtool/interface.py b/pycgtool/interface.py index 02c80a6..d22d3ed 100644 --- a/pycgtool/interface.py +++ b/pycgtool/interface.py @@ -264,6 +264,7 @@ class Progress: Iterate through self until stopped by maximum iterations or False condition. """ collections.deque(self, maxlen=0) + return self._its @property def _bar(self): -- GitLab