Skip to content

Commit b259a87

Browse files
committed
Merge branch 'nf-core-template-merge-3.1.2' into nf-core-template-merge-3.2.0
2 parents 978b678 + 5d4686e commit b259a87

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2354
-98
lines changed

.github/CONTRIBUTING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ If you wish to contribute a new step, please use the following coding standards:
8282
9. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
8383
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
8484

85+
### Things to consider regarding displaying results for a new tool
86+
87+
- If a MultiQC module exist for the tool, use the standard settings for it to start with.
88+
- If no Multiqc module exists, the results of the tool should be made available in the results directory.
89+
- If a tool doesn’t produce output files, the stdout should be channeled into a output file that can be accessible from the outdir of the pipeline.
90+
8591
### Default values
8692

8793
Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`.

.github/workflows/nf-test.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: nf-test
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
runs-on: ubuntu-latest
8+
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v4
12+
13+
- name: Setup Nextflow latest-edge
14+
uses: nf-core/setup-nextflow@v2
15+
with:
16+
version: "latest-edge"
17+
18+
- name: Install nf-test
19+
run: |
20+
wget -qO- https://get.nf-test.com | bash
21+
sudo mv nf-test /usr/local/bin/
22+
23+
- name: Run Tests
24+
run: nf-test test --ci tests

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ testing/
77
testing*
88
*.pyc
99
null/
10+
.nf-test
11+
.nf-test.log

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,20 @@ Initial release of nf-core/seqinspector, created with the [nf-core](https://nf-c
99

1010
### `Added`
1111

12+
- [#68](https://github.com/nf-core/seqinspector/pull/68) Add tool selector
13+
- [#20](https://github.com/nf-core/seqinspector/pull/20) Use tags to generate group reports
14+
- [#13](https://github.com/nf-core/seqinspector/pull/13) Generate reports per run, per project and per lane.
15+
- [#49](https://github.com/nf-core/seqinspector/pull/49) Merge with template 3.0.2.
16+
- [#56](https://github.com/nf-core/seqinspector/pull/56) Added SeqFu stats module.
17+
- [#50](https://github.com/nf-core/seqinspector/pull/50) Add an optional subsampling step.
18+
- [#51](https://github.com/nf-core/seqinspector/pull/51) Add nf-test to CI.
19+
- [#63](https://github.com/nf-core/seqinspector/pull/63) Contribution guidelines added about displaying results for new tools
20+
- [#53](https://github.com/nf-core/seqinspector/pull/53) Add FastQ-Screen database multiplexing and limit scope of nf-test in CI.
21+
1222
### `Fixed`
1323

24+
- [#71](https://github.com/nf-core/seqinspector/pull/71) FASTQSCREEN does not fail when multiple reads are provided.
25+
1426
### `Dependencies`
1527

1628
### `Deprecated`

CITATIONS.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,20 @@
1414

1515
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
1616
17+
- [SeqFu](https://telatin.github.io/seqfu2/)
18+
19+
> 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
20+
21+
- [FastQ Screen](https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/)
22+
23+
> 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)
24+
1725
- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)
1826

1927
> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.
2028
29+
- [Seqtk](https://github.com/lh3/seqtk)
30+
2131
## Software packaging/containerisation tools
2232

2333
- [Anaconda](https://anaconda.com)

README.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,30 @@
2929

3030
<!-- TODO nf-core: Include a figure that guides the user through the major workflow steps. Many nf-core
3131
workflows use the "tube map" design for that. See https://nf-co.re/docs/contributing/design_guidelines#examples for examples. -->
32-
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
32+
<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->
33+
34+
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/))
3337

3438
## Usage
3539

3640
> [!NOTE]
3741
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.
3842
39-
<!-- TODO nf-core: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
40-
Explain what rows and columns represent. For instance (please edit as appropriate):
41-
4243
First, prepare a samplesheet with your input data that looks as follows:
4344

4445
`samplesheet.csv`:
4546

4647
```csv
47-
sample,fastq_1,fastq_2
48-
CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz
48+
sample,fastq_1,fastq_2,rundir,tags
49+
CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz,200624_A00834_0183_BHMTFYDRXX,lane1:project5:group2
4950
```
5051

5152
Each row represents a fastq file (single-end) or a pair of fastq files (paired end).
5253

53-
-->
54-
5554
Now, you can run the pipeline using:
5655

57-
<!-- TODO nf-core: update the following command to include all required parameters for a minimal example -->
58-
5956
```bash
6057
nextflow run nf-core/seqinspector \
6158
-profile <docker/singularity/.../institute> \
@@ -76,11 +73,11 @@ For more details about the output files and reports, please refer to the
7673

