Skip to content

Commit 7fa1fbe

Browse files
committed
Validation as a Separate Step
1 parent 39c5c8a commit 7fa1fbe

File tree

3 files changed

+44
-7
lines changed

3 files changed

+44
-7
lines changed

.github/workflows/run-benchmark.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ jobs:
9999
activate-environment: postprocessing
100100
use-mamba: true
101101
environment-file: benchmarks/linear-elastic-plate-with-hole/environment_postprocessing.yml
102+
103+
- name: Validate Provenance
104+
shell: bash -l {0}
105+
run: |
106+
python benchmarks/linear-elastic-plate-with-hole/validate_provenance.py \
107+
--provenance_folderpath "./$SNAKEMAKE_PROVENANCE_FILE"
102108
103109
- name: Run plotting script
104110
shell: bash -l {0}

benchmarks/linear-elastic-plate-with-hole/plot_provenance.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -281,25 +281,23 @@ def run(args, parameters, metrics, tools):
281281
282282
Performs the following steps:
283283
1. Initialize the ProvenanceAnalyzer
284-
2. Validate the RO-Crate metadata structure
285-
3. Load and query the provenance graph
286-
4. Validate query results against summary.json ground truth data
287-
5. Apply custom filters to the data
288-
6. Generate visualization plot
284+
2. Load and query the provenance graph
285+
3. Validate query results against summary.json ground truth data
286+
4. Apply custom filters to the data
287+
5. Generate visualization plot
289288
290289
Args:
291290
args (argparse.Namespace): Parsed command-line arguments.
292291
parameters (list): List of parameter names to extract.
293292
metrics (list): List of metric names to extract.
294293
tools (list): List of tool names to process.
295294
"""
295+
296296
analyzer = ProvenanceAnalyzer(
297297
provenance_folderpath=args.provenance_folderpath,
298298
provenance_filename=args.provenance_filename,
299299
)
300300

301-
analyzer.validate_provevance()
302-
303301
provenance_df = load_and_query_graph(analyzer, parameters, metrics, tools)
304302

305303
validate_provenance_data(
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import argparse
2+
from provenance import ProvenanceAnalyzer
3+
4+
5+
def parse_args():
6+
parser = argparse.ArgumentParser(
7+
description="Process research object zip to validate against profile."
8+
)
9+
parser.add_argument(
10+
"--provenance_folderpath",
11+
type=str,
12+
required=True,
13+
help="Path to the folder containing provenance data",
14+
)
15+
return parser.parse_args()
16+
17+
18+
def run(args):
19+
analyzer = ProvenanceAnalyzer(
20+
provenance_folderpath=args.provenance_folderpath,
21+
provenance_filename=args.provenance_filename,
22+
)
23+
24+
analyzer.validate_provevance()
25+
26+
27+
def main():
28+
args = parse_args()
29+
run(args)
30+
31+
32+
if __name__ == "__main__":
33+
main()

0 commit comments

Comments
 (0)