Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
682576d
added picard tools
Oct 1, 2025
7b44c68
linting
Oct 2, 2025
9fa9923
nf-tests
agrima2010 Oct 2, 2025
582938f
nf tests
agrima2010 Oct 2, 2025
4576ce3
minor changes
agrima2010 Oct 2, 2025
3218dc2
minor changes
agrima2010 Oct 2, 2025
59e6b2b
minor changes
agrima2010 Oct 2, 2025
01fd46a
snapshots updated
agrima2010 Oct 2, 2025
f03a1da
updated ss
agrima2010 Oct 2, 2025
c3d3498
bwamem2 not compatible with long reads Promethion
agrima2010 Oct 2, 2025
8cdf2fd
ss
agrima2010 Oct 2, 2025
d765d1d
ss updated
agrima2010 Oct 7, 2025
884cb2a
ss
agrima2010 Oct 7, 2025
d0141fb
ss
agrima2010 Oct 7, 2025
6b8c76e
.nftignore
agrima2010 Oct 7, 2025
0cfcb83
ss
agrima2010 Oct 7, 2025
db7395a
Update tests/.nftignore
agrima2010 Oct 7, 2025
7135a9d
Update tests/.nftignore
agrima2010 Oct 7, 2025
5d129cf
Test.config updates
agrima2010 Oct 7, 2025
4117e63
Merge branch 'picard_tools_dev' of https://github.com/agrima2010/seqi…
agrima2010 Oct 7, 2025
c7867ab
Added bwa_index parameter
Oct 14, 2025
b8b638f
updated process paramters for modules
Oct 14, 2025
16cad1b
added citations and updated snapshots
agrima2010 Oct 15, 2025
f96e208
prettier and linting
agrima2010 Oct 15, 2025
c11a49d
linting
agrima2010 Oct 15, 2025
567a431
linting
agrima2010 Oct 15, 2025
8a20d2d
config files updated
agrima2010 Oct 15, 2025
d5ae511
linting
agrima2010 Oct 15, 2025
6417907
linting
agrima2010 Oct 15, 2025
257ff2d
minor changes
agrima2010 Oct 15, 2025
8527ccd
Merge branch 'dev' into bwa_index
maxulysse Nov 6, 2025
d23962a
Update nextflow_schema.json
maxulysse Nov 7, 2025
5eeac1a
Merge branch 'dev' into bwa_index
maxulysse Nov 7, 2025
2b6c91d
fix snapshots
maxulysse Nov 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Initial release of nf-core/seqinspector, created with the [nf-core](https://nf-c
- [#96](https://github.com/nf-core/seqinspector/pull/96) Added missing citations to citation tool
- [#103](https://github.com/nf-core/seqinspector/pull/103) Configure full-tests
- [#110](https://github.com/nf-core/seqinspector/pull/110) Update input schema to accept either tar file or directory as rundir, and fastq messages and patterns.
- [#127] (https://github.com/nf-core/seqinspector/pull/127) Added alignment tools - bwamem2 - index and mem
- [#128] (https://github.com/nf-core/seqinspector/pull/128) Added Picard tools - Collect Multiple Mterics to collect QC metrics
Comment on lines +26 to +27
Copy link
Member

Choose a reason for hiding this comment

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

where is 132?

Suggested change
- [#127] (https://github.com/nf-core/seqinspector/pull/127) Added alignment tools - bwamem2 - index and mem
- [#128] (https://github.com/nf-core/seqinspector/pull/128) Added Picard tools - Collect Multiple Mterics to collect QC metrics
- [#127](https://github.com/nf-core/seqinspector/pull/127) Added alignment tools - bwamem2 - index and mem
- [#128](https://github.com/nf-core/seqinspector/pull/128) Added Picard tools - Collect Multiple Mterics to collect QC metrics


### `Fixed`

Expand Down
10 changes: 10 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@

- [Seqtk](https://github.com/lh3/seqtk)

- [BWAMEM2](https://ieeexplore.ieee.org/abstract/document/8820962)

> Vasimuddin Md, Misra S, Li H, Aluru S. Efficient Architecture-Aware Acceleration of BWA-MEM for Multicore Systems. In: 2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE; 2019:314-324. doi:10.1109/IPDPS.2019.00041

- [SAMTOOLS](https://academic.oup.com/bioinformatics/article/25/16/2078/204688)

> Danecek P, Bonfield JK, Liddle J, et al. Twelve years of SAMtools and BCFtools. GigaScience. 2021;10(2):giab008. doi:10.1093/gigascience/giab008

- [Picard Tools](https://broadinstitute.github.io/picard/)

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@

1. Subsample reads ([`Seqtk`](https://github.com/lh3/seqtk))
2. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))
3. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
3. Align reads to reference with ([`Bwamem2`](https://github.com/bwa-mem2/bwa-mem2))
4. Index aligned BAM files ([`SAMtools`](http://github.com/samtools))
5. Create FASTA index ([`SAMtools`](http://github.com/samtools))
6. Collect multiple QC metrics ([`Picard CollectMultipleMetrics`](https://broadinstitute.github.io/picard/picard-metric-definitions.html))
7. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))

## Usage

Expand Down
32 changes: 30 additions & 2 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ process {
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]

withName: SEQTK_SAMPLE {
withName: 'SEQTK_SAMPLE' {
ext.args = '-s100'
}

withName: FASTQC {
withName: 'FASTQC' {
ext.args = '--quiet'
}

Expand All @@ -42,6 +42,7 @@ process {
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'BWAMEM2_MEM' {
publishDir = [
path: { "${params.outdir}/bwamem2_mem" },
Expand All @@ -50,6 +51,33 @@ process {
]
}

withName: 'PICARD_COLLECTMULTIPLEMETRICS' {
ext.args = ''
publishDir = [
path: { "${params.outdir}/picard_collectmultiplemetrics" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'SAMTOOLS_FAIDX' {
ext.args = ''
publishDir = [
path: { "${params.outdir}/samtools_faidx" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'SAMTOOLS_INDEX' {
ext.args = ''
publishDir = [
path: { "${params.outdir}/samtools_index" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
}

withName: 'MULTIQC_GLOBAL' {
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
publishDir = [
Expand Down
72 changes: 72 additions & 0 deletions conf/seqinspector_v1.0_stage_resources.config
Copy link
Member

Choose a reason for hiding this comment

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

Why a separate file for this, and not using the conf/base.config?

Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
process {


// TODO nf-core: Check the defaults for all processes
cpus = { 1 * task.attempt }
memory = { 6.GB * task.attempt }
time = { 4.h * task.attempt }

errorStrategy = { task.exitStatus in ((130..145) + 104) ? 'retry' : 'finish' }
maxRetries = 2
maxErrors = '-1'


// Subsampling reads
withName: 'SEQTK_SAMPLE' {
cpus = 6
memory = { 4.GB * task.attempt }
time = { 4.h * task.attempt }
}

// Quality control
withName: 'FASTQC' {
cpus = 2
memory = { 36.GB * task.attempt }
time = { 8.h * task.attempt }
}
withName: 'SEQFU_STATS' {
cpus = 6
memory = { 4.GB * task.attempt }
time = { 4.h * task.attempt }
}
withName: 'FASTQSCREEN_FASTQSCREEN' {
cpus = 6
memory = { 36.GB * task.attempt }
time = { 8.h * task.attempt }
}

// Reference genome processing
withName: 'BWAMEM2_INDEX' {
cpus = 12
memory = { 72.GB * task.attempt }
time = { 16.h * task.attempt }
}
withName: 'BWAMEM2_MEM' {
cpus = 6
memory = { 35.GB * task.attempt }
time = { 16.h * task.attempt }
}
withName: 'SAMTOOLS_INDEX' {
cpus = 6
memory = { 4.GB * task.attempt }
time = { 4.h * task.attempt }
}
withName: 'SAMTOOLS_FAIDX' {
cpus = 6
memory = { 6.GB * task.attempt }
time = { 4.h * task.attempt }
}
// Picard metrics
withName: 'PICARD_COLLECTMULTIPLEMETRICS' {
cpus = 4
memory = { 8.GB * task.attempt }
time = { 4.h * task.attempt }
}

// MultiQC aggregation
withName: 'MULTIQC_GLOBAL|MULTIQC_PER_TAG' {
cpus = 4
memory = { 4.GB * task.attempt }
time = { 4.h * task.attempt }
}
}
28 changes: 10 additions & 18 deletions main.nf
Copy link
Member

Choose a reason for hiding this comment

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

so for me bwa and other indexes should be fetch using getGenomeAttribute at this level from the igenomes.config file around L17

Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_seqi
// WORKFLOW: Run main analysis pipeline depending on type of input
//
workflow NFCORE_SEQINSPECTOR {

take:
samplesheet // channel: samplesheet read in from --input

Expand All @@ -46,13 +45,14 @@ workflow NFCORE_SEQINSPECTOR {
// WORKFLOW: Run pipeline
//

SEQINSPECTOR (
samplesheet
SEQINSPECTOR(
samplesheet,
params.fasta,
)
emit:
global_report = SEQINSPECTOR.out.global_report // channel: /path/to/multiqc_report.html
grouped_reports = SEQINSPECTOR.out.grouped_reports // channel: /path/to/multiqc_report.html

emit:
global_report = SEQINSPECTOR.out.global_report // channel: /path/to/multiqc_report.html
grouped_reports = SEQINSPECTOR.out.grouped_reports // channel: /path/to/multiqc_report.html
}
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -62,14 +62,12 @@ workflow NFCORE_SEQINSPECTOR {

workflow {

main:


//
// SUBWORKFLOW: Run initialisation tasks
//

PIPELINE_INITIALISATION (
PIPELINE_INITIALISATION(
params.version,
params.validate_params,
params.monochrome_logs,
Expand All @@ -84,13 +82,13 @@ workflow {
//
// WORKFLOW: Run main workflow
//
NFCORE_SEQINSPECTOR (
PIPELINE_INITIALISATION.out.samplesheet,
NFCORE_SEQINSPECTOR(
PIPELINE_INITIALISATION.out.samplesheet
)
//
// SUBWORKFLOW: Run completion tasks
//
PIPELINE_COMPLETION (
PIPELINE_COMPLETION(
params.email,
params.email_on_fail,
params.plaintext_email,
Expand Down Expand Up @@ -119,9 +117,3 @@ def getGenomeAttribute(attribute) {
}
return null
}

/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THE END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
1 change: 1 addition & 0 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ params {
igenomes_base = 's3://ngi-igenomes/igenomes/'
igenomes_ignore = false
sort_bam = true
bwa_index = null
Copy link
Member

Choose a reason for hiding this comment

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

that should not be needed


// Fastqscreen options
fastq_screen_references = "${projectDir}/assets/example_fastq_screen_references.csv"
Expand Down
10 changes: 8 additions & 2 deletions nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,8 @@
"modules_testdata_base_path": {
"type": "string",
"description": "Base path / URL for data used in the modules",
"hidden": true
"hidden": true,
"default": "s3://ngi-igenomes/testdata/nf-core/modules/"
},
"multiqc_config": {
"type": "string",
Expand Down Expand Up @@ -282,5 +283,10 @@
{
"$ref": "#/$defs/generic_options"
}
]
],
"properties": {
"bwa_index": {
"type": "string"
}
}
Comment on lines +287 to +291
Copy link
Member

Choose a reason for hiding this comment

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

that should be in the reference_genome_options part

}
Loading