Skip to content

Commit 2645f3e

Browse files
committed
Run quarto from command line
Also fixes CSS as input
1 parent b79c1c7 commit 2645f3e

File tree

3 files changed

+68
-65
lines changed

3 files changed

+68
-65
lines changed

template.qmd

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ subtitle: "Workflow version: `r params$workflow_version`"
44
date: last-modified
55
date-format: "YYYY-MM-DD"
66
title-block-banner: true
7-
format:
8-
html:
7+
format:
8+
html:
99
page-layout: article
1010
embed-resources: true
1111
smooth-scroll: true
@@ -15,36 +15,35 @@ format:
1515
toc-location: left
1616
toc-title: Summary
1717
number-sections: true
18-
css: "`r params$css`"
18+
css: __CSSPLACEHOLDER__
1919
editor: source
2020
params:
21-
css: ""
22-
ufboot_reps: ""
23-
shalrt_reps: ""
24-
min_ivar_freq: ""
25-
workflow_version: ""
26-
use_bionj: ""
27-
cor_method: ""
28-
div: ""
29-
demix: ""
30-
tree: ""
31-
tempest: ""
32-
SNV: ""
33-
SNV_s: ""
34-
evo: ""
35-
div_value: ""
36-
panel: ""
37-
volcano: ""
38-
tree_ml: ""
39-
fig_cor_snp: ""
40-
stats_lm: ""
41-
stats_ml: ""
42-
table: ""
43-
sum_nv: ""
44-
heat_tab: ""
45-
omega_plot: ""
46-
name: ""
47-
freyja_ts: ""
21+
ufboot_reps:
22+
shalrt_reps:
23+
min_ivar_freq:
24+
workflow_version:
25+
use_bionj:
26+
cor_method:
27+
div:
28+
demix:
29+
tree:
30+
tempest:
31+
SNV:
32+
SNV_s:
33+
evo:
34+
div_value:
35+
panel:
36+
volcano:
37+
tree_ml:
38+
fig_cor_snp:
39+
stats_lm:
40+
stats_ml:
41+
table:
42+
sum_nv:
43+
heat_tab:
44+
omega_plot:
45+
name:
46+
freyja_ts:
4847
output-file: report.html
4948
---
5049
<head>

workflow/envs/quarto_render.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ dependencies:
66
- quarto==1.8.25
77
- deno==2.3.1
88
- r-tidyverse==2.0.0
9-
- r-quarto==1.5.1
109
- r-heatmaply==1.6.0

workflow/rules/report.smk

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ rule summary_table:
407407

408408
rule report:
409409
conda: "../envs/quarto_render.yaml"
410-
shadow: "shallow"
410+
shadow: "minimal"
411411
input:
412412
qmd = Path(config["REPORT_QMD"]).resolve(),
413413
css = Path(config["REPORT_CSS"]).resolve(),
@@ -443,36 +443,41 @@ rule report:
443443
log:
444444
LOGDIR / "report" / "log.txt"
445445
shell:
446-
"set +o pipefail; "
447-
"Rscript -e \"quarto::quarto_render("
448-
"input = '{input.qmd:q}', "
449-
"execute_params=list("
450-
"css='{input.css:q}', "
451-
"ufboot_reps='{params.ufboot_reps}', "
452-
"shalrt_reps='{params.shalrt_reps}', "
453-
"min_ivar_freq='{params.min_ivar_freq}', "
454-
"workflow_version='{params.workflow_version}', "
455-
"use_bionj='{params.use_bionj}', "
456-
"cor_method='{params.cor_method}', "
457-
"div='{input.diversity}', "
458-
"demix ='{input.demix}', "
459-
"tree = '{input.tree}', "
460-
"tempest = '{input.temest}', "
461-
"SNV = '{input.SNV}', "
462-
"SNV_s = '{input.SNV_spike}', "
463-
"evo = '{input.evo}', "
464-
"div_value = '{input.value}', "
465-
"panel = '{input.panel}', "
466-
"volcano = '{input.volcano}', "
467-
"tree_ml = '{input.tree_ml}', "
468-
"fig_cor_snp = '{input.fig_cor}', "
469-
"stats_lm = '{input.stats_lm}', "
470-
"stats_ml = '{input.stats_ml}', "
471-
"table = '{input.table}', "
472-
"sum_nv = '{input.sum_nv}', "
473-
"heat_tab = '{input.heat_table}', "
474-
"omega_plot = '{input.omega_plot}', "
475-
"freyja_ts = '{input.freyja_ts}', "
476-
"name = '{params.name}'))\" "
477-
">{log:q} 2>&1 && "
478-
'mv "$(dirname {input.qmd:q})/report.html" {output.html:q}'
446+
"""
447+
set +o pipefail
448+
exec >{log} && exec 2>&1
449+
450+
printf "%s\n" \
451+
"ufboot_reps: '{params.ufboot_reps}'" \
452+
"shalrt_reps: '{params.shalrt_reps}'" \
453+
"min_ivar_freq: '{params.min_ivar_freq}'" \
454+
"workflow_version: '{params.workflow_version}'" \
455+
"use_bionj: '{params.use_bionj}'" \
456+
"cor_method: '{params.cor_method}'" \
457+
"div: '{input.diversity}'" \
458+
"demix: '{input.demix}'" \
459+
"tree: '{input.tree}'" \
460+
"tempest: '{input.temest}'" \
461+
"SNV: '{input.SNV}'" \
462+
"SNV_s: '{input.SNV_spike}'" \
463+
"evo: '{input.evo}'" \
464+
"div_value: '{input.value}'" \
465+
"panel: '{input.panel}'" \
466+
"volcano: '{input.volcano}'" \
467+
"tree_ml: '{input.tree_ml}'" \
468+
"fig_cor_snp: '{input.fig_cor}'" \
469+
"stats_lm: '{input.stats_lm}'" \
470+
"stats_ml: '{input.stats_ml}'" \
471+
"table: '{input.table}'" \
472+
"sum_nv: '{input.sum_nv}'" \
473+
"heat_tab: '{input.heat_table}'" \
474+
"omega_plot: '{input.omega_plot}'" \
475+
"freyja_ts: '{input.freyja_ts}'" \
476+
"name: '{params.name}'" \
477+
>params.yaml
478+
479+
sed "s|__CSSPLACEHOLDER__|{input.css}|g" {input.qmd:q} >report.qmd
480+
481+
quarto render report.qmd --execute-params params.yaml
482+
mv report.html {output.html:q}
483+
"""

0 commit comments

Comments
 (0)