def main(argv=None): """ Runs the main program. :param argv: The command line arguments. :return: The return code for the program's termination. """ args, ret = parse_cmdline(argv) if ret != GOOD_RET or args is None: return ret kbt = calc_kbt(args.temp) if args.src_file is not None: proc_data = to_zero_point(calc_rad(args.src_file, kbt)) write_csv(proc_data, create_out_fname(args.src_file, prefix=OUT_PFX), RAD_KEY_SEQ) else: found_files = find_files_by_dir(args.base_dir, args.pattern) logger.debug("Found '{}' dirs with files to process".format( len(found_files))) # noinspection PyCompatibility for f_dir, files in found_files.items(): if not files: logger.warn("No files found for dir '{}'".format(f_dir)) continue for pmf_path in ([os.path.join(f_dir, tgt) for tgt in files]): proc_data = to_zero_point(calc_rad(pmf_path, kbt)) f_name = create_out_fname(pmf_path, prefix=OUT_PFX) if allow_write(f_name, overwrite=args.overwrite): write_csv(proc_data, f_name, RAD_KEY_SEQ) return GOOD_RET # success
def main(argv=None): """ Runs the main program. :param argv: The command line arguments. :return: The return code for the program's termination. """ args, ret = parse_cmdline(argv) if ret != GOOD_RET or args is None: return ret kbt = calc_kbt(args.temp) if args.src_file is not None: proc_data = to_zero_point(calc_rad(args.src_file, kbt)) write_csv(proc_data, create_out_fname(args.src_file, prefix=OUT_PFX), RAD_KEY_SEQ) else: found_files = find_files_by_dir(args.base_dir, args.pattern) logger.debug("Found '{}' dirs with files to process".format(len(found_files))) # noinspection PyCompatibility for f_dir, files in found_files.iteritems(): if not files: logger.warn("No files found for dir '{}'".format(f_dir)) continue for pmf_path in ([os.path.join(f_dir, tgt) for tgt in files]): proc_data = to_zero_point(calc_rad(pmf_path, kbt)) f_name = create_out_fname(pmf_path, prefix=OUT_PFX) if allow_write(f_name, overwrite=args.overwrite): write_csv(proc_data, f_name, RAD_KEY_SEQ) return GOOD_RET # success
def testGood(self): pka_val = calc_pka( read_csv(GOOD_RAD_PATH, data_conv={ FREE_KEY: float, CORR_KEY: float, COORD_KEY: float, }), calc_kbt(EXP_TEMP)) self.assertAlmostEqual(4.7036736, pka_val[0])
def testNoMax(self): with self.assertRaises(NoMaxError) as context: calc_pka( read_csv(NO_MAX_RAD_PATH, data_conv={ FREE_KEY: float, CORR_KEY: float, COORD_KEY: float, }), calc_kbt(EXP_TEMP)) self.assertTrue(NO_MAX_ERR in context.exception.args)
def main(argv=None): """ Runs the main program. :param argv: The command line arguments. :return: The return code for the program's termination. """ args, ret = parse_cmdline(argv) if ret != GOOD_RET: return ret kbt = calc_kbt(args.temp) if args.coord_ts is not None: logger.info("Read TS coordinate value: '{:8.3f}'".format(args.coord_ts)) try: if args.src_file is not None: file_data = read_csv(args.src_file, data_conv=KEY_CONV) f_base_name = os.path.basename(args.src_file) try: pka, cur_corr, cur_coord = calc_pka(file_data, kbt, args.coord_ts) result = [{SRC_KEY: f_base_name, PKA_KEY: pka, MAX_VAL: cur_corr, MAX_LOC: cur_coord}] except NoMaxError: result = [{SRC_KEY: f_base_name, PKA_KEY: NO_MAX_RET, MAX_VAL: NO_MAX_RET, MAX_LOC: NO_MAX_RET}] write_result(result, args.src_file, args.overwrite) else: found_files = find_files_by_dir(args.base_dir, args.pattern) logger.debug("Found '{}' dirs with files to process".format(len(found_files))) if len(found_files) == 0: raise IOError("No files found in specified directory '{}'".format(args.base_dir)) for f_dir, files in found_files.items(): results = [] for pmf_path, fname in ([(os.path.join(f_dir, tgt), tgt) for tgt in sorted(files)]): file_data = read_csv(pmf_path, data_conv=KEY_CONV) try: pka, cur_corr, cur_coord = calc_pka(file_data, kbt, args.coord_ts) results.append({SRC_KEY: fname, PKA_KEY: pka, MAX_VAL: cur_corr, MAX_LOC: cur_coord}) except NoMaxError: results.append({SRC_KEY: fname, PKA_KEY: NO_MAX_RET, MAX_VAL: NO_MAX_RET, MAX_LOC: NO_MAX_RET}) write_result(results, os.path.basename(f_dir), args.overwrite, basedir=os.path.dirname(f_dir)) except IOError as e: warning(e) return IO_ERROR return GOOD_RET # success
def testNoMax(self): with self.assertRaises(NoMaxError) as context: calc_pka(read_csv(NO_MAX_RAD_PATH, data_conv={FREE_KEY: float, CORR_KEY: float, COORD_KEY: float, }), calc_kbt(EXP_TEMP)) self.assertTrue(NO_MAX_ERR in context.exception.args)
def testGood(self): pka_val = calc_pka(read_csv(GOOD_RAD_PATH, data_conv={FREE_KEY: float, CORR_KEY: float, COORD_KEY: float, }), calc_kbt(EXP_TEMP)) self.assertAlmostEqual(4.7036736, pka_val[0])