diff --git a/VERSIONLOG.md b/VERSIONLOG.md index dec071ff..53e89cb5 100644 --- a/VERSIONLOG.md +++ b/VERSIONLOG.md @@ -1,5 +1,9 @@ # Scilifelab_epps Version Log +## 20241006.1 + +Fix issue with empty Aviti runmanifest results in Lane nr 0 + ## 20241002.1 Fix bug with index checker EPP with preset index sets diff --git a/scripts/aviti_run_parameter_parser.py b/scripts/aviti_run_parameter_parser.py index 19bd402a..20268681 100644 --- a/scripts/aviti_run_parameter_parser.py +++ b/scripts/aviti_run_parameter_parser.py @@ -157,33 +157,32 @@ def calculate_mean(input_list, key): def set_run_stats(process, run_dir): - global lane_stats run_stats = parse_run_stats(run_dir) for art in process.all_outputs(): if "Lane" in art.name: lane_nbr = int(art.name.split(" ")[1]) - lane_stats = next( - d for d in run_stats["LaneStats"] if d["Lane"] == lane_nbr - ) - for read in lane_stats["Reads"]: - read_key = read["Read"] - art.udf[f"Reads PF (M) {read_key}"] = lane_stats["PFCount"] / 1000000 - art.udf[f"%PF {read_key}"] = lane_stats["PercentPF"] - art.udf[f"Yield PF (Gb) {read_key}"] = lane_stats["TotalYield"] / 1000000000 - art.udf[f"% Aligned {read_key}"] = read["PhiXAlignmentRate"] - art.udf[f"% Bases >=Q30 {read_key}"] = calculate_mean( - read["Cycles"], "PercentQ30" - ) - art.udf[f"% Bases >=Q40 {read_key}"] = calculate_mean( - read["Cycles"], "PercentQ40" - ) - art.udf[f"Avg Q Score {read_key}"] = calculate_mean( - read["Cycles"], "AverageQScore" - ) - art.udf[f"% Error Rate {read_key}"] = calculate_mean( - read["Cycles"], "PercentPhixErrorRate" - ) - art.put() + lane_stats = run_stats["LaneStats"][lane_nbr - 1] + for read in lane_stats["Reads"]: + read_key = read["Read"] + art.udf[f"Reads PF (M) {read_key}"] = lane_stats["PFCount"] / 1000000 + art.udf[f"%PF {read_key}"] = lane_stats["PercentPF"] + art.udf[f"Yield PF (Gb) {read_key}"] = ( + lane_stats["TotalYield"] / 1000000000 + ) + art.udf[f"% Aligned {read_key}"] = read["PhiXAlignmentRate"] + art.udf[f"% Bases >=Q30 {read_key}"] = calculate_mean( + read["Cycles"], "PercentQ30" + ) + art.udf[f"% Bases >=Q40 {read_key}"] = calculate_mean( + read["Cycles"], "PercentQ40" + ) + art.udf[f"Avg Q Score {read_key}"] = calculate_mean( + read["Cycles"], "AverageQScore" + ) + art.udf[f"% Error Rate {read_key}"] = calculate_mean( + read["Cycles"], "PercentPhixErrorRate" + ) + art.put() process.put()