Skip to content

Improving the workflow image#16

Merged
ypriverol merged 8 commits intodevfrom
yasset-refactoring
Mar 19, 2026
Merged

Improving the workflow image#16
ypriverol merged 8 commits intodevfrom
yasset-refactoring

Conversation

@ypriverol
Copy link
Copy Markdown
Member

@ypriverol ypriverol commented Mar 19, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Complete quantmsdiann pipeline infrastructure with DIA-NN data-independent acquisition analysis, spectral library generation, and quantification workflows
    • Multiple pre-configured test profiles for different data acquisition methods
    • Full CI/CD pipeline with automated testing across multiple DIA-NN versions
  • Documentation

    • Comprehensive usage and output documentation
    • Contribution guidelines and development workflows
    • Configuration profiles for various execution environments (SLURM, cloud, local)
  • Tests

    • Test profiles for standard DIA, DIA-PASEF, QuantUMS, and Parquet-native analyses
    • nf-test framework integration for module and pipeline validation
  • Chores

    • GitHub issue and pull request templates
    • Code linting and formatting configuration
    • RO-Crate metadata for workflow provenance

@ypriverol ypriverol changed the base branch from main to dev March 19, 2026 14:21
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 19, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 62c65ee0-7e5d-47c7-828e-13fc03a8de3c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This pull request introduces a complete, production-ready bioinformatics pipeline (bigbio/quantmsdiann) for DIA-NN–based proteomics mass spectrometry data analysis. The addition comprises Nextflow DSL2 workflows, DIA-NN processing modules, multiple test/configuration profiles, comprehensive GitHub Actions CI/CD workflows, parameter schemas, documentation, and supporting assets for a complete from-RAW-to-quantification analysis pipeline.

Changes

