Skip to content

Commit 7072d59

Browse files
committed
Adds fq/lint for early validation of FASTQs
Validation of FASTQS early prevents running the pipeline on invalid FASTQ files which will make the pipeline more efficient at achieving it's ultimate objective of checking FASTQ validity. It adds 3 more parameters: - `--skip_linting` which enables the linting of FASTQs - `--fq_lint_args` which is a string of arguments to pass to the linting tool - `--continue_with_lint_fail` which is a boolean to determine whether to continue if the linting fails Between these three options the user has a high degree of control over how the pipeline lints which should handle most use cases. Closes #31
1 parent 1f7dc68 commit 7072d59

File tree

16 files changed

+372
-14
lines changed

16 files changed

+372
-14
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Initial release of nf-core/seqinspector, created with the [nf-core](https://nf-c
1717
- [#51](https://github.com/nf-core/seqinspector/pull/51) Add nf-test to CI.
1818
- [#63](https://github.com/nf-core/seqinspector/pull/63) Contribution guidelines added about displaying results for new tools
1919
- [#53](https://github.com/nf-core/seqinspector/pull/53) Add FastQ-Screen database multiplexing and limit scope of nf-test in CI.
20+
- [#67](https://github.com/nf-core/seqinspector/pull/67) Add FASTQ linting for early validation
2021

2122
### `Fixed`
2223

CITATIONS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
1111
## Pipeline tools
1212

13+
- [FQ](https://github.com/stjude-rust-labs/fq)
14+
1315
- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
1416

1517
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@
3131
workflows use the "tube map" design for that. See https://nf-co.re/docs/contributing/design_guidelines#examples for examples. -->
3232
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->
3333

34+
1. Lint FASTQs with ([`fq`](https://github.com/stjude-rust-labs/fq))
3435
1. Subsample reads ([`Seqtk`](https://github.com/lh3/seqtk))
35-
2. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))
36-
3. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
36+
1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))
37+
1. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
3738

3839
## Usage
3940

conf/modules.config

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@ process {
1818
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
1919
]
2020

21+
withName: 'FQ_LINT' {
22+
ext.args = { params.fq_lint_args }
23+
errorStrategy = {
24+
task.exitStatus in ((130..145) + 104) ? 'retry' :
25+
params.continue_with_lint_fail ? 'ignore' :
26+
'finish'
27+
}
28+
}
29+
2130
withName: SEQTK_SAMPLE {
2231
ext.args = '-s100'
2332
}

modules.json

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,59 @@
88
"bowtie2/build": {
99
"branch": "master",
1010
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
11-
"installed_by": ["modules"]
11+
"installed_by": [
12+
"modules"
13+
]
1214
},
1315
"fastqc": {
1416
"branch": "master",
1517
"git_sha": "08108058ea36a63f141c25c4e75f9f872a5b2296",
16-
"installed_by": ["modules"]
18+
"installed_by": [
19+
"modules"
20+
]
1721
},
1822
"fastqscreen/buildfromindex": {
1923
"branch": "master",
2024
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
21-
"installed_by": ["modules"]
25+
"installed_by": [
26+
"modules"
27+
]
2228
},
2329
"fastqscreen/fastqscreen": {
2430
"branch": "master",
2531
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
26-
"installed_by": ["modules"],
32+
"installed_by": [
33+
"modules"
34+
],
2735
"patch": "modules/nf-core/fastqscreen/fastqscreen/fastqscreen-fastqscreen.diff"
2836
},
37+
"fq/lint": {
38+
"branch": "master",
39+
"git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc",
40+
"installed_by": [
41+
"modules"
42+
]
43+
},
2944
"multiqc": {
3045
"branch": "master",
3146
"git_sha": "cf17ca47590cc578dfb47db1c2a44ef86f89976d",
32-
"installed_by": ["modules"]
47+
"installed_by": [
48+
"modules"
49+
]
3350
},
3451
"seqfu/stats": {
3552
"branch": "master",
3653
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
37-
"installed_by": ["modules"]
54+
"installed_by": [
55+
"modules"
56+
]
3857
},
3958
"seqtk/sample": {
4059
"branch": "master",
4160
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
42-
"installed_by": ["modules"]
61+
"installed_by": [
62+
"modules"
63+
]
4364
}
4465
}
4566
},
@@ -48,20 +69,26 @@
4869
"utils_nextflow_pipeline": {
4970
"branch": "master",
5071
"git_sha": "c2b22d85f30a706a3073387f30380704fcae013b",
51-
"installed_by": ["subworkflows"]
72+
"installed_by": [
73+
"subworkflows"
74+
]
5275
},
5376
"utils_nfcore_pipeline": {
5477
"branch": "master",
5578
"git_sha": "51ae5406a030d4da1e49e4dab49756844fdd6c7a",
56-
"installed_by": ["subworkflows"]
79+
"installed_by": [
80+
"subworkflows"
81+
]
5782
},
5883
"utils_nfschema_plugin": {
5984
"branch": "master",
6085
"git_sha": "2fd2cd6d0e7b273747f32e465fdc6bcc3ae0814e",
61-
"installed_by": ["subworkflows"]
86+
"installed_by": [
87+
"subworkflows"
88+
]
6289
}
6390
}
6491
}
6592
}
6693
}
67-
}
94+
}

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: 33 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: 63 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)