7774
## Credits
7875

79-
nf-core/seqinspector was originally written by Adrien Coulier.
76+
nf-core/seqinspector was originally written by the Swedish [@NationalGenomicsInfrastructure](https://github.com/NationalGenomicsInfrastructure/).
8077

8178
We thank the following people for their extensive assistance in the development of this pipeline:
8279

83-
<!-- TODO nf-core: If applicable, make list of people who have also contributed -->
80+
- [@mahesh-panchal](https://github.com/mahesh-panchal)
8481

8582
## Contributions and Support
8683

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
name,dir,basename,aligner
2+
Ecoli,s3://ngi-igenomes/igenomes/Escherichia_coli_K_12_MG1655/NCBI/2001-10-15/Sequence/Bowtie2Index/,genome,bowtie2
3+
PhiX,s3://ngi-igenomes/igenomes/PhiX/Illumina/RTA/Sequence/Bowtie2Index/,genome,bowtie2
4+
Scerevisiae,s3://ngi-igenomes/igenomes/Saccharomyces_cerevisiae/NCBI/build3.1/Sequence/Bowtie2Index/,genome,bowtie2

assets/samplesheet.csv

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
sample,fastq_1,fastq_2
2-
SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz
3-
SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,
1+
sample,fastq_1,fastq_2,rundir,tags
2+
SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz,/path/to/rundir,paired_sample:lane1
3+
SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A2_S2_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A2_S2_L002_R2_001.fastq.gz,/path/to/rundir,paired_sample:lane1
4+
SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A3_S3_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A3_S3_L002_R2_001.fastq.gz,/path/to/rundir,paired_sample:lane2
5+
SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,,/path/to/rundir,group1
6+
SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,,/path/to/rundir,group2
7+
SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz,,/path/to/rundir,group3
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://raw.githubusercontent.com/nf-core/seqinspector/master/assets/schema_fastq_screen_references.json",
4+
"title": "nf-core/seqinspector pipeline - params.fastq_screen_references schema",
5+
"description": "Schema for the file provided with params.fastq_screen_references",
6+
"type": "array",
7+
"items": {
8+
"type": "object",
9+
"properties": {
10+
"name": {
11+
"type": "string",
12+
"pattern": "^\\S+$",
13+
"errorMessage": "The reference name as referred to by FastQ Screen."
14+
},
15+
"dir": {
16+
"type": "string",
17+
"format": "file-path",
18+
"exists": true,
19+
"pattern": "^\\S+$",
20+
"errorMessage": "Path to the dir containing the aligner reference and index. Can be remote."
21+
},
22+
"basename": {
23+
"type": "string",
24+
"pattern": "^\\S+$",
25+
"errorMessage": "The shared basename of the reference and index files contained in the dir."
26+
},
27+
"aligner": {
28+
"type": "string",
29+
"enum": ["bowtie", "bowtie2", "bwa", "minimap2"],
30+
"errorMessage": "Specify the aligner to use for the mapping. Valid arguments are 'bowtie', bowtie2' (default), 'bwa' or 'minimap2'."
31+
}
32+
},
33+
"required": ["name", "dir", "basename", "aligner"]
34+
}
35+
}

assets/schema_input.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"type": "string",
1212
"pattern": "^\\S+$",
1313
"errorMessage": "Sample name must be provided and cannot contain spaces",
14-
"meta": ["id"]
14+
"meta": ["sample"]
1515
},
1616
"fastq_1": {
1717
"type": "string",
@@ -26,8 +26,24 @@
2626
"exists": true,
2727
"pattern": "^\\S+\\.f(ast)?q\\.gz$",
2828
"errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'"
29+
},
30+
"rundir": {
31+
"type": "string",
32+
"format": "path",
33+
"exists": true,
34+
"errorMessage": "Run directory must be a path",
35+
"meta": ["rundir"]
36+
},
37+
"tags": {
38+
"type": "string",
39+
"pattern": "^([A-Za-z0-9_-]+:)*([A-Za-z0-9_-]+)$",
40+
"errorMessage": "Tags must be separated by colons and only consist of lowercase letters, numbers, underscores and hyphens.",
41+
"meta": ["tags"]
2942
}
3043
},
31-
"required": ["sample", "fastq_1"]
44+
"required": ["sample", "fastq_1"],
45+
"dependentRequired": {
46+
"fastq_2": ["fastq_1"]
47+
}
3248
}
3349
}

0 commit comments

Comments
 (0)