-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSnakefile
32 lines (28 loc) · 1.14 KB
/
Snakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from snakemake.utils import Paramspace
import pandas
import os
# declare a dataframe to be a paramspace
paramspace = Paramspace(pandas.read_csv(config["path"] + "/data_snake.csv"), filename_params="*")
vo = os.environ["VSC_DATA_VO_USER"]
rule all:
input:
expand("results/{params}", params=paramspace.instance_patterns)
rule run:
output:
f"results/{paramspace.wildcard_pattern}"
params:
props=paramspace.instance,
config=f"{vo}/datasets/wbc/scip_zarr_small.yml",
data=f"{vo}/datasets/wbc/images/sample0/*.zarr",
pattern=paramspace.wildcard_pattern,
scratch=os.environ["VSC_SCRATCH_NODE"],
vscdata=os.environ["VSC_DATA"],
cluster=os.environ["VSC_INSTITUTE_CLUSTER"],
pythonpath=os.environ["PYTHONPATH"]
shell:
"""
mympirun --hybrid {params.props[np]} {params.vscdata}/python_lib_{params.cluster}/bin/scip \
-d9104 --timing {config[path]}/{params.pattern}.json -t1 --headless --mode mpi \
-l {params.scratch} -j {params.props[n_workers]} -s {params.props[partition_size]} \
-m {params.props[memory]} {config[path]}/{params.pattern} {params.config} {params.data}
"""