@@ -49,20 +49,20 @@ diag( q{Test parse_sample_qc_metric from Qccollect.pm}
49
49
50
50
# # Constants
51
51
Readonly my $PCT_TARGET_BASES_10X => 0.95;
52
+ Readonly my $FAIL_PCT_TARGET_BASES_10X => 0.90;
52
53
Readonly my $PERCENTAGE_MAPPED_READS_EVAL => 95;
53
54
Readonly my $PERCENTAGE_MAPPED_READS_PASS => 99;
54
55
55
56
# # Given sample qc data when metric lacks a header
56
- my $infile = q{ an_infile} ;
57
- my $metric = q{ percentage_mapped_reads} ;
57
+ my $infile = q{ an_infile} ;
58
+ my $metric = q{ percentage_mapped_reads} ;
58
59
my $header_recipe = q{ collecthsmetrics} ;
59
60
my $header_metric = q{ PCT_TARGET_BASES_10X} ;
60
- my $recipe = q{ bamstats} ;
61
- my $sample_id = q{ ADM1059A1} ;
62
- my %qc_data = (
61
+ my $recipe = q{ bamstats} ;
62
+ my $sample_id = q{ ADM1059A1} ;
63
+ my %qc_data = (
63
64
sample => {
64
- $sample_id =>
65
- { $infile => { $recipe => { $metric => $PERCENTAGE_MAPPED_READS_PASS }, }, },
65
+ $sample_id => { $infile => { $recipe => { $metric => $PERCENTAGE_MAPPED_READS_PASS }, }, },
66
66
}
67
67
);
68
68
@@ -104,9 +104,13 @@ my $is_ok = parse_sample_qc_metric(
104
104
);
105
105
ok( $is_ok , q{ Parsed sample qc data metrics} );
106
106
107
- # # Given sample qc data when metric has a header
108
- my $data_header = q{ first_of_pair} ;
109
- $qc_data {sample }{$sample_id }{$infile }{$header_recipe }{header }{$data_header }{$header_metric } = $PCT_TARGET_BASES_10X ;
107
+ # # Given sample qc data when metric has headers
108
+ my $data_header = q{ first_of_pair} ;
109
+ $qc_data {sample }{$sample_id }{$infile }{$header_recipe }{header }{$data_header }{$header_metric } =
110
+ $PCT_TARGET_BASES_10X ;
111
+ my $second_data_header = q{ second_of_pair} ;
112
+ $qc_data {sample }{$sample_id }{$infile }{$header_recipe }{header }{$second_data_header }{$header_metric }
113
+ = $FAIL_PCT_TARGET_BASES_10X ;
110
114
111
115
# # Alias
112
116
my $qc_data_header_recipe_href =
@@ -121,6 +125,14 @@ $is_ok = parse_sample_qc_metric(
121
125
sample_id => $sample_id ,
122
126
}
123
127
);
128
+
129
+ # # Then parses format OK...
124
130
ok( $is_ok , q{ Parsed sample qc data header metrics} );
125
131
132
+ # # ... and fails qc check for the second header
133
+ my $failed_evaluation =
134
+ q{ FAILED:collecthsmetrics_PCT_TARGET_BASES_10X:} . $FAIL_PCT_TARGET_BASES_10X ;
135
+ is( $qc_data {evaluation }{collecthsmetrics }[0],
136
+ $failed_evaluation , q{ Fails qc on second data header} );
137
+
126
138
done_testing();
0 commit comments