The following three subsections describe how to install the requirements for running Benchpress.
The snakemake commands below should be run inside the container.
The following steps show how to replicate the studies from Sections 5.1-5.7 in the paper.
Navigate to the root directory of the Benchpress as:
cd benchpress_2_13_0Run the following command to enter the container:
$ docker run -it -w /mnt --privileged -v $(pwd):/mnt bpimages/snakemake:v9.7.1Depending on your system, you may need to run the command with sudo, i.e.
$ sudo docker run -it -w /mnt --privileged -v $(pwd):/mnt bpimages/snakemake:v9.7.1If Snakemake was installed in a conda environment called snakemake, you should activate it by running:
$ conda activate snakemakeThe commands below should be run inside the folder
benchpress_2_13_0.
NOTE
Sections 5.4-5.7 are large studies that takes about 1-2 hours each to run on 80 cores. Scaled-down versions of these studies can be obtained by changing the seed range in the corresponding configuration files.
NOTE
Note that the gobnilp module currently not included in the config files as it only runs on AMD64 architectures and not ARM64. If your machine has the AMD64 achitecture, please add back the id gobnilp to the relevant places in the JSON files.
snakemake --cores all --sdm apptainer --configfile config/paper_pc_vs_dualpc.jsonCopy the results to the figures folder
cp -r results/output/paper_pc_vs_dualpc figures/section_5_1The figures in the paper are found in the following directories:
figures/section_5_1/benchmarks/paper_pc_vs_dualpc/pc_vs_dualpcfigures/section_5_1/graph_true_statsfigures/section_5_1/benchmarks/paper_pc_vs_dualpc/f1_skel_jointfigures/section_5_1/benchmarks/paper_pc_vs_dualpc/elapsed_time_jointsnakemake --cores all --sdm apptainer --configfile config/paper_sachs.jsonCopy the results to the figures folder
cp -r results/output/paper_sachs figures/section_5_2figures/section_5_2/ggally_ggpairsfigures/section_5_2/benchmarks/paper_sachs/SHD_cpdag_jointfigures/section_5_2/graph_plots/adjmatsfigures/section_5_2/graph_plots/graphs (find
the same filename as the corresponding adjmat file)figures/section_5_2/graph_plots/graphvizcomparesnakemake --cores all --sdm apptainer --configfile config/paper_er_sem_small.jsonCopy the results to the figures folder
cp -r results/output/paper_er_sem_small figures/section_5_3The figures in the paper are found in the following directories:
figures/section_5_3/benchmarks/paper_er_sem_small/SHD_cpdag_jointfigures/section_5_3/benchmarks/paper_er_sem_small/f1_skel_jointsnakemake --cores all --sdm apptainer --configfile config/paper_er_bin.jsonCopy the results to the figures folder
cp -r results/output/paper_er_bin figures/section_5_4The figure in the paper is found in the following directory:
figures/section_5_4/benchmarks/paper_er_bin/FPR_TPR_patternsnakemake --cores all --sdm apptainer --configfile config/paper_er_sem.jsonCopy the results to the figures folder
cp -r results/output/paper_er_sem figures/section_5_5The figure in the paper is found in the following directory:
figures/section_5_5/benchmarks/paper_er_sem/FPR_TPR_patternsnakemake --cores all --sdm apptainer --configfile config/paper_hepar2_bin.jsonCopy the results to the figures folder
cp -r results/output/paper_hepar2_bin figures/section_5_6The figure in the paper is found in the following directory:
figures/section_5_6/benchmarks/paper_hepar2_bin/FPR_TPR_patternsnakemake --cores all --sdm apptainer --configfile config/paper_hepar2_sem.jsonCopy the results to the figures folder
cp -r results/output/paper_hepar2_sem figures/section_5_7The figure in the paper is found in the following directory:
figures/section_5_7/benchmarks/paper_hepar2_sem/FPR_TPR_pattern