Skip to content

feature branch: nice-to-have features#84

Draft
emmcauley wants to merge 2 commits into
devfrom
em_nice_to_haves
Draft

feature branch: nice-to-have features#84
emmcauley wants to merge 2 commits into
devfrom
em_nice_to_haves

Conversation

@emmcauley
Copy link
Copy Markdown
Collaborator

@emmcauley emmcauley commented Mar 19, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 1, 2026

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 65969ea

+| ✅  96 tests passed       |+
#| ❔  57 tests were ignored |#
!| ❗  14 tests had warnings |!
Details

❗ Test warnings:

  • files_exist - File not found: .github/workflows/awstest.yml
  • files_exist - File not found: .github/workflows/awsfulltest.yml
  • files_exist - File not found: ro-crate-metadata.json
  • readme - README did not have an nf-core template version badge.
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in README.md: Include a figure that guides the user through the major workflow steps. Many nf-core
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in main.nf.test: Once you have added the required tests, please run the following command to build this file:
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here

❔ Tests ignored:

  • files_exist - File is ignored: .editorconfig
  • files_exist - File is ignored: .github/.dockstore.yml
  • files_exist - File is ignored: .github/CONTRIBUTING.md
  • files_exist - File is ignored: .github/ISSUE_TEMPLATE/bug_report.yml
  • files_exist - File is ignored: .github/ISSUE_TEMPLATE/config.yml
  • files_exist - File is ignored: .github/ISSUE_TEMPLATE/feature_request.yml
  • files_exist - File is ignored: .github/PULL_REQUEST_TEMPLATE.md
  • files_exist - File is ignored: .github/actions/get-shards/action.yml
  • files_exist - File is ignored: .github/actions/nf-test/action.yml
  • files_exist - File is ignored: .github/workflows/branch.yml
  • files_exist - File is ignored: .github/workflows/ci.yml
  • files_exist - File is ignored: .github/workflows/linting.yml
  • files_exist - File is ignored: .github/workflows/linting_comment.yml
  • files_exist - File is ignored: .github/workflows/nf-test.yml
  • files_exist - File is ignored: .prettierignore
  • files_exist - File is ignored: .prettierrc.yml
  • files_exist - File is ignored: CHANGELOG.md
  • files_exist - File is ignored: CITATIONS.md
  • files_exist - File is ignored: CODE_OF_CONDUCT.md
  • files_exist - File is ignored: LICENSE
  • files_exist - File is ignored: assets/email_template.html
  • files_exist - File is ignored: assets/email_template.txt
  • files_exist - File is ignored: assets/nf-core-twistcgp_logo_light.png
  • files_exist - File is ignored: assets/sendmail_template.txt
  • files_exist - File is ignored: conf/igenomes.config
  • files_exist - File is ignored: conf/igenomes_ignored.config
  • files_exist - File is ignored: conf/test_full.config
  • files_exist - File is ignored: docs/images/nf-core-twistcgp_logo_dark.png
  • files_exist - File is ignored: docs/images/nf-core-twistcgp_logo_light.png
  • files_exist - File is ignored: docs/output.md
  • files_exist - File is ignored: docs/README.md
  • files_exist - File is ignored: docs/usage.md
  • nextflow_config - nextflow_config
  • nf_test_content - nf_test_content
  • files_unchanged - File ignored due to lint config: CODE_OF_CONDUCT.md
  • files_unchanged - File ignored due to lint config: LICENSE or LICENSE.md or LICENCE or LICENCE.md
  • files_unchanged - File ignored due to lint config: .github/.dockstore.yml
  • files_unchanged - File ignored due to lint config: .github/CONTRIBUTING.md
  • files_unchanged - File ignored due to lint config: .github/ISSUE_TEMPLATE/bug_report.yml
  • files_unchanged - File ignored due to lint config: .github/ISSUE_TEMPLATE/config.yml
  • files_unchanged - File ignored due to lint config: .github/ISSUE_TEMPLATE/feature_request.yml
  • files_unchanged - File ignored due to lint config: .github/PULL_REQUEST_TEMPLATE.md
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting_comment.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File does not exist: assets/email_template.html
  • files_unchanged - File ignored due to lint config: assets/email_template.txt
  • files_unchanged - File does not exist: assets/sendmail_template.txt
  • files_unchanged - File ignored due to lint config: assets/nf-core-twistcgp_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-twistcgp_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-twistcgp_logo_dark.png
  • files_unchanged - File ignored due to lint config: docs/README.md
  • files_unchanged - File ignored due to lint config: .gitignore or .prettierignore
  • actions_nf_test - actions_nf_test
  • actions_awstest - 'awstest.yml' workflow not found: /home/runner/work/twistcgp/twistcgp/.github/workflows/awstest.yml
  • actions_awsfulltest - actions_awsfulltest
  • rocrate_readme_sync - rocrate_readme_sync

