From 89a7186bcd3de21a0fcf1b4ca35f7b5c33d6b5fb Mon Sep 17 00:00:00 2001 From: Amandine PERRIN <amandine.perrin@pasteur.fr> Date: Thu, 22 Oct 2020 19:11:58 +0200 Subject: [PATCH] complete util functions --- PanACoTA/utils.py | 4 +++- PanACoTA/utils_argparse.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/PanACoTA/utils.py b/PanACoTA/utils.py index 9828d464..11a099d2 100755 --- a/PanACoTA/utils.py +++ b/PanACoTA/utils.py @@ -522,6 +522,8 @@ def write_lstinfo(list_file, genomes, outdir): for genome, values in sorted(genomes.items(), key=sort_genomes_byname_l90_nbcont): gembase, _, to_annote, gsize, nbcont, l90 = [str(x) for x in values] outf.write("\t".join([gembase, genome, to_annote, gsize, nbcont, l90]) + "\n") + return outlst + def sort_genomes_by_name(x): """ @@ -943,7 +945,7 @@ def cat(list_files, output, title=None): widgets = [title + ': ', progressbar.Bar(marker='â–ˆ', left='', right='', fill=' '), ' ', progressbar.Counter(), f"/{nbfiles}" ' (', progressbar.Percentage(), ") - ", progressbar.Timer()] - bar = progressbar.ProgressBar(widgets=widgets, max_value=nbfiles, term_width=100).start() + bar = progressbar.ProgressBar(widgets=widgets, max_value=nbfiles, term_width=79).start() curnum = 1 with open(output, "w") as outf: for file in list_files: diff --git a/PanACoTA/utils_argparse.py b/PanACoTA/utils_argparse.py index 8f07f939..8882571a 100644 --- a/PanACoTA/utils_argparse.py +++ b/PanACoTA/utils_argparse.py @@ -43,6 +43,7 @@ April 2017 from PanACoTA import utils import argparse + def gen_name(param): if not utils.check_format(param): msg = ("The genome name must contain 4 characters. For example, this name can " @@ -136,3 +137,15 @@ def percentage(param): "be in [0, 1]. Invalid value: {}".format(param)) raise argparse.ArgumentTypeError(msg) return param + + +def perc_id(param): + try: + param = float(param) + except Exception: + msg = "argument -i percentage_id: invalid float value: {}".format(param) + raise argparse.ArgumentTypeError(msg) + if param < 0 or param > 1: + msg = ("The minimum %% of identity must be in [0, 1]. Invalid value: {}".format(param)) + raise argparse.ArgumentTypeError(msg) + return param -- GitLab