Implement channel-based Quarto notebook reporting process#77
Implement channel-based Quarto notebook reporting process#77
Conversation
Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/3ad3c5f4-c1cd-4a3c-a8a8-638a69efe87c Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/3ad3c5f4-c1cd-4a3c-a8a8-638a69efe87c Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
Unit Test Results12 tests 12 ✅ 3m 40s ⏱️ Results for commit 2356fc2. ♻️ This comment has been updated with latest results. |
|
@copilot the new RENDER_REPORT tests fail, please address. |
…alue Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/b6f09317-3a96-40cd-9260-76676dc70c4e Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
Fixed in commit 21c7949. The tests were using |
|
@copilot the test failed again, I suspect due to the regex can you run the tests yourself the next time to ensure the solution works? |
|
@copilot the test failed again, I suspect due to the regex withName statements that you use. here are the warnings generated WARN: There's no process matching config selector: (SAMPLESHEET_.+) can you run the tests yourself the next time to ensure the solution works? |
…tName() Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/3dd1579f-e401-4eb6-bb5b-8d55c17757de Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
Fixed in commit 31cf4c6. The root cause was that
Fixed in commit 31cf4c6. The Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot that's better, unit tests pass! however, now the integration test fails with error: |
… from pseudobulk_phenotype.nf Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/5a46743e-13d6-4f38-b705-d7137b74cbf9 Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
Fixed in commit afc87bf. |
|
now RENDER_NOTEBOOK(sample_report) failed with ``` |
|
@copilot now RENDER_NOTEBOOK(sample_report) failed with in the integration tests |
Agent-Logs-Url: https://github.com/KarchinLab/TCRtoolkit/sessions/8a7adee6-ce70-45d2-afb7-7389abd2c7e7 Co-authored-by: dimalvovs <1246862+dimalvovs@users.noreply.github.com>
... Fixed in commit 2356fc2. The process was using |
Replaces bespoke per-workflow plot modules with a unified, channel-driven reporting pipeline. A single
REPORTsubworkflow listens on one channel and renders any Quarto notebook to HTML by receiving(report_name, notebook_path, data_dir)tuples.Core infrastructure
modules/local/report/render_notebook.nf— GenericRENDER_NOTEBOOKprocess; accepts a report tuple +project_name+workflow_cmd, copies the notebook to the work dir, and callsquarto render -P project_dir:… -P project_name:… -P workflow_cmd:… -P sample_table:…subworkflows/local/report.nf— Single-channel listener; each emission onch_reportstriggers oneRENDER_NOTEBOOKinvocationChannel wiring in
workflows/tcrtoolkit.nfOrdering guarantees via emitted
outdirchannelsEach subworkflow now emits an
outdirval channel derived from a key process output, establishing an implicit DAG dependency soRENDER_NOTEBOOKonly runs after published data is available:SAMPLESAMPLE_AGG_STATCOMPARETCRSHARING_HISTOGRAM+TCRSHARING_SCATTERPLOT(collected)PATIENTPATIENT_CALC;GLIPH2_TURBOGLIPH(conditional, empty channel when disabled)Notebooks from
quarto-notebooksbranchCopies 9 new
.qmdtemplates (template_sample,template_sharing,template_overlap,template_qc,template_pheno_bulk,template_pheno_sc,template_gliph,template_details_part1/2). All notebooks useproject_dir(root outdir) as their sole path parameter and derive subdirectory paths from it. YAML front matter and#| tags: [parameters]cells were prepended to notebooks missing them so Quarto's-Pinjection works correctly.Config & publish
nextflow.config:sample_stats_template/compare_stats_template/gliph2_report_templatepoint to new notebooks; new params for remaining templates (qc_template,overlap_template, etc.)conf/modules.config:RENDER_NOTEBOOKpublishes to{outdir}/reports/.gitignore: un-ignores all 9 new.qmdfiles (patternnotebooks/*required explicit exceptions)Cleanup
Removes
sample_plot.nf,compare_plot.nf, and theGLIPH2_PLOTprocess fromgliph2.nf— all superseded byRENDER_NOTEBOOK.