Skip to content

Commit 0247f7b

Browse files
authored
Merge pull request #1461 from nf-core/swf_rnaseq_prepro_lint
Add FASTQ linting during preprocessing
2 parents da5f135 + b8b5aa2 commit 0247f7b

33 files changed

+930
-177
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ jobs:
6868
- name: Check out pipeline code
6969
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
7070

71+
- uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4
72+
with:
73+
distribution: "temurin"
74+
java-version: "17"
75+
7176
- name: Set up Nextflow
7277
uses: nf-core/setup-nextflow@v2
7378
with:

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,18 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6+
# 3.18.0dev - xxxx-xx-xx
7+
8+
### Credits
9+
10+
Special thanks to the following for their contributions to the release:
11+
12+
- [Caitlin Winkler](https://github.com/oligomyeggo)
13+
14+
### Enhancements & fixes
15+
16+
- [PR #1461](https://github.com/nf-core/rnaseq/pull/1461) - Add FASTQ linting during preprocessing
17+
618
## [[3.17.0](https://github.com/nf-core/rnaseq/releases/tag/3.17.0)] - 2024-10-23
719

820
### Credits

docs/output.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
1919
- [Pipeline overview](#pipeline-overview)
2020
- [Preprocessing](#preprocessing)
2121
- [cat](#cat)
22+
[fq lint](#fq-lint)
2223
- [FastQC](#fastqc)
2324
- [UMI-tools extract](#umi-tools-extract)
2425
- [TrimGalore](#trimgalore)
@@ -73,6 +74,20 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
7374

7475
If multiple libraries/runs have been provided for the same sample in the input samplesheet (e.g. to increase sequencing depth) then these will be merged at the very beginning of the pipeline in order to have consistent sample naming throughout the pipeline. Please refer to the [usage documentation](https://nf-co.re/rnaseq/usage#samplesheet-input) to see how to specify these samples in the input samplesheet.
7576

77+
# fq lint
78+
79+
<details markdown="1">
80+
<summary>Output files</summary>
81+
82+
- `fq_lint/*`
83+
- `*.fq_lint.txt`: Linting report per library from `fq lint`.
84+
85+
> **NB:** You will see subdirectories here based on the stage of preprocessing for the files that have been linted, for example `raw`, `trimmed`.
86+
87+
</details>
88+
89+
[fq lint](https://github.com/stjude-rust-labs/fq) runs several checks on input FASTQ files. It will fail with a non-zero error code when issues are found, which will terminate the workflow execution. In the absence of this, the successful linting produces the logs you will find here.
90+
7691
### FastQC
7792

7893
<details markdown="1">

docs/usage.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ CONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz,a
2727
CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz,auto
2828
```
2929

30+
### Linting
31+
32+
By default, the pipeline will run [fq lint](https://github.com/stjude-rust-labs/fq) on all input FASTQ files, both at the start of preprocessing and after each preprocessing step that manipulates FASTQ files. If errors are found, and error will be reported and the workflow will stop.
33+
34+
The `extra_fqlint_args` parameter can be manipulated to disable [any validator](https://github.com/stjude-rust-labs/fq?tab=readme-ov-file#validators) from `fq` you wish. For example, we have found that checks on the names of paired reads are prone to failure, so that check is disabled by default (setting `extra_fqlint_args` to `--disable-validator P001`).
35+
3036
### Strandedness Prediction
3137

3238
If you set the strandedness value to `auto`, the pipeline will sub-sample the input FastQ files to 1 million reads, use Salmon Quant to automatically infer the strandedness, and then propagate this information through the rest of the pipeline. This behavior is controlled by the `--stranded_threshold` and `--unstranded_threshold` parameters, which are set to 0.8 and 0.1 by default, respectively. This means:

modules.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@
5757
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
5858
"installed_by": ["fastq_fastqc_umitools_fastp", "fastq_fastqc_umitools_trimgalore"]
5959
},
60+
"fq/lint": {
61+
"branch": "master",
62+
"git_sha": "2c0260ed80daeca9c6dfa477a4daf04ff336dc37",
63+
"installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"]
64+
},
6065
"fq/subsample": {
6166
"branch": "master",
6267
"git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc",
@@ -341,7 +346,7 @@
341346
},
342347
"fastq_qc_trim_filter_setstrandedness": {
343348
"branch": "master",
344-
"git_sha": "9082d6440bdffbb4f5d9bd9d753361933b3febcb",
349+
"git_sha": "2c0260ed80daeca9c6dfa477a4daf04ff336dc37",
345350
"installed_by": ["subworkflows"]
346351
},
347352
"fastq_subsample_fq_salmon": {

modules/nf-core/fq/lint/environment.yml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/fq/lint/main.nf

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/fq/lint/meta.yml

Lines changed: 43 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/fq/lint/tests/main.nf.test

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/fq/lint/tests/main.nf.test.snap

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)