remove consensusid and move to parquet#708
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| BestPractice | 1 minor |
| Security | 1 critical |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Nf core template merge 4.0.2 2
There was a problem hiding this comment.
Pull request overview
This PR updates the quantms Nextflow pipeline to remove the legacy ConsensusID-based path and standardize identification artifacts around the .idparquet format, while also syncing multiple nf-core/module/template and CI components (Nextflow + nf-core tooling + nf-test).
Changes:
- Refactors the TMT isobaric workflow to use a new
ISOBARIC_WORKFLOWmodule and routes quant outputs through parquet-compatible steps. - Migrates multiple ID-processing steps/modules from
idXMLtoidparquetand removes deprecated modules/subworkflows (ConsensusID, IsobaricAnalyzer-based feature mapper/protein inference/protein quant, etc.). - Updates testing and automation: nf-test workflow addition, MultiQC module update, nf-schema plugin bump, Nextflow minimum version bump, and CI/lint workflow changes.
Reviewed changes
Copilot reviewed 113 out of 116 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| workflows/tmt.nf | Switches TMT path to ISOBARIC_WORKFLOW + MSSTATS_CONVERTER and updates emitted outputs |
| workflows/quantms.nf | Minor formatting adjustments in versions topic aggregation |
| tests/default.nf.test | Adjusts snapshot inputs to separate stable path vs stable content |
| subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config | Bumps nf-schema plugin version used in tests |
| subworkflows/nf-core/utils_nfschema_plugin/main.nf | Improves help handling when --help true is passed |
| subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap | Adds snapshot for new nf-test coverage |
| subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test | Adds nf-test for UTILS_NFCORE_PIPELINE |
| subworkflows/nf-core/utils_nfcore_pipeline/main.nf | Adjusts emit: and removes IM notification helper |
| subworkflows/local/utils_nfcore_quantms_pipeline/main.nf | Removes hook_url / imNotification wiring from completion workflow |
| subworkflows/local/protein_quant/meta.yml | Removes deprecated local protein quant subworkflow metadata |
| subworkflows/local/protein_quant/main.nf | Removes deprecated local protein quant subworkflow implementation |
| subworkflows/local/protein_inference/meta.yml | Removes deprecated local protein inference subworkflow metadata |
| subworkflows/local/protein_inference/main.nf | Removes deprecated local protein inference subworkflow implementation |
| subworkflows/local/phospho_scoring/main.nf | Simplifies PTM localization path to always run ONSITE directly |
| subworkflows/local/peptide_database_search/main.nf | Reworks rescoring/fine-tuning sampling and switches cleaning to parquet outputs |
| subworkflows/local/feature_mapper/meta.yml | Removes deprecated feature mapper subworkflow metadata |
| subworkflows/local/feature_mapper/main.nf | Removes deprecated feature mapper subworkflow implementation |
| subworkflows/local/dda_id/main.nf | Simplifies DDA ID-only workflow; removes PSM conversion step |
| ro-crate-metadata.json | Updates RO-Crate metadata (dates, Nextflow minimum, attribution fields) |
| README.md | Updates Nextflow badge/version and fixes nf-core documentation links |
| nextflow.config | Adds/changes onsite params, bumps Nextflow min version, adjusts publishDir compatibility, removes hook_url |
| nextflow_schema.json | Syncs schema with new onsite params and defaults (e.g., lfq_seeding_algorithm) and removes hook_url |
| modules/nf-core/multiqc/tests/nextflow.config | Adjusts MultiQC test args (-p) |
| modules/nf-core/multiqc/tests/main.nf.test.snap | Updates MultiQC snapshots for new outputs (including parquet) |
| modules/nf-core/multiqc/tests/main.nf.test | Refactors MultiQC module tests for tuple/meta-based IO |
| modules/nf-core/multiqc/meta.yml | Updates module schema to tuple/meta IO and adds container lock metadata |
| modules/nf-core/multiqc/main.nf | Updates MultiQC module to tuple/meta IO and emits versions as tuples (not versions.yml) |
| modules/nf-core/multiqc/environment.yml | Bumps MultiQC conda version to 1.34 |
| modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-d167b8012595a136_1.txt | Adds arm64 conda lockfile for MultiQC 1.34 |
| modules/local/utils/spectrum_features/meta.yml | Updates expected ID file patterns to .idparquet |
| modules/local/utils/spectrum_features/main.nf | Updates rescoring container and switches CLI to --idparquet |
| modules/local/utils/psm_conversion/meta.yml | Removes deprecated PSM conversion module metadata |
| modules/local/utils/psm_conversion/main.nf | Removes deprecated PSM conversion module implementation |
| modules/local/utils/psm_clean/meta.yml | Updates expected ID file patterns to .idparquet |
| modules/local/utils/psm_clean/main.nf | Updates rescoring container and outputs .idparquet clean IDs |
| modules/local/utils/msrescore_fine_tuning/meta.yml | Updates expected ID file patterns to .idparquet |
| modules/local/utils/msrescore_fine_tuning/main.nf | Updates rescoring container and switches CLI to --idparquet/list handling |
| modules/local/utils/msrescore_features/meta.yml | Updates expected ID file patterns to .idparquet |
| modules/local/utils/msrescore_features/main.nf | Updates rescoring container tag/version |
| modules/local/openms/sage/meta.yml | Updates Sage output pattern to .idparquet |
| modules/local/openms/sage/main.nf | Pins OpenMS thirdparty container version tag |
| modules/local/openms/proteomicslfq/meta.yml | Updates ProteomicsLFQ input pattern to .idparquet |
| modules/local/openms/proteomicslfq/main.nf | Pins container tag and updates debug outputs to .idparquet naming |
| modules/local/openms/protein_quantifier/meta.yml | Removes deprecated ProteinQuantifier module metadata |
| modules/local/openms/protein_quantifier/main.nf | Removes deprecated ProteinQuantifier module implementation |
| modules/local/openms/protein_inference_generic/meta.yml | Removes deprecated ProteinInference module metadata |
| modules/local/openms/protein_inference_generic/main.nf | Removes deprecated ProteinInference module implementation |
| modules/local/openms/protein_inference_epifany/meta.yml | Removes deprecated Epifany module metadata |
| modules/local/openms/protein_inference_epifany/main.nf | Removes deprecated Epifany module implementation |
| modules/local/openms/percolator/meta.yml | Updates Percolator input pattern to .idparquet |
| modules/local/openms/percolator/main.nf | Pins OpenMS thirdparty container version tag |
| modules/local/openms/msgf/meta.yml | Updates MSGF output pattern to .idparquet |
| modules/local/openms/msgf/main.nf | Pins OpenMS thirdparty container version tag |
| modules/local/openms/isobaric_workflow/meta.yml | Adds new OpenMS IsobaricWorkflow module metadata |
| modules/local/openms/isobaric_workflow/main.nf | Adds new OpenMS IsobaricWorkflow process implementation |
| modules/local/openms/isobaric_analyzer/meta.yml | Removes deprecated IsobaricAnalyzer module metadata |
| modules/local/openms/isobaric_analyzer/main.nf | Removes deprecated IsobaricAnalyzer module implementation |
| modules/local/openms/index_peptides/meta.yml | Updates PeptideIndexer IO patterns to .idparquet |
| modules/local/openms/index_peptides/main.nf | Updates PeptideIndexer output extension to .idparquet |
| modules/local/openms/id_score_switcher/meta.yml | Removes deprecated IDScoreSwitcher module metadata |
| modules/local/openms/id_score_switcher/main.nf | Removes deprecated IDScoreSwitcher module implementation |
| modules/local/openms/id_mapper/meta.yml | Removes deprecated IDMapper module metadata |
| modules/local/openms/id_mapper/main.nf | Removes deprecated IDMapper module implementation |
| modules/local/openms/id_filter/main.nf | Updates tag logic to reflect .idparquet suffix handling |
| modules/local/openms/id_conflict_resolver/meta.yml | Removes deprecated IDConflictResolver module metadata |
| modules/local/openms/id_conflict_resolver/main.nf | Removes deprecated IDConflictResolver module implementation |
| modules/local/openms/generate_decoy_database/main.nf | Pins OpenMS thirdparty container version tag |
| modules/local/openms/false_discovery_rate/meta.yml | Removes deprecated FalseDiscoveryRate module metadata |
| modules/local/openms/false_discovery_rate/main.nf | Removes deprecated FalseDiscoveryRate module implementation |
| modules/local/openms/extractfeatures/main.nf | Removes deprecated PSMFeatureExtractor wrapper module |
| modules/local/openms/consensusid/meta.yml | Removes ConsensusID module metadata |
| modules/local/openms/consensusid/main.nf | Removes ConsensusID module implementation |
| modules/local/openms/comet/meta.yml | Updates Comet output pattern to .idparquet |
| modules/local/openms/comet/main.nf | Pins OpenMS thirdparty container version tag |
| modules/bigbio/onsite/tests/main.nf.test.snap | Adds snapshots for updated onsite module tests |
| modules/bigbio/onsite/tests/main.nf.test | Updates onsite tests to use idparquet inputs/outputs and tagging |
| modules/bigbio/onsite/meta.yml | Updates module schema to tuple/meta IO and idparquet patterns |
| modules/bigbio/onsite/main.nf | Updates onsite container, switches to idparquet IO, extends params support |
| modules/bigbio/onsite/environment.yml | Bumps pyonsite to 0.0.4 and updates env schema header |
| modules.json | Updates module/subworkflow git SHAs to match updated installs |
| main.nf | Removes hook_url argument from completion subworkflow call |
| docs/usage.md | Expands/updates onsite parameter documentation |
| docs/CONTRIBUTING.md | Adds contributing guide under docs and links from template/README |
| conf/tests/test_localize.config | Adds onsite tuning params for localization CI profile |
| conf/modules/shared.config | Extends publishDir selector to include ISOBARIC_WORKFLOW |
| conf/modules/id.config | Removes ConsensusID config and updates ID_FILTER suffixes to .idparquet |
| conf/dev.config | Pins dev containers for OpenMS thirdparty and pyonsite |
| conf/base.config | Adjusts default retry exit codes and revises resource labels/defaults |
| CITATIONS.md | Formatting tweak in MultiQC citation blockquote |
| assets/tmt18plex_default_correction.matrix | Formatting normalization (no content change) |
| assets/slackreport.json | Removes Slack notification template asset |
| assets/multiqc_config.yml | Updates pmultiqc ID pattern from *.idXML to *.idparquet |
| assets/adaptivecard.json | Removes MS Teams adaptive card template asset |
| AGENTS.md | Updates examples to refer to .idparquet patterns |
| .vscode/settings.json | Adds tracked VS Code markdown styling setting |
| .prettierignore | Stops ignoring removed notification templates |
| .pre-commit-config.yaml | Updates prettier version, narrows excludes, and adds nextflow-lint hook |
| .nf-core.yml | Bumps nf-core tools version to 4.0.2 |
| .gitignore | Simplifies ignore list and adds .lineage/ |
| .github/workflows/template-version-comment.yml | Updates pinned action SHAs and doc link |
| .github/workflows/release-announcements.yml | Adds release-toot/Bluesky announcement workflow |
| .github/workflows/nf-test.yml | Adds dedicated nf-test workflow with sharding and profiles |
| .github/workflows/linting.yml | Updates linting workflow to use prek/uv and new action pins |
| .github/workflows/linting_comment.yml | Updates pinned action SHAs |
| .github/workflows/fix_linting.yml | Updates to use prek and nf-core bot token for pushing fixes |
| .github/workflows/extended_ci.yml | Bumps Nextflow version and matrix handling for exec profiles |
| .github/workflows/download_pipeline.yml | Adds workflow to test nf-core pipelines download behavior |
| .github/workflows/clean-up.yml | Updates pinned stale action SHA |
| .github/workflows/ci.yml | Bumps Nextflow version in CI matrix |
| .github/workflows/branch.yml | Updates pinned action SHA |
| .github/PULL_REQUEST_TEMPLATE.md | Updates contributing links and dataset repo reference |
| .github/actions/nf-test/action.yml | Updates action versions/pins for setup tools |
| .github/actions/get-shards/action.yml | Updates setup-nf-test action pin |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| PERCOLATOR(ch_id_files_feats) | ||
| ch_rescoring_results = PERCOLATOR.out.id_files_perc | ||
| ch_software_versions = ch_software_versions.mix(PERCOLATOR.out.versions) |
| .combine(ch_mzmls_search, by: 0) | ||
| .toSortedList() | ||
| .flatMap() | ||
| .randomSample(params.fine_tuning_sample_run, 2025) | ||
| .combine(channel.value("sage")) | ||
| .groupTuple(by: 3) |
| output: | ||
| tuple val(meta), path("${id_file.baseName}_*.idXML"), emit: ptm_in_id_onsite | ||
| tuple val(meta), path("${prefix}_*.idparquet"), emit: ptm_in_id_onsite | ||
| path "versions.yml", emit: versions |
| cat <<-END_VERSIONS > versions.yml | ||
| "${task.process}": | ||
| onsite: \$(onsite --version 2>&1 | grep -oP 'version \\K[0-9.]+' || echo "unknown") | ||
| onsite: \$(onsite --version 2>&1 | grep -oE 'version \\K[0-9.]+' || echo "unknown") |
| - name: Run nf-core pipelines lint | ||
| if: ${{ github.base_ref != 'master' }} | ||
| if: ${{ github.base_ref != 'master' || github.base_ref != 'main' }} | ||
| env: | ||
| GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }} | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }} | ||
| run: nf-core -l lint_log.txt pipelines lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md |
| fragment_unit = params.onsite_fragment_error_units ?: 'Da' | ||
| def optional_flags = [add_decoys, compute_all_scores, debug].findAll { a -> a }.join(' \\\n ') | ||
| algorithm_cmd = """ |
| fragment_unit = params.onsite_fragment_error_units ?: 'Da' | ||
| def optional_flags = [add_decoys, compute_all_scores, debug].findAll { a -> a }.join(' \\\n ') |
|
haha shouldnt we do the review BEFORE merging? |
|
But really nice. I will test this soon. |
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).