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