From 960c1a5b831d8761a3e1716f86ded4cc5b67eea0 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Fri, 20 May 2022 10:36:48 +0300 Subject: Accept exponential notation for standard-error files --- README.org | 7 ++++--- quality_control/standard_error.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 55e70df..818f9d5 100644 --- a/README.org +++ b/README.org @@ -19,9 +19,10 @@ following criteria: - No empty data cells - no data cells with spurious characters like `eeeee`, `5.555iloveguix`, etc. - decimal numbers must conform to the following criteria: -- - when checking an average file decimal numbers must contain exactly three places to the right side of the dot. -- - when checking a standard error file decimal numbers must contain six or greater places to the right side of the dot. -- - there must be a number to the left side of the dot (e.g. 0.55555 is allowed but .55555 is not). + - when checking an average file decimal numbers must contain exactly three places to the right side of the dot. + - when checking a standard error file decimal numbers must contain six or greater places to the right side of the dot. + - there must be a number to the left side of the dot (e.g. 0.55555 is allowed but .55555 is not). + - when checking the standard error file, also accept exponential notation with at least 6 decimal places e.g. 0.3423452E-13 - check line endings to make sure they are Unix and not DOS - check strain headers against a source of truth (see strains.csv) diff --git a/quality_control/standard_error.py b/quality_control/standard_error.py index c866993..5489ade 100644 --- a/quality_control/standard_error.py +++ b/quality_control/standard_error.py @@ -12,7 +12,7 @@ def invalid_value( `val` is not a valid input for standard error files, otherwise, it returns `None`. """ - if re.search(r"^[0-9]+\.[0-9]{6,}$", val): + if re.search(r"(^[0-9]+\.[0-9]{6,}$|^[0-9]+\.[0-9]{6,}[eE]-[0-9]+$)", val): return None return InvalidValue( line_number, column_number, val, ( -- cgit v1.2.3