Skip to content

add per-sample logic for FASTA#21

Merged
julianu merged 4 commits into
devfrom
feature_fasta_in_samplesheet
May 15, 2026
Merged

add per-sample logic for FASTA#21
julianu merged 4 commits into
devfrom
feature_fasta_in_samplesheet

Conversation

@julianu

@julianu julianu commented May 12, 2026

Copy link
Copy Markdown
Collaborator

This PR includes the option to define the FASTA either per sample (in the samplesheet), or global wit hthe --fasta param.

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/mspepid branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • [] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

Co-authored-by: Copilot <copilot@github.com>
@github-actions

github-actions Bot commented May 12, 2026

Copy link
Copy Markdown

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

Posted for pipeline commit be7c28c

+| ✅ 195 tests passed       |+
#| ❔   6 tests were ignored |#
#| ❔   1 tests had warnings |#
!| ❗  23 tests had warnings |!
Details

❗ Test warnings:

  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in nextflow.config: Specify your pipeline's command line flags
  • pipeline_todos - TODO string in nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs
  • pipeline_todos - TODO string in nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0
  • pipeline_todos - TODO string in README.md: If applicable, make list of people who have also contributed
  • 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 README.md: Add bibliography of tools and data used in your pipeline
  • pipeline_todos - TODO string in CONTRIBUTING.md: Add any pipeline specific contribution guidelines here, such as coding styles, procedures, checklists etc.
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed
  • 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 meta.yml: # Add a description of the module and list keywords
  • pipeline_todos - TODO string in meta.yml: #Add a description and other details for the software below
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as output
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as input
  • pipeline_todos - TODO string in meta.yml: ##Add a description of all of the variables used as output
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • 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!

❔ Tests ignored:

❔ Tests fixed:

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.2
  • Run at 2026-05-15 09:12:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for providing the protein FASTA either globally via --fasta or per MS run via a fasta column in the samplesheet, and wires the selected FASTA through database preparation and spectra identification.

Changes:

  • Extend samplesheet parsing to emit [meta, spectrum_file, fasta_file], with validation enforcing mutual exclusivity/completeness between --fasta and the samplesheet fasta column.
  • Update the main workflow to deduplicate FASTA inputs (run PREPARE_DATABASES once per unique FASTA) and re-associate prepared DB FASTAs back to runs for identification.
  • Update schema/sample assets to reflect the new optional samplesheet FASTA column and broaden FASTA extension patterns (including optional .gz).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
workflows/mspepid.nf Extract/deduplicate per-run FASTAs, prepare DBs once per unique FASTA, and join per-run DB FASTAs into identification.
subworkflows/local/utils_nfcore_mspepid_pipeline/main.nf Add mutual-exclusivity validation and emit FASTA per run from either --fasta or samplesheet column.
subworkflows/local/spectra_identification/main.nf Join spectra inputs with per-run database FASTA and reuse that for Comet/Sage execution.
nextflow_schema.json Update global --fasta schema text/pattern to match expanded FASTA support and exclusivity.
main.nf Remove passing params.fasta into MSPEPID since FASTA is now embedded in the samplesheet channel.
assets/schema_input.json Add optional fasta column definition for samplesheet validation.
assets/samplesheet.csv Update example samplesheet to include ID,spectrum_file,fasta.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread subworkflows/local/utils_nfcore_mspepid_pipeline/main.nf
Comment thread subworkflows/local/utils_nfcore_mspepid_pipeline/main.nf
Comment thread workflows/mspepid.nf Outdated
Comment thread nextflow_schema.json Outdated

@di-hardt di-hardt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

seems alright. as you already updating the sample sheet structure, please go ahead and update the docs as well (at least the usage document). there are still the information from the template, which are more genomics related I guess. makes it easier for people to get involved (users and developers alike)

@di-hardt di-hardt self-requested a review May 15, 2026 13:41

@di-hardt di-hardt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

works fine

@julianu julianu merged commit 3296f75 into dev May 15, 2026
9 checks passed
@julianu julianu deleted the feature_fasta_in_samplesheet branch May 15, 2026 14:55
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.

3 participants