diff --git a/Makefile b/Makefile deleted file mode 100644 index af5ea487..00000000 --- a/Makefile +++ /dev/null @@ -1,148 +0,0 @@ -MAKEFLAGS += --warn-undefined-variables -SHELL := bash -.DEFAULT_GOAL := help -URIBASE := http://purl.obolibrary.org/obo -TMP_DATA := data/tmp - -ROOT_DIR := $(shell pwd) - -PHENOTYPE_DIR := $(ROOT_DIR)/data/phenotype -RUNNERS_DIR := $(ROOT_DIR)/runners -NAME := $(shell python -c 'import tomli; print(tomli.load(open("pyproject.toml", "rb"))["tool"]["poetry"]["name"])') -VERSION := $(shell python -c 'import tomli; print(tomli.load(open("pyproject.toml", "rb"))["tool"]["poetry"]["version"])') -SEMSIM_BASE_URL := https://storage.googleapis.com/data-public-monarchinitiative/semantic-similarity/latest - - - -help: info - @echo "" - @echo "help" - @echo "make setup -- this runs the download and extraction of genomic, phenotypic and runners data" - @echo "make pheval -- this runs pheval pipeline corpus preparation and run" - @echo "make all -- this runs the entire pipeline including setup, corpus preparation and pheval run" - @echo "make help -- show this help" - @echo "" - -info: - @echo "Project: $(NAME)" - @echo "Version: $(VERSION)" - -.PHONY: prepare-inputs - - - - - - -configurations/template-1.0.0/config.yaml: - mkdir -p $(ROOT_DIR)/$(shell dirname $@)/ - cp $(RUNNERS_DIR)/configurations/template-1.0.0.config.yaml $(ROOT_DIR)/$(shell dirname $@)/config.yaml - - - - - - - -.PHONY: prepare-corpora - - -$(TMP_DATA)/semsim/%.tsv: - mkdir -p $(TMP_DATA)/semsim/ - wget $(SEMSIM_BASE_URL)/$*.tsv -O $@ - - -$(TMP_DATA)/semsim/%.sql: - mkdir -p $(TMP_DATA)/semsim/ - wget $(SEMSIM_BASE_URL)/$*.sql -O $@ - - - - -$(ROOT_DIR)/results/template-1.0.0/results.yml: configurations/template-1.0.0/config.yaml corpora/lirical/default/corpus.yml - - - - rm -rf $(ROOT_DIR)/$(shell dirname $@) - mkdir -p $(ROOT_DIR)/$(shell dirname $@) - - - - mkdir -p $(shell dirname $@) - - pheval run \ - --input-dir $(ROOT_DIR)/configurations/template-1.0.0 \ - --testdata-dir $(ROOT_DIR)/corpora/lirical/default \ - --runner templatephevalrunner \ - --tmp-dir data/tmp/ \ - --version 1.0.0 \ - --output-dir $(shell dirname $@) - - touch $@ - -.PHONY: pheval-run -pheval-run: $(ROOT_DIR)/results/template-1.0.0/results.yml - - -$(ROOT_DIR)/results/template-1.0.0/run_data.yaml: - printf '%s\n' \ - "benchmark_name: fake_predictor_benchmark" \ - "runs:" \ - " - run_identifier: run_identifier_1" \ - " results_dir: $(shell dirname $@)" \ - " phenopacket_dir: $(ROOT_DIR)/corpora/lirical/default/phenopackets" \ - " gene_analysis: True" \ - " variant_analysis: False" \ - " disease_analysis: False" \ - " threshold:" \ - " score_order: descending" \ - "plot_customisation:" \ - " gene_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title:" \ - " roc_curve_title: " \ - " precision_recall_title: " \ - " disease_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title:" \ - " roc_curve_title: " \ - " precision_recall_title: " \ - " variant_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title: " \ - " roc_curve_title: " \ - " precision_recall_title: " \ - > $@ - -$(ROOT_DIR)/results/template-1.0.0/gene_rank_stats.svg: $(ROOT_DIR)/results/template-1.0.0/run_data.yaml - pheval-utils generate-benchmark-stats -r $< - -.PHONY: pheval-report -pheval-report: $(ROOT_DIR)/results/template-1.0.0/gene_rank_stats.svg - - -corpora/lirical/default/corpus.yml: - test -d $(ROOT_DIR)/corpora/lirical/default/ || mkdir -p $(ROOT_DIR)/corpora/lirical/default/ - - test -L $(ROOT_DIR)/corpora/lirical/default/template_exome_hg19.vcf.gz || ln -s $(ROOT_DIR)/testdata/template_vcf/template_exome_hg19.vcf.gz $(ROOT_DIR)/corpora/lirical/default/template_exome_hg19.vcf.gz - pheval-utils create-spiked-vcfs \ - --template-vcf-path $(ROOT_DIR)/corpora/lirical/default/template_exome_hg19.vcf.gz \ - --phenopacket-dir=$(ROOT_DIR)/corpora/lirical/default/phenopackets \ - --output-dir $(ROOT_DIR)/corpora/lirical/default/vcf - touch $@ - - - -.PHONY: pheval -pheval: - $(MAKE) prepare-inputs - $(MAKE) prepare-corpora - $(MAKE) pheval-run - $(MAKE) pheval-report - -.PHONY: all -all: - $(MAKE) setup - $(MAKE) pheval - -include ./resources/custom.Makefile \ No newline at end of file diff --git a/resources/Makefile.j2 b/resources/Makefile.j2 deleted file mode 100644 index 6f894dc7..00000000 --- a/resources/Makefile.j2 +++ /dev/null @@ -1,219 +0,0 @@ -MAKEFLAGS += --warn-undefined-variables -SHELL := bash -.DEFAULT_GOAL := help -URIBASE := http://purl.obolibrary.org/obo -TMP_DATA := {{ directories.tmp }} -{% if directories.root is defined %} -ROOT_DIR := {{ directories.root }} -{% else %} -ROOT_DIR := $(shell pwd) -{% endif %} -PHENOTYPE_DIR := $(ROOT_DIR)/data/phenotype -RUNNERS_DIR := $(ROOT_DIR)/runners -NAME := $(shell python -c 'import tomli; print(tomli.load(open("pyproject.toml", "rb"))["tool"]["poetry"]["name"])') -VERSION := $(shell python -c 'import tomli; print(tomli.load(open("pyproject.toml", "rb"))["tool"]["poetry"]["version"])') -SEMSIM_BASE_URL := https://storage.googleapis.com/data-public-monarchinitiative/semantic-similarity/latest - - - -help: info - @echo "" - @echo "help" - @echo "make setup -- this runs the download and extraction of genomic, phenotypic and runners data" - @echo "make pheval -- this runs pheval pipeline corpus preparation and run" - @echo "make all -- this runs the entire pipeline including setup, corpus preparation and pheval run" - @echo "make help -- show this help" - @echo "" - -info: - @echo "Project: $(NAME)" - @echo "Version: $(VERSION)" - -.PHONY: prepare-inputs - -{%- for config in configs %} - -{% if config.preprocessing is defined %} -SQL_DEPENDENCIES_{{ config.id }} = {%- for pp in config.preprocessing %} $(TMP_DATA)/semsim/{{ pp }} {%endfor %} - -configurations/{{ config.id }}/config.yaml: $(RUNNERS_DIR)/exomiser-{{ config.version }} $(SQL_DEPENDENCIES_{{ config.id }}) - mkdir -p $(ROOT_DIR)/$(shell dirname $@)/ - - cp -rf $(PHENOTYPE_DIR)/{{ config.phenotype }}_phenotype $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_phenotype - cp $(RUNNERS_DIR)/configurations/{{ config.tool }}-{{ config.version }}-{{ config.phenotype }}_phenotype.config.yaml $(ROOT_DIR)/$(shell dirname $@)/config.yaml - - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_hg19 || ln -s $(PHENOTYPE_DIR)/{{ config.phenotype }}_hg19 $(ROOT_DIR)/$(shell dirname $@)/ - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_hg38 || ln -s $(PHENOTYPE_DIR)/{{ config.phenotype }}_hg38 $(ROOT_DIR)/$(shell dirname $@)/ - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_phenotype || ln -s $(RUNNERS_DIR)/{{ config.tool }}-{{ config.version }}/* $(ROOT_DIR)/$(shell dirname $@)/ - - {%- for pp in config.preprocessing %} - java -Xms128m -Xmx8192m -Dh2.bindAddress=127.0.0.1 -cp $(shell find $< -type f -name "h2*.jar") org.h2.tools.RunScript -url jdbc:h2:file:$(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_phenotype/{{ config.phenotype }}_phenotype -script $(TMP_DATA)/semsim/{{ pp }} -user sa - {%endfor %} - -.PHONY: semsim-ingest -semsim-ingest: configurations/{{ config.id }}/config.yaml - -{% else %} - - -{% if config.phenotype is defined %} - -configurations/{{ config.id }}/config.yaml: - mkdir -p $(ROOT_DIR)/$(shell dirname $@)/ - - cp -rf $(PHENOTYPE_DIR)/{{ config.phenotype }}_phenotype $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_phenotype - cp $(RUNNERS_DIR)/configurations/{{ config.tool }}-{{ config.version }}-{{ config.phenotype }}_phenotype.config.yaml $(ROOT_DIR)/$(shell dirname $@)/config.yaml - - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_hg19 || ln -s $(PHENOTYPE_DIR)/{{ config.phenotype }}_hg19 $(ROOT_DIR)/$(shell dirname $@)/ - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_hg38 || ln -s $(PHENOTYPE_DIR)/{{ config.phenotype }}_hg38 $(ROOT_DIR)/$(shell dirname $@)/ - test -L $(ROOT_DIR)/$(shell dirname $@)/{{ config.phenotype }}_phenotype || ln -s $(RUNNERS_DIR)/{{ config.tool }}-{{ config.version }}/* $(ROOT_DIR)/$(shell dirname $@)/ -{% else %} - -configurations/{{ config.id }}/config.yaml: - mkdir -p $(ROOT_DIR)/$(shell dirname $@)/ - cp $(RUNNERS_DIR)/configurations/{{ config.tool }}-{{ config.version }}.config.yaml $(ROOT_DIR)/$(shell dirname $@)/config.yaml -{% endif %} - - - -{% endif %} - -{% endfor %} -.PHONY: prepare-corpora - - -$(TMP_DATA)/semsim/%.tsv: - mkdir -p $(TMP_DATA)/semsim/ - wget $(SEMSIM_BASE_URL)/$*.tsv -O $@ - - -$(TMP_DATA)/semsim/%.sql: - mkdir -p $(TMP_DATA)/semsim/ - wget $(SEMSIM_BASE_URL)/$*.sql -O $@ - - - -{% for run in runs %} -$(ROOT_DIR)/results/{{ run.configuration }}/results.yml: configurations/{{ run.configuration }}/config.yaml corpora/{{ run.corpus }}/{{ run.corpusvariant }}/corpus.yml - - - - rm -rf $(ROOT_DIR)/$(shell dirname $@) - mkdir -p $(ROOT_DIR)/$(shell dirname $@) - -{% if run.tool == "phen2gene" %} - ln -s $(RUNNERS_DIR)/Phen2Gene/* $(ROOT_DIR)/configurations/{{ run.configuration }}/ -{% endif %} - - mkdir -p $(shell dirname $@) - - pheval run \ - --input-dir $(ROOT_DIR)/configurations/{{ run.configuration }} \ - --testdata-dir $(ROOT_DIR)/corpora/{{ run.corpus }}/{{ run.corpusvariant }} \ - --runner {{ run.tool }}phevalrunner \ - --tmp-dir {{ directories.tmp }}/ \ - --version {{ run.version }} \ - --output-dir $(shell dirname $@) - - touch $@ - -.PHONY: pheval-run -pheval-run: $(ROOT_DIR)/results/{{ run.configuration }}/results.yml - - -$(ROOT_DIR)/results/{{ run.configuration }}/run_data.yaml: - printf '%s\n' \ - "benchmark_name: fake_predictor_benchmark" \ - "runs:" \ - " - run_identifier: run_identifier_1" \ - " results_dir: $(shell dirname $@)" \ - " phenopacket_dir: $(ROOT_DIR)/corpora/lirical/default/phenopackets" \ - " gene_analysis: True" \ - " variant_analysis: False" \ - " disease_analysis: False" \ - " threshold:" \ - " score_order: descending" \ - "plot_customisation:" \ - " gene_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title:" \ - " roc_curve_title: " \ - " precision_recall_title: " \ - " disease_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title:" \ - " roc_curve_title: " \ - " precision_recall_title: " \ - " variant_plots:" \ - " plot_type: bar_cumulative" \ - " rank_plot_title: " \ - " roc_curve_title: " \ - " precision_recall_title: " \ - > $@ - -$(ROOT_DIR)/results/{{ run.configuration }}/gene_rank_stats.svg: $(ROOT_DIR)/results/{{ run.configuration }}/run_data.yaml - pheval-utils generate-benchmark-stats -r $< - -.PHONY: pheval-report -pheval-report: $(ROOT_DIR)/results/{{ run.configuration }}/gene_rank_stats.svg - - -{% endfor %} - - -{%- for corpus in corpora -%} -corpora/{{ corpus.id }}/default/corpus.yml: - test -d $(ROOT_DIR)/corpora/{{ corpus.id }}/default/ || mkdir -p $(ROOT_DIR)/corpora/{{ corpus.id }}/default/ - - test -L $(ROOT_DIR)/corpora/{{ corpus.id }}/default/template_exome_hg19.vcf.gz || ln -s $(ROOT_DIR)/testdata/template_vcf/template_exome_hg19.vcf.gz $(ROOT_DIR)/corpora/{{ corpus.id }}/default/template_exome_hg19.vcf.gz - pheval-utils create-spiked-vcfs \ - --template-vcf-path $(ROOT_DIR)/corpora/{{ corpus.id }}/default/template_exome_hg19.vcf.gz \ - --phenopacket-dir=$(ROOT_DIR)/corpora/{{ corpus.id }}/default/phenopackets \ - --output-dir $(ROOT_DIR)/corpora/{{ corpus.id }}/default/vcf - touch $@ - -{%- if corpus.scrambled is defined -%} -{%- for scrambled in corpus.scrambled -%} -corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/corpus.yml: corpora/{{ corpus.id }}/default/corpus.yml $(ROOT_DIR)/testdata/template_vcf/template_exome_hg19.vcf.gz - test -d $(ROOT_DIR)/corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/ || mkdir -p $(ROOT_DIR)/corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/ - test -L $(ROOT_DIR)/corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/template_exome_hg19.vcf.gz || ln -s $(ROOT_DIR)/testdata/template_vcf/template_exome_hg19.vcf.gz $(ROOT_DIR)/corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/template_exome_hg19.vcf.gz - - pheval-utils create-spiked-vcfs \ - --template-vcf-path $(ROOT_DIR)/corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/template_exome_hg19.vcf.gz \ - --phenopacket-dir=$(shell dirname $<)/phenopackets \ - --output-dir $(ROOT_DIR)/$(shell dirname $@)/vcf - - test -d $(shell dirname $@)/phenopackets || mkdir -p $(shell dirname $@)/phenopackets - pheval-utils scramble-phenopackets \ - --scramble-factor {{ scrambled.factor }} \ - --output-dir $(ROOT_DIR)/$(shell dirname $@)/phenopackets \ - --phenopacket-dir=$(shell dirname $<)/phenopackets - - touch $@ - -prepare-corpora: corpora/{{ corpus.id }}/scrambled-{{ scrambled.factor }}/corpus.yml - -{%- endfor -%} - -{% for custom_corpus in corpus.custom_variants -%} -corpora/{{ corpus.id }}/{{ custom_corpus.id }}/corpus.yml: $(ROOT_DIR)/testdata/template_vcf/template_exome_hg19.vcf.gz - echo "error $@ needs to be configured manually" && false -{%- endfor -%} - -{% endif %} -{% endfor %} - - -.PHONY: pheval -pheval: - $(MAKE) prepare-inputs - $(MAKE) prepare-corpora - $(MAKE) pheval-run - $(MAKE) pheval-report - -.PHONY: all -all: - $(MAKE) setup - $(MAKE) pheval - -include ./resources/custom.Makefile diff --git a/resources/custom.Makefile b/resources/custom.Makefile deleted file mode 100644 index 58d26125..00000000 --- a/resources/custom.Makefile +++ /dev/null @@ -1,73 +0,0 @@ -# This includes all the preprocessing not directly related to the PhEval Running - -PHENOTYPE_VERSIONS := 2309 2402 -EXOMISER_VERSIONS := 13.3.0 14.0.0 - -.PHONY: setup -setup: download-phenotype download-exomiser download-phen2gen download-gado - -.PHONY: download-phenotype -download-phenotype: $(addprefix $(PHENOTYPE_DIR)/,$(addsuffix _hg19.sha256,$(PHENOTYPE_VERSIONS))) $(addprefix $(PHENOTYPE_DIR)/,$(addsuffix _hg38.sha256,$(PHENOTYPE_VERSIONS))) $(addprefix $(PHENOTYPE_DIR)/,$(addsuffix _phenotype.sha256,$(PHENOTYPE_VERSIONS))) - -$(PHENOTYPE_DIR)/%.sha256: $(TMP_DATA)/phenogeno_%.zip - unzip $< -d $(PHENOTYPE_DIR) - -$(TMP_DATA)/phenogeno_%.zip: - mkdir -p $(PHENOTYPE_DIR) - mkdir -p $(TMP_DATA) - wget https://data.monarchinitiative.org/exomiser/data/$*.zip -O $@ - -.PHONY: download-exomiser -download-exomiser: $(addprefix $(RUNNERS_DIR)/exomiser-,$(EXOMISER_VERSIONS)) - -$(TMP_DATA)/exomiser-cli-%-distribution.zip: - mkdir -p $(TMP_DATA) - wget https://github.com/exomiser/Exomiser/releases/download/$*/exomiser-cli-$*-distribution.zip -O $@ - -$(RUNNERS_DIR)/exomiser-%: $(TMP_DATA)/exomiser-cli-%-distribution.zip - mkdir -p $(RUNNERS_DIR) - unzip $< -d $(RUNNERS_DIR) - mv $(RUNNERS_DIR)/exomiser-cli-$* $(RUNNERS_DIR)/exomiser-$* - cp $(RUNNERS_DIR)/configurations/preset-exome-analysis.yml $(RUNNERS_DIR)/exomiser-$*/ - - -.PHONY: download-phen2gen -download-phen2gen: $(RUNNERS_DIR)/Phen2Gene -$(RUNNERS_DIR)/Phen2Gene: - mkdir -p $(RUNNERS_DIR) - cd $(RUNNERS_DIR) - git clone https://github.com/WGLab/Phen2Gene.git $@ - yes "$@" | bash $@/setup.sh - - -.PHONY: download-gado -download-gado: $(RUNNERS_DIR)/gado -$(RUNNERS_DIR)/gado: - mkdir -p $@ - wget https://github.com/molgenis/systemsgenetics/releases/download/v1.0.4/GadoCommandline-1.0.1-dist.zip -O $@/gado.1.0.1.zip - unzip $@/gado.1.0.1.zip -d $@ - wget https://molgenis26.gcc.rug.nl/downloads/genenetwork/v2.1/genenetwork_bonf_spiked.zip -O $@/genenetwork_bonf_spiked.zip - unzip $@/genenetwork_bonf_spiked.zip -d $@ - wget https://molgenis26.gcc.rug.nl/downloads/genenetwork/v2.1/predictions_auc_bonf.txt -O $@/predictions_auc_bonf.txt - wget https://molgenis26.gcc.rug.nl/downloads/genenetwork/v2.1/hpo_prediction_genes.txt -O $@/hpo_prediction_genes.txt - wget https://molgenis26.gcc.rug.nl/downloads/genenetwork/v2.1/hp.obo -O $@/hp.obo - - -$(TMP_DATA)/HG001_GRCh37_1_22_v4.2.1_benchmark.vcf.gz: - wget https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/release/NA12878_HG001/latest/GRCh37/HG001_GRCh37_1_22_v4.2.1_benchmark.vcf.gz -O $@ - gunzip $@ - -$(TMP_DATA)/HG001_GRCh38_1_22_v4.2.1_benchmark.vcf.gz: - wget https://ftp-trace.ncbi.nlm.nih.gov/ReferenceSamples/giab/release/NA12878_HG001/latest/GRCh38/HG001_GRCh38_1_22_v4.2.1_benchmark.vcf.gz -O $@ - gunzip $@ - -$(TMP_DATA)/all_phenopackets/all_phenopackets.zip: - mkdir -p $(TMP_DATA)/all_phenopackets/ - wget https://github.com/monarch-initiative/phenopacket-store/releases/download/0.1.12/all_phenopackets.zip -O $@ - unzip $@ -d $(ROOT_DIR)/$(shell dirname $@)/ - mkdir -p $(TMP_DATA)/all_phenopackets/unpacked_phenopackets - mv $(TMP_DATA)/all_phenopackets/*/* $(TMP_DATA)/all_phenopackets/unpacked_phenopackets - -.PHONY: clean -clean: - rm -rf $(RUNNERS_DIR) $(TMP_DATA) diff --git a/resources/generatemakefile.sh b/resources/generatemakefile.sh deleted file mode 100755 index bb1a8d9d..00000000 --- a/resources/generatemakefile.sh +++ /dev/null @@ -1,39 +0,0 @@ -RESOURCE='resources/Makefile.j2' -CONFIG='resources/pheval-config.yaml' -OUTPUT='Makefile' - -Help() -{ - # Display Help - echo "Utility for Makefile generation" - echo - echo "Syntax: generatemakefile.sh [--resource|--config|--output]" - echo "options:" - echo "--resource Makefile.j2 base file - Default: resources/Makefile.j2" - echo "--config config.yaml file that will be used to file Makefile.j2. - Default: resources/pheval-config.yaml" - echo "--output where the new makefile will be written - Default: Makefile" - echo -} - -while [ $# -gt 0 ]; do - case "$1" in - --resource=*) - RESOURCE="${1#*=}" - ;; - --config=*) - CONFIG="${1#*=}" - ;; - --output=*) - OUTPUT="${1#*=}" - ;; - *) - Help - exit 1 - esac - shift -done - - -j2 $RESOURCE $CONFIG > $OUTPUT - -echo "Done" \ No newline at end of file diff --git a/resources/pheval-config.yaml b/resources/pheval-config.yaml deleted file mode 100755 index 70ca4a39..00000000 --- a/resources/pheval-config.yaml +++ /dev/null @@ -1,20 +0,0 @@ -directories: - data: data - tmp: data/tmp - -corpora: - - id: lirical - custom_variants: - - id: no_phenotype - -configs: - - tool: template - id: template-1.0.0 - version: 1.0.0 - -runs: - - tool: template - corpus: lirical - corpusvariant: default - version: 1.0.0 - configuration: template-1.0.0 \ No newline at end of file diff --git a/tests/test_pipeline_workflow.yaml b/tests/test_pipeline_workflow.yaml deleted file mode 100644 index 6ed1c5da..00000000 --- a/tests/test_pipeline_workflow.yaml +++ /dev/null @@ -1,12 +0,0 @@ -- name: Run PhEval pipeline - command: make pheval - files: - - path: results/template-1.0.0/run_data.yaml - contains: - - "fake_predictor_benchmark" - - path: fake_predictor_benchmark_gene_rank_stats.svg - - path: fake_predictor_benchmark_gene_roc_curve.svg - - path: fake_predictor_benchmark_gene_pr_curve.svg - stdout: - contains: - - "running with fake predictor" \ No newline at end of file