-
Notifications
You must be signed in to change notification settings - Fork 159
Implement nf-schema in pipeline #472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
edmundmiller
wants to merge
9
commits into
dev
Choose a base branch
from
cursor/implement-nf-schema-in-pipeline-14ac
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Warning Newer version of the nf-core template is available. Your pipeline is using an old version of the nf-core template: 3.2.1. For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation. |
|
29520d7
to
96867d9
Compare
96867d9
to
e92fa1c
Compare
This was
linked to
issues
Sep 17, 2025
- Add minimum value constraints for replicate IDs (minimum: 1) - Implement antibody/control dependency validation using dependentRequired - Update regex patterns for antibody and control fields to allow alphanumeric, dots, and hyphens - Improve error messages for better user experience - Ensure data integrity with stricter validation rules 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Remove custom Python samplesheet validation script (bin/check_samplesheet.py) - Remove corresponding Nextflow module (modules/local/samplesheet_check.nf) - Eliminates 247 lines of custom validation code - Paves way for modern nf-schema validation system 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Replace file-based samplesheet input with nf-schema samplesheetToList() - Implement direct channel creation from validated samplesheet data - Add validateSamplesheetRow() function for custom validation logic - Preserve space replacement warnings and single_end computation - Ensure backward compatibility with existing pipeline logic 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Update create_fastq_channel() to handle nf-schema output format - Remove dependency on SAMPLESHEET_CHECK module - Process pre-validated data from nf-schema samplesheetToList() - Add proper handling of replicate and control_replicate metadata - Eliminate redundant file existence checks (handled by nf-schema) - Improve single_end detection logic for various data formats 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Update NFCORE_CHIPSEQ workflow to accept pre-validated samplesheet channel - Replace file-based samplesheet input with channel-based data flow - Connect PIPELINE_INITIALISATION.out.samplesheet to main workflow - Remove redundant file creation and validation steps - Streamline data flow from validation to processing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Move INPUT_CHECK workflow into utils_nfcore_chipseq_pipeline/main.nf - Integrate create_fastq_channel function with other pipeline utilities - Update import path in workflows/chipseq.nf - Remove standalone input_check.nf subworkflow - Align with nf-core/rnaseq architectural patterns for cleaner organization - Reduces local subworkflows from 6 to 5, improving maintainability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Extract metadata correctly from nf-schema structure and transform control references to include replicate suffix for proper IP/control BAM pairing. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
Use unique staging directories for different input channels to prevent file name collisions during MultiQC execution. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
Update test snapshots to reflect corrected sample IDs, restored peak calling processes, and proper workflow execution with nf-schema integration. 🤖 Generated with Claude Code Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The pipeline's sample sheet validation was fully migrated to
nf-schema
, replacing a custom Python script.Key changes include:
assets/schema_input.json
was updated to:sample
,antibody
, andcontrol
fields.dependentRequired
.minimum: 1
constraint forreplicate
IDs.bin/check_samplesheet.py
and its Nextflow wrappermodules/local/samplesheet_check.nf
were removed.subworkflows/local/utils_nfcore_chipseq_pipeline/main.nf
gained avalidateSamplesheetRow()
function to preserve pre-nf-schema logic, including space replacement warnings andsingle_end
computation.subworkflows/local/input_check.nf
was simplified, removing its dependency on the Python script and now directly processing pre-validated samplesheet data.main.nf
andworkflows/chipseq.nf
were updated to use thePIPELINE_INITIALISATION.out.samplesheet
channel, reflecting the new validation flow.Subsequently, only
nf-test
related artifacts were removed, includingnextflow
andnf-test
executables, and all.nf-test/
directories, while preserving allnf-schema
implementation changes.