Skip to content

Commit

Permalink
Merge branch 'dev' into fastqscreen
Browse files Browse the repository at this point in the history
  • Loading branch information
edmundmiller authored Nov 14, 2024
2 parents e2a290c + 46d39d6 commit a0ef751
Show file tree
Hide file tree
Showing 12 changed files with 297 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Initial release of nf-core/seqinspector, created with the [nf-core](https://nf-c
- [#20](https://github.com/nf-core/seqinspector/pull/20) Use tags to generate group reports
- [#13](https://github.com/nf-core/seqinspector/pull/13) Generate reports per run, per project and per lane.
- [#49](https://github.com/nf-core/seqinspector/pull/49) Merge with template 3.0.2.
- [#56](https://github.com/nf-core/seqinspector/pull/56) Added SeqFu stats module.
- [#50](https://github.com/nf-core/seqinspector/pull/50) Add an optional subsampling step.
- [#51](https://github.com/nf-core/seqinspector/pull/51) Add nf-test to CI.
- [#63](https://github.com/nf-core/seqinspector/pull/63) Contribution guidelines added about displaying results for new tools
Expand Down
6 changes: 5 additions & 1 deletion CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
- [Fastqscreen](https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/)
- [SeqFu](https://telatin.github.io/seqfu2/)

> Telatin A, Fariselli P, Birolo G. SeqFu: A Suite of Utilities for the Robust and Reproducible Manipulation of Sequence Files. Bioengineering 2021, 8, 59. doi.org/10.3390/bioengineering8050059
- [FastQ Screen](https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/)

> Wingett SW and Andrews S. FastQ Screen: A tool for multi-genome mapping and quality control [version 2; referees: 4 approved]. F1000Research 2018, 7:1338 (https://doi.org/10.12688/f1000research.15931.2)
Expand Down
9 changes: 9 additions & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ process {
ext.args = '--quiet'
}

withName: 'SEQFU_STATS' {
ext.args = ''
publishDir = [
path: { "${params.outdir}/seqfu_stats" },
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
16 changes: 15 additions & 1 deletion docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d

- [Seqtk](#seqtk) - Subsample a specific number of reads per sample
- [FastQC](#fastqc) - Raw read QC
- [SeqFu Stats](#seqfu_stats) - Statistics for FASTA or FASTQ files
- [Fastqscreen](#fastqscreen) - mapping against a set of references for basic contamination QC
- [MultiQC](#multiqc) - Aggregate report describing results and QC from the whole pipeline
- [Pipeline information](#pipeline-information) - Report metrics generated during the workflow execution
Expand Down Expand Up @@ -46,7 +47,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
<details markdown="1">
<summary>Output files</summary>

- `fastqc/`
- `fastqscreen/`
- `*_screen.html`: Interactive graphical fastqscreen report which summaries the mapping of your sequences against each of your libraries.
- `*_screen.pdf`: Static graphical fastqscreen report which summaries the mapping of your sequences against each of your libraries.
- `*_screen.txt` : text based fastqscreen report which summaries the mapping of your sequences against each of your libraries.
Expand All @@ -57,6 +58,19 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d

It requires the supply of referenced (databases) in a config file. In order to parallelize the mapping of the different samples, in seqinspector, this a fastqscreen config file is generated for every sample/reference combination.

### SeqFu Stats

<details markdown="1">
<summary>Output files</summary>

- `seqfu/`
- `*.tsv`: Tab-separated file containing quality metrics.
- `*_mqc.txt`: File containing the same quality metrics as the TSV file, ready to be read by MultiQC.

</details>

[SeqFu](https://telatin.github.io/seqfu2/) is general-purpose program to manipulate and parse information from FASTA/FASTQ files, supporting gzipped input files. Includes functions to interleave and de-interleave FASTQ files, to rename sequences and to count and print statistics on sequence lengths. In this pipeline, the `seqfu stats` module is used to produce general quality metrics statistics.

### MultiQC

nf-core/seqinspector will generate the following MultiQC reports:
Expand Down
5 changes: 5 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
"git_sha": "cf17ca47590cc578dfb47db1c2a44ef86f89976d",
"installed_by": ["modules"]
},
"seqfu/stats": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
"installed_by": ["modules"]
},
"seqtk/sample": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
Expand Down
7 changes: 7 additions & 0 deletions modules/nf-core/seqfu/stats/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 51 additions & 0 deletions modules/nf-core/seqfu/stats/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions modules/nf-core/seqfu/stats/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

75 changes: 75 additions & 0 deletions modules/nf-core/seqfu/stats/tests/main.nf.test

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 56 additions & 0 deletions modules/nf-core/seqfu/stats/tests/main.nf.test.snap

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions modules/nf-core/seqfu/stats/tests/tags.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions workflows/seqinspector.nf
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ include { samplesheetToList } from 'plugin/nf-schema'

include { SEQTK_SAMPLE } from '../modules/nf-core/seqtk/sample/main'
include { FASTQC } from '../modules/nf-core/fastqc/main'
include { SEQFU_STATS } from '../modules/nf-core/seqfu/stats'
include { FASTQSCREEN_FASTQSCREEN } from '../modules/nf-core/fastqscreen/fastqscreen/main'

include { MULTIQC as MULTIQC_GLOBAL } from '../modules/nf-core/multiqc/main'
Expand Down Expand Up @@ -63,6 +64,16 @@ workflow SEQINSPECTOR {
ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip)
ch_versions = ch_versions.mix(FASTQC.out.versions.first())


//
// Module: Run SeqFu stats
//
SEQFU_STATS (
ch_samplesheet
)
ch_multiqc_files = ch_multiqc_files.mix(SEQFU_STATS.out.multiqc)
ch_versions = ch_versions.mix(SEQFU_STATS.out.versions.first())

//
// MODULE: Run FastQ Screen
//
Expand Down

0 comments on commit a0ef751

Please sign in to comment.