Cohort / File(s) Summary
Documentation & Contribution Guidelines
README.md, docs/usage.md, docs/output.md, docs/README.md, .github/CONTRIBUTING.md, AGENTS.md, CHANGELOG.md, CITATIONS.md, CODE_OF_CONDUCT.md, .github/skills/sdrf/SKILL.md
Complete user-facing and contributor documentation including pipeline overview, quick-start instructions, output structure, contribution workflow, development guidelines, and software citations.
GitHub Issue Templates & Configuration
.github/ISSUE_TEMPLATE/bug_report.yml, .github/ISSUE_TEMPLATE/feature_request.yml, .github/ISSUE_TEMPLATE/config.yml
Structured issue templates for bug reports and feature requests with contact links to nf-core community and Slack channel.
GitHub Actions Workflows
.github/workflows/ci.yml, .github/workflows/extended_ci.yml, .github/workflows/merge_ci.yml, .github/workflows/clean-up.yml, .github/workflows/linting.yml, .github/workflows/linting_comment.yml, .github/workflows/branch.yml, .github/workflows/fix_linting.yml, .github/workflows/template-version-comment.yml
Complete CI/CD pipeline including default/extended test matrices, branch protection, linting, and automated comment workflows for DIA-NN version handling (1.8.1, 2.1.0, 2.2.0).
GitHub Actions & Dockstore Configuration
.github/actions/get-shards/action.yml, .github/actions/nf-test/action.yml, .github/.dockstore.yml, .github/PULL_REQUEST_TEMPLATE.md
Composite GitHub Actions for nf-test sharding and execution; Dockstore workflow registry configuration; PR checklist template.
Project Configuration Files
.nf-core.yml, modules.json, .gitignore, .gitattributes, .pre-commit-config.yaml, .prettierignore, .prettierrc.yml, nf-test.config, ro-crate-metadata.json
Repository-level metadata, module manifests, code style/linting configuration, nf-test settings, and RO-Crate research object metadata.
Nextflow Configuration & Profiles
nextflow.config, conf/base.config, conf/dev.config, conf/wave.config, conf/pride_codon_slurm.config, conf/diann_versions/*.config, conf/modules/*.config
Core Nextflow configuration with default parameters, base resource profiles, DIA-NN container/version overrides, shared module publishDir rules, and institution-specific executor configurations.
Test Profiles Configuration
conf/tests/test_dia.config, conf/tests/test_dia_dotd.config, conf/tests/test_dia_2_2_0.config, conf/tests/test_dia_quantums.config, conf/tests/test_dia_parquet.config, conf/tests/test_latest_dia.config, conf/tests/test_full_dia.config
Multiple test configuration profiles covering DIA-NN versions, input formats (mzML, Bruker .d), and feature variants (QuantUMS, Parquet output).
Parameter Schema & Validation
nextflow_schema.json, assets/schema_input.json
Comprehensive JSON schemas defining pipeline parameters, input/output constraints, file formats, and validation rules for parameter documentation and runtime validation.
Email & Notification Templates
assets/email_template.html, assets/email_template.txt, assets/sendmail_template.txt, assets/slackreport.json, assets/adaptivecard.json, assets/methods_description_template.yml
Email/Slack/Teams notification templates for pipeline completion reporting, success/failure status, and configuration summaries.
MultiQC Configuration & Assets
assets/multiqc_config.yml
MultiQC configuration for custom data reporting, plot configuration, and input file mapping for DIA-NN proteomics QC.
Core Workflows
main.nf, workflows/quantmsdiann.nf, workflows/dia.nf
Main entry point and orchestration workflows that coordinate input validation, file preparation, DIA-NN analysis stages, and MultiQC report generation.
Subworkflows – Input & File Handling
subworkflows/local/input_check/main.nf, subworkflows/local/input_check/meta.yml, subworkflows/local/create_input_channel/main.nf, subworkflows/local/create_input_channel/meta.yml, subworkflows/local/file_preparation/main.nf, subworkflows/local/file_preparation/meta.yml
Input validation, SDRF parsing, and multi-format file preparation (RAW, mzML, Bruker .d decompression, optional indexing) with metadata enrichment.
Subworkflows – Pipeline Utilities
subworkflows/local/utils_nfcore_quantms_pipeline/main.nf, subworkflows/local/utils_nfcore_quantms_pipeline/meta.yml, subworkflows/nf-core/utils_nextflow_pipeline/main.nf, subworkflows/nf-core/utils_nfcore_pipeline/main.nf, subworkflows/nf-core/utils_nfschema_plugin/main.nf, subworkflows/nf-core/utils_nfcore_pipeline/tests/*, subworkflows/nf-core/utils_nextflow_pipeline/tests/*, subworkflows/nf-core/utils_nfschema_plugin/tests/*
Standard nf-core utility workflows for pipeline lifecycle (version/parameter handling, configuration validation, email/webhook notifications, schema-based parameter validation).
DIA-NN Processing Modules
modules/local/diann/generate_cfg/main.nf, modules/local/diann/insilico_library_generation/main.nf, modules/local/diann/preliminary_analysis/main.nf, modules/local/diann/assemble_empirical_library/main.nf, modules/local/diann/individual_analysis/main.nf, modules/local/diann/final_quantification/main.nf, modules/local/diann/diann_msstats/main.nf
Individual DIA-NN process modules implementing config generation, in-silico library prediction, preliminary/individual/final analysis stages, empirical library assembly, and MSstats format conversion.
OpenMS & Spectrum Preprocessing Modules
modules/local/openms/mzml_indexing/main.nf, modules/local/openms/mzml_indexing/meta.yml, modules/local/utils/mzml_statistics/main.nf, modules/local/utils/mzml_statistics/meta.yml
mzML indexing and spectrum statistics generation modules.
Utility Modules
modules/local/utils/decompress_dotd/main.nf, modules/local/utils/decompress_dotd/meta.yml, modules/local/utils/tdf2mzml/main.nf, modules/local/utils/tdf2mzml/meta.yml, modules/local/samplesheet_check/main.nf, modules/local/samplesheet_check/meta.yml, modules/local/sdrf_parsing/main.nf, modules/local/sdrf_parsing/meta.yml, modules/local/pmultiqc/main.nf, modules/local/pmultiqc/meta.yml
Utility modules for format conversion (Bruker TDF to mzML), archive decompression, sample sheet validation, SDRF parsing, and QC report aggregation.
BioBB & nf-core Modules
modules/bigbio/thermorawfileparser/main.nf, modules/bigbio/thermorawfileparser/meta.yml, modules/bigbio/thermorawfileparser/environment.yml, modules/bigbio/thermorawfileparser/tests/main.nf.test, modules/bigbio/thermorawfileparser/tests/nextflow.config, modules/nf-core/multiqc/main.nf, modules/nf-core/multiqc/meta.yml, modules/nf-core/multiqc/environment.yml, modules/nf-core/multiqc/tests/main.nf.test, modules/nf-core/multiqc/tests/custom_prefix.config, modules/nf-core/multiqc/tests/nextflow.config
Imported modules from bioBB (ThermoRawFileParser for RAW-to-mzML conversion) and nf-core (MultiQC) with metadata, environments, and unit tests.
Module & Subworkflow Metadata
modules/local/diann/*/meta.yml, modules/local/openms/*/meta.yml, modules/local/utils/*/meta.yml, subworkflows/local/*/meta.yml, subworkflows/nf-core/*/meta.yml
Metadata definitions for all modules and subworkflows describing inputs, outputs, tool dependencies, and authors.
Pipeline Tests
tests/default.nf.test, tests/nextflow.config, tests/.nftignore
End-to-end integration test configuration for the complete pipeline, test data references, and ignored artifact patterns.
Action Plans & Roadmap
.claude/actions_plans.md
Documentation of completed Phase 1 development (CI matrix, module cleanup, testing strategy) and future roadmap for DIA-NN 2.x and performance enhancements.
License
LICENSE
Updated copyright line from "BigBio Stack" to "The bigbio/quantmsdiann team".

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Main as main.nf
    participant InputCheck as INPUT_CHECK
    participant FilePrep as FILE_PREPARATION
    participant CreateChannel as CREATE_INPUT_CHANNEL
    participant DIA as DIA Workflow
    participant PMULTIQC as PMULTIQC
    participant Output as Results Directory

    User->>Main: nextflow run --input sdrf.tsv --database proteins.fa --outdir results
    Main->>InputCheck: Validate SDRF file
    InputCheck-->>Main: Checked SDRF
    Main->>CreateChannel: Parse SDRF & create metadata
    CreateChannel-->>Main: Channel of (meta, file_path) pairs
    Main->>FilePrep: Prepare input files (convert RAW to mzML, decompress .d)
    FilePrep-->>Main: Prepared mzML files with statistics
    Main->>DIA: Run DIA analysis (in-silico lib → preliminary → empirical → individual → final quant)
    DIA->>DIA: Generate config
    DIA->>DIA: In-silico library generation
    DIA->>DIA: Preliminary analysis
    DIA->>DIA: Assemble empirical library
    DIA->>DIA: Individual MS file analysis
    DIA->>DIA: Final quantification & MSstats conversion
    DIA-->>Main: Quantification matrices & reports
    Main->>PMULTIQC: Aggregate QC & generate MultiQC report
    PMULTIQC-->>Main: MultiQC HTML report
    Main->>Output: Write results
    Output-->>User: Pipeline complete
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~150 minutes

Possibly related PRs

  • extract DIA-NN workflow from quantms #11: Directly related PR that implements the same DIA-NN–focused workflows, DIA-NN processing module stages (preliminary_analysis, individual_analysis, final_quantification), and supporting configurations and tests, indicating overlapping code-level foundational work.

Suggested reviewers

  • daichengxin

Poem

🐰 A rabbit hops through data streams so bright,
Raw spectra flowing left and right,
DIA-NN's magic weaves them all,
From library to quantums, standing tall!
MultiQC dances at the end—
A pipeline perfect, friend to friend! 🔬✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yasset-refactoring

@ypriverol ypriverol requested a review from yueqixuan March 19, 2026 19:48
@ypriverol ypriverol merged commit a08473c into dev Mar 19, 2026
16 checks passed
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.

1 participant