analysis workflow

This commit is contained in:
Quentin Guilloteau 2024-09-12 14:07:43 +02:00
parent 95fa82edaa
commit d5bb59468c

34
workflow/analysis.smk Normal file
View File

@ -0,0 +1,34 @@
configfile: "config/config.yaml"
PREFIX = config["prefix"]
include: "utils.smk"
ARTIFACTS_FOLDER_NICKEL = config["folder_artifacts_nickel"]
def get_dates(conference):
with open(f"dates/{conference}.txt", "r") as f:
return [d.strip() for d in f.readlines() if len(d.strip()) > 0]
rule all:
input:
expand(f"{PREFIX}/aggregated/{{conference}}/{{type}}.csv", type=["pkgs", "artifact_hash", "build_status"], conference=config["conference"])
rule aggregate_per_artifact:
input:
lambda w: expand(f"{PREFIX}/{{{{conference}}}}/{{{{type}}}}/{{{{artifact}}}}/{{date}}.csv", date = get_dates(w["conference"]))
output:
f"{PREFIX}/aggregated/{{conference}}/{{type}}/{{artifact}}.csv"
shell:
"cat {input} > {output}"
rule aggregate_all:
input:
lambda w: expand(f"{PREFIX}/{{{{conference}}}}/{{{{type}}}}/{{artifact}}/{{date}}.csv", date = get_dates(w["conference"]), artifact=get_artifacts_to_build(ARTIFACTS_FOLDER_NICKEL + "/" + w['conference']))
#lambda w: expand(f"{PREFIX}/aggregated/{{{{conference}}}}/{{{{type}}}}/{{artifact}}.csv", artifact=get_artifacts_to_build(ARTIFACTS_FOLDER_NICKEL + "/" + w['conference']))
output:
f"{PREFIX}/aggregated/{{conference}}/{{type}}.csv"
shell:
"cat {input} > {output}"