Skip to content

add per-sample logic for FASTA#21

Open
julianu wants to merge 2 commits into
devfrom
feature_fasta_in_samplesheet
Open

add per-sample logic for FASTA#21
julianu wants to merge 2 commits into
devfrom
feature_fasta_in_samplesheet

Conversation

@julianu
Copy link
Copy Markdown
Collaborator

@julianu julianu commented May 12, 2026

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
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

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

Posted for pipeline commit ddbd147

+| ✅ 195 tests passed       |+
#| ❔   6 tests were ignored |#
!| ❗  30 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 README.md: TODO nf-core:
  • 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: Fill in short bullet-pointed list of the default steps in the pipeline
  • pipeline_todos - TODO string in README.md: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
  • pipeline_todos - TODO string in README.md: update the following command to include all required parameters for a minimal example
  • 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 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 awsfulltest.yml: You can customise AWS full pipeline tests as required
  • 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!
  • pipeline_todos - TODO string in usage.md: Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website.
  • pipeline_todos - TODO string in output.md: Write this documentation describing your workflow's output
  • 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 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

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.2
  • Run at 2026-05-12 12:19:37

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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
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