diff options
author | Frederick Muriuki Muriithi | 2024-12-03 16:00:11 -0600 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2024-12-03 16:02:29 -0600 |
commit | 1ed9a130988681941669295329fda88fe075f40d (patch) | |
tree | e503eeb6e7ff5ef03f243834b45c4c9a7344b432 | |
parent | 2f4d48586a67e985f0b47b358ef15d8113b56ddb (diff) | |
download | gn-uploader-1ed9a130988681941669295329fda88fe075f40d.tar.gz |
Provide consistent way to build file-specific fully-qualified keys
-rw-r--r-- | scripts/rqtl2/phenotypes_qc.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/rqtl2/phenotypes_qc.py b/scripts/rqtl2/phenotypes_qc.py index 2c09835..7a52d09 100644 --- a/scripts/rqtl2/phenotypes_qc.py +++ b/scripts/rqtl2/phenotypes_qc.py @@ -159,6 +159,11 @@ def push_error(rconn: Redis, fqkey: str, error: InvalidValue) -> InvalidValue: return error +def file_fqkey(prefix: str, section: str, filepath: Path) -> str: + """Build a files fully-qualified key in a consistent manner""" + return f"{prefix}:{section}:{filepath.name}" + + def qc_phenocovar_file( filepath: Path, redisuri, @@ -176,7 +181,8 @@ def qc_phenocovar_file( _csvfile = rqtl2.read_csv_file(filepath, separator, comment_char) _headings = tuple(heading.lower() for heading in next(_csvfile)) _errors: tuple[InvalidValue, ...] = tuple() - save_error = partial(push_error, rconn, f"{fqkey}:errors:{filepath.name}") + save_error = partial( + push_error, rconn, file_fqkey(fqkey, "errors", filepath)) for heading in ("description", "units"): if heading not in _headings: _errors = (save_error(InvalidValue( @@ -271,7 +277,8 @@ def qc_pheno_file(# pylint: disable=[too-many-arguments] f"{fqkey}:logs") as logger, Redis.from_url(redisuri, decode_responses=True) as rconn): logger.info("Running QC on file: %s", filepath.name) - save_error = partial(push_error, rconn, f"{fqkey}:errors:{filepath.name}") + save_error = partial( + push_error, rconn, file_fqkey(fqkey, "errors", filepath)) _csvfile = rqtl2.read_csv_file(filepath, separator, comment_char) _headings: tuple[str, ...] = tuple( heading.lower() for heading in next(_csvfile)) |