✅ Tests passed:

  • files_exist - File found: .gitattributes
  • files_exist - File found: .gitignore
  • files_exist - File found: .nf-core.yml
  • files_exist - File found: nextflow_schema.json
  • files_exist - File found: nextflow.config
  • files_exist - File found: README.md
  • files_exist - File found: conf/modules.config
  • files_exist - File found: conf/test.config
  • files_exist - File found: nf-test.config
  • files_exist - File found: tests/default.nf.test
  • files_exist - File found: main.nf
  • files_exist - File found: assets/multiqc_config.yml
  • files_exist - File found: conf/base.config
  • files_exist - File found: modules.json
  • files_exist - File not found check: .github/ISSUE_TEMPLATE/bug_report.md
  • files_exist - File not found check: .github/ISSUE_TEMPLATE/feature_request.md
  • files_exist - File not found check: .github/workflows/push_dockerhub.yml
  • files_exist - File not found check: .markdownlint.yml
  • files_exist - File not found check: .nf-core.yaml
  • files_exist - File not found check: .yamllint.yml
  • files_exist - File not found check: bin/markdown_to_html.r
  • files_exist - File not found check: conf/aws.config
  • files_exist - File not found check: docs/images/nf-core-twistcgp_logo.png
  • files_exist - File not found check: lib/Checks.groovy
  • files_exist - File not found check: lib/Completion.groovy
  • files_exist - File not found check: lib/NfcoreTemplate.groovy
  • files_exist - File not found check: lib/Utils.groovy
  • files_exist - File not found check: lib/Workflow.groovy
  • files_exist - File not found check: lib/WorkflowMain.groovy
  • files_exist - File not found check: lib/WorkflowTwistcgp.groovy
  • files_exist - File not found check: parameters.settings.json
  • files_exist - File not found check: pipeline_template.yml
  • files_exist - File not found check: Singularity
  • files_exist - File not found check: lib/nfcore_external_java_deps.jar
  • files_exist - File not found check: .travis.yml
  • files_unchanged - .gitattributes matches the template
  • files_unchanged - .prettierrc.yml matches the template
  • pipeline_if_empty_null - No ifEmpty(null) strings found
  • plugin_includes - No wrong validation plugin imports have been found
  • pipeline_name_conventions - Name adheres to nf-core convention
  • template_strings - Did not find any Jinja template strings (0 files)
  • schema_lint - Schema lint passed
  • schema_lint - Schema title + description lint passed
  • schema_lint - Input mimetype lint passed: 'text/csv'
  • schema_params - Schema matched params returned from nextflow config
  • system_exit - No System.exit calls found
  • actions_schema_validation - Workflow validation passed: linting.yml
  • actions_schema_validation - Workflow validation passed: linting_comment.yml
  • actions_schema_validation - Workflow validation passed: twistgp_ci.yml
  • merge_markers - No merge markers found in pipeline files
  • modules_json - Only installed modules found in modules.json
  • multiqc_config - assets/multiqc_config.yml found and not ignored.
  • multiqc_config - assets/multiqc_config.yml contains report_section_order
  • multiqc_config - assets/multiqc_config.yml contains export_plots
  • multiqc_config - assets/multiqc_config.yml contains report_comment
  • multiqc_config - assets/multiqc_config.yml follows the ordering scheme of the minimally required plugins.
  • multiqc_config - assets/multiqc_config.yml contains 'export_plots: true'.
  • modules_structure - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
  • local_component_structure - local subworkflows directory structure is correct 'subworkflows/local/TOOL/SUBTOOL'
  • base_config - conf/base.config found and not ignored.
  • modules_config - conf/modules.config found and not ignored.
  • modules_config - ALIGNBAM found in conf/modules.config and Nextflow scripts.
  • modules_config - BCFTOOLS_VIEW found in conf/modules.config and Nextflow scripts.
  • modules_config - BWAMEM2_INDEX found in conf/modules.config and Nextflow scripts.
  • modules_config - CIVICPY_UPDATE_CACHE found in conf/modules.config and Nextflow scripts.
  • modules_config - CIVICPY_ANNOTATE_VCF found in conf/modules.config and Nextflow scripts.
  • modules_config - CNVKIT_BATCH found in conf/modules.config and Nextflow scripts.
  • modules_config - ENSEMBLVEP_DOWNLOAD found in conf/modules.config and Nextflow scripts.
  • modules_config - ENSEMBLVEP_VEP found in conf/modules.config and Nextflow scripts.
  • modules_config - GATK4_MUTECT2 found in conf/modules.config and Nextflow scripts.
  • modules_config - GATK4_FILTERMUTECTCALLS found in conf/modules.config and Nextflow scripts.
  • modules_config - FASTP found in conf/modules.config and Nextflow scripts.
  • modules_config - FASTQC found in conf/modules.config and Nextflow scripts.
  • modules_config - FGBIO_FASTQTOBAM found in conf/modules.config and Nextflow scripts.
  • modules_config - MSISENSORPRO_SCAN found in conf/modules.config and Nextflow scripts.
  • modules_config - MSISENSOR2_MSI found in conf/modules.config and Nextflow scripts.
  • modules_config - MSISENSORPRO_PRO found in conf/modules.config and Nextflow scripts.
  • modules_config - PERBASE found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD_COLLECTHSMETRICS found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD_COLLECTMULTIPLEMETRICS found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD_INTERVALLISTTOBED found in conf/modules.config and Nextflow scripts.
  • modules_config - PICARD_MARKDUPLICATES found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_FAIDX found in conf/modules.config and Nextflow scripts.
  • modules_config - SAMTOOLS_DICT found in conf/modules.config and Nextflow scripts.
  • modules_config - SNPEFF_DOWNLOAD found in conf/modules.config and Nextflow scripts.
  • modules_config - SNPEFF_SNPEFF found in conf/modules.config and Nextflow scripts.
  • modules_config - TMB found in conf/modules.config and Nextflow scripts.
  • modules_config - MULTIQC found in conf/modules.config and Nextflow scripts.
  • modules_config - TWISTCGP found in conf/modules.config and Nextflow scripts.
  • modules_config - TABIX_POPULATION_GERMLINE found in conf/modules.config and Nextflow scripts.
  • modules_config - TABIX_PON found in conf/modules.config and Nextflow scripts.
  • modules_config - TABIX_COSMIC found in conf/modules.config and Nextflow scripts.
  • modules_config - TABIX_GNOMAD found in conf/modules.config and Nextflow scripts.
  • nfcore_yml - Repository type in .nf-core.yml is valid: pipeline
  • nfcore_yml - nf-core version in .nf-core.yml is set to the latest version: 3.5.2

Run details

  • nf-core/tools version 3.5.2
  • Run at 2026-04-01 15:40:05

@znorgaard
Copy link
Copy Markdown
Collaborator

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 1, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 1, 2026

📝 Walkthrough

Walkthrough

This pull request introduces skip parameters for CNV, MSI, and TMB analysis steps, raising the TMB variant allele frequency threshold from 0.05 to 0.10, and refactoring the CIViCpy workflow. Key changes include pinning GitHub Actions dependencies, adding a new CIVICPY_UPDATE_CACHE process, renaming CIVICPY to CIVICPY_ANNOTATE_VCF, updating CIViCpy container to version 5.2.0, and adding conditional execution gates across multiple analysis processes. gnomAD frequency field mappings are updated, and configuration files are adjusted to support selective pipeline component execution.

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'feature branch: nice-to-have features' is vague and generic, failing to describe the actual changes (skip parameters for CNV/MSI/TMB, civicpy cache updates, VAF threshold changes, workflow gating logic). Use a specific title that captures the main feature, such as 'Add skip parameters for CNV, MSI, and TMB analysis steps' or 'Implement optional analysis step skipping and civicpy cache management'.
Description check ❓ Inconclusive The PR description mentions constituent PRs (#85, #88, #104, #105) but lacks detail about actual changes, rationale, or scope. Expand the description to briefly explain what features were added, why they matter, and which constituent PRs are actually included in this merge.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch em_nice_to_haves

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@conf/test.config`:
- Around line 45-48: The test profile disables the CIVICPY cache task via the
withName block for "CIVICPY_UPDATE_CACHE" (ext.when = { false }) but doesn't set
params.skip_civicpy, so the workflow still tries to run CIViCPY steps; update
the test profile params to add skip_civicpy = true (i.e., set
params.skip_civicpy) so the workflow's if (!params.skip_civicpy) gating will
skip the CIVICPY path consistently with the cache task being disabled.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f01910e6-1211-4f69-9dab-eff5411610b6

📥 Commits

Reviewing files that changed from the base of the PR and between a4b4ffe and 65969ea.

📒 Files selected for processing (16)
  • .github/workflows/linting.yml
  • .github/workflows/twistgp_ci.yml
  • CHANGELOG.md
  • README.md
  • assets/pytmb_vep.yml
  • conf/modules.config
  • conf/test.config
  • modules/local/civicpy/annotate/environment.yml
  • modules/local/civicpy/annotate/main.nf
  • modules/local/civicpy/annotate/meta.yml
  • modules/local/civicpy/update_cache/main.nf
  • modules/local/civicpy/update_cache/meta.yml
  • modules/local/tmb/main.nf
  • nextflow.config
  • nextflow_schema.json
  • workflows/twistcgp.nf

Comment thread conf/test.config
Comment on lines +45 to 48
withName: "CIVICPY_UPDATE_CACHE" {
// Downloading the CIViC cache is too slow for CI
ext.when = { false }
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== test profile civicpy-related config =="
rg -n -C2 'CIVICPY_UPDATE_CACHE|skip_civicpy|skip_tmb|skip_msi|ext.when' conf/test.config

echo
echo "== workflow civicpy wiring =="
rg -n -C2 'if \(!params.skip_civicpy\)|CIVICPY_UPDATE_CACHE|CIVICPY_ANNOTATE_VCF' workflows/twistcgp.nf

Repository: fulcrumgenomics/twistcgp

Length of output: 2625


Fix CIVICPY test-profile gating mismatch.

Disabling CIVICPY_UPDATE_CACHE with ext.when = { false } (line 45) leaves the workflow trying to use a nonexistent cache output since skip_civicpy is not set in params. The workflow's if (!params.skip_civicpy) check will still attempt to run CIVICPY processes; set skip_civicpy = true in the test profile params (line 52) to properly gate the entire CIVICPY path.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@conf/test.config` around lines 45 - 48, The test profile disables the CIVICPY
cache task via the withName block for "CIVICPY_UPDATE_CACHE" (ext.when = { false
}) but doesn't set params.skip_civicpy, so the workflow still tries to run
CIViCPY steps; update the test profile params to add skip_civicpy = true (i.e.,
set params.skip_civicpy) so the workflow's if (!params.skip_civicpy) gating will
skip the CIVICPY path consistently with the cache task being disabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants