mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-13 05:13:09 +00:00
test(trimgalore): Refactor se and pe to use pytest-workflow
This commit is contained in:
parent
445498d0c3
commit
2fc39e02e2
13 changed files with 61 additions and 322 deletions
|
@ -1 +0,0 @@
|
|||
../../../../tests/data/fastq/rna/test_R1.fastq.gz
|
|
@ -1 +0,0 @@
|
|||
../../../../tests/data/fastq/rna/test_R2.fastq.gz
|
|
@ -1 +0,0 @@
|
|||
../../../../tests/data/fastq/rna/test_single_end.fastq.gz
|
|
@ -1,36 +0,0 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
|
||||
include { TRIMGALORE as TRIMGALORE_SE } from '../main.nf' addParams( options: [ publish_dir:'test_single_end' ] )
|
||||
include { TRIMGALORE as TRIMGALORE_PE } from '../main.nf' addParams( options: [ publish_dir:'test_paired_end' ] )
|
||||
|
||||
/*
|
||||
* Test with single-end data
|
||||
*/
|
||||
workflow test_single_end {
|
||||
|
||||
def input = []
|
||||
input = [ [ id:'test', single_end:true ], // meta map
|
||||
[ file("${baseDir}/input/test_single_end.fastq.gz", checkIfExists: true) ] ]
|
||||
|
||||
TRIMGALORE_SE ( input )
|
||||
}
|
||||
|
||||
/*
|
||||
* Test with paired-end data
|
||||
*/
|
||||
workflow test_paired_end {
|
||||
|
||||
def input = []
|
||||
input = [ [ id:'test', single_end:false ], // meta map
|
||||
[ file("${baseDir}/input/test_R1.fastq.gz", checkIfExists: true),
|
||||
file("${baseDir}/input/test_R2.fastq.gz", checkIfExists: true) ] ]
|
||||
|
||||
TRIMGALORE_PE ( input )
|
||||
}
|
||||
|
||||
workflow {
|
||||
test_single_end()
|
||||
test_paired_end()
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
params {
|
||||
outdir = "output/"
|
||||
publish_dir_mode = "copy"
|
||||
enable_conda = false
|
||||
|
||||
clip_r1 = 0
|
||||
clip_r2 = 0
|
||||
three_prime_clip_r1 = 0
|
||||
three_prime_clip_r2 = 0
|
||||
}
|
||||
|
||||
profiles {
|
||||
conda {
|
||||
params.enable_conda = true
|
||||
}
|
||||
docker {
|
||||
docker.enabled = true
|
||||
docker.runOptions = '-u \$(id -u):\$(id -g)'
|
||||
}
|
||||
singularity {
|
||||
singularity.enabled = true
|
||||
singularity.autoMounts = true
|
||||
}
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
|
||||
SUMMARISING RUN PARAMETERS
|
||||
==========================
|
||||
Input filename: test_1.fastq.gz
|
||||
Trimming mode: paired-end
|
||||
Trim Galore version: 0.6.4_dev
|
||||
Cutadapt version: 2.6
|
||||
Number of cores used for trimming: 1
|
||||
Quality Phred score cutoff: 20
|
||||
Quality encoding type selected: ASCII+33
|
||||
Using Nextera adapter for trimming (count: 83). Second best hit was Illumina (count: 0)
|
||||
Adapter sequence: 'CTGTCTCTTATA' (Nextera Transposase sequence; auto-detected)
|
||||
Maximum trimming error rate: 0.1 (default)
|
||||
Minimum required adapter overlap (stringency): 1 bp
|
||||
Minimum required sequence length for both reads before a sequence pair gets removed: 20 bp
|
||||
Output file will be GZIP compressed
|
||||
|
||||
|
||||
This is cutadapt 2.6 with Python 3.7.3
|
||||
Command line parameters: -j 1 -e 0.1 -q 20 -O 1 -a CTGTCTCTTATA test_1.fastq.gz
|
||||
Processing reads on 1 core in single-end mode ...
|
||||
Finished in 0.64 s (64 us/read; 0.94 M reads/minute).
|
||||
|
||||
=== Summary ===
|
||||
|
||||
Total reads processed: 10,000
|
||||
Reads with adapters: 3,225 (32.2%)
|
||||
Reads written (passing filters): 10,000 (100.0%)
|
||||
|
||||
Total basepairs processed: 760,000 bp
|
||||
Quality-trimmed: 4,492 bp (0.6%)
|
||||
Total written (filtered): 748,403 bp (98.5%)
|
||||
|
||||
=== Adapter 1 ===
|
||||
|
||||
Sequence: CTGTCTCTTATA; Type: regular 3'; Length: 12; Trimmed: 3225 times.
|
||||
|
||||
No. of allowed errors:
|
||||
0-9 bp: 0; 10-12 bp: 1
|
||||
|
||||
Bases preceding removed adapters:
|
||||
A: 23.8%
|
||||
C: 28.2%
|
||||
G: 22.7%
|
||||
T: 25.3%
|
||||
none/other: 0.0%
|
||||
|
||||
Overview of removed sequences
|
||||
length count expect max.err error counts
|
||||
1 2170 2500.0 0 2170
|
||||
2 622 625.0 0 622
|
||||
3 223 156.2 0 223
|
||||
4 64 39.1 0 64
|
||||
5 14 9.8 0 14
|
||||
6 9 2.4 0 9
|
||||
7 8 0.6 0 8
|
||||
8 5 0.2 0 5
|
||||
9 4 0.0 0 4
|
||||
10 8 0.0 1 7 1
|
||||
11 3 0.0 1 3
|
||||
12 4 0.0 1 4
|
||||
13 6 0.0 1 6
|
||||
14 5 0.0 1 4 1
|
||||
15 5 0.0 1 5
|
||||
16 6 0.0 1 5 1
|
||||
17 3 0.0 1 3
|
||||
18 3 0.0 1 3
|
||||
19 1 0.0 1 1
|
||||
20 3 0.0 1 3
|
||||
21 7 0.0 1 7
|
||||
22 7 0.0 1 7
|
||||
23 3 0.0 1 3
|
||||
24 6 0.0 1 6
|
||||
25 4 0.0 1 4
|
||||
26 2 0.0 1 2
|
||||
27 4 0.0 1 4
|
||||
28 1 0.0 1 1
|
||||
29 3 0.0 1 3
|
||||
30 4 0.0 1 4
|
||||
32 3 0.0 1 3
|
||||
33 2 0.0 1 1 1
|
||||
34 1 0.0 1 1
|
||||
35 1 0.0 1 1
|
||||
40 1 0.0 1 1
|
||||
42 1 0.0 1 0 1
|
||||
45 1 0.0 1 0 1
|
||||
49 1 0.0 1 0 1
|
||||
52 1 0.0 1 0 1
|
||||
56 2 0.0 1 0 2
|
||||
59 1 0.0 1 0 1
|
||||
67 1 0.0 1 0 1
|
||||
70 2 0.0 1 0 2
|
||||
|
||||
RUN STATISTICS FOR INPUT FILE: test_1.fastq.gz
|
||||
=============================================
|
||||
10000 sequences processed in total
|
||||
|
Binary file not shown.
|
@ -1,100 +0,0 @@
|
|||
|
||||
SUMMARISING RUN PARAMETERS
|
||||
==========================
|
||||
Input filename: test_2.fastq.gz
|
||||
Trimming mode: paired-end
|
||||
Trim Galore version: 0.6.4_dev
|
||||
Cutadapt version: 2.6
|
||||
Number of cores used for trimming: 1
|
||||
Quality Phred score cutoff: 20
|
||||
Quality encoding type selected: ASCII+33
|
||||
Using Nextera adapter for trimming (count: 83). Second best hit was Illumina (count: 0)
|
||||
Adapter sequence: 'CTGTCTCTTATA' (Nextera Transposase sequence; auto-detected)
|
||||
Maximum trimming error rate: 0.1 (default)
|
||||
Minimum required adapter overlap (stringency): 1 bp
|
||||
Minimum required sequence length for both reads before a sequence pair gets removed: 20 bp
|
||||
Output file will be GZIP compressed
|
||||
|
||||
|
||||
This is cutadapt 2.6 with Python 3.7.3
|
||||
Command line parameters: -j 1 -e 0.1 -q 20 -O 1 -a CTGTCTCTTATA test_2.fastq.gz
|
||||
Processing reads on 1 core in single-end mode ...
|
||||
Finished in 0.70 s (70 us/read; 0.86 M reads/minute).
|
||||
|
||||
=== Summary ===
|
||||
|
||||
Total reads processed: 10,000
|
||||
Reads with adapters: 3,295 (33.0%)
|
||||
Reads written (passing filters): 10,000 (100.0%)
|
||||
|
||||
Total basepairs processed: 760,000 bp
|
||||
Quality-trimmed: 7,096 bp (0.9%)
|
||||
Total written (filtered): 745,649 bp (98.1%)
|
||||
|
||||
=== Adapter 1 ===
|
||||
|
||||
Sequence: CTGTCTCTTATA; Type: regular 3'; Length: 12; Trimmed: 3295 times.
|
||||
|
||||
No. of allowed errors:
|
||||
0-9 bp: 0; 10-12 bp: 1
|
||||
|
||||
Bases preceding removed adapters:
|
||||
A: 22.6%
|
||||
C: 28.2%
|
||||
G: 23.6%
|
||||
T: 25.6%
|
||||
none/other: 0.0%
|
||||
|
||||
Overview of removed sequences
|
||||
length count expect max.err error counts
|
||||
1 2213 2500.0 0 2213
|
||||
2 647 625.0 0 647
|
||||
3 239 156.2 0 239
|
||||
4 53 39.1 0 53
|
||||
5 10 9.8 0 10
|
||||
6 7 2.4 0 7
|
||||
7 8 0.6 0 8
|
||||
8 5 0.2 0 5
|
||||
9 5 0.0 0 5
|
||||
10 10 0.0 1 8 2
|
||||
11 2 0.0 1 2
|
||||
12 4 0.0 1 4
|
||||
13 7 0.0 1 7
|
||||
14 3 0.0 1 3
|
||||
15 4 0.0 1 4
|
||||
16 5 0.0 1 5
|
||||
17 3 0.0 1 3
|
||||
18 5 0.0 1 4 1
|
||||
19 2 0.0 1 1 1
|
||||
20 3 0.0 1 3
|
||||
21 7 0.0 1 7
|
||||
22 6 0.0 1 6
|
||||
23 3 0.0 1 3
|
||||
24 7 0.0 1 7
|
||||
25 4 0.0 1 4
|
||||
26 2 0.0 1 2
|
||||
27 4 0.0 1 4
|
||||
28 1 0.0 1 1
|
||||
29 3 0.0 1 3
|
||||
30 4 0.0 1 4
|
||||
32 3 0.0 1 3
|
||||
33 1 0.0 1 1
|
||||
34 1 0.0 1 1
|
||||
35 2 0.0 1 1 1
|
||||
40 1 0.0 1 0 1
|
||||
41 1 0.0 1 1
|
||||
46 1 0.0 1 0 1
|
||||
48 1 0.0 1 0 1
|
||||
49 2 0.0 1 0 2
|
||||
56 2 0.0 1 0 2
|
||||
59 1 0.0 1 0 1
|
||||
70 1 0.0 1 0 1
|
||||
73 2 0.0 1 0 2
|
||||
|
||||
RUN STATISTICS FOR INPUT FILE: test_2.fastq.gz
|
||||
=============================================
|
||||
10000 sequences processed in total
|
||||
|
||||
Total number of sequences analysed for the sequence pair length validation: 10000
|
||||
|
||||
Number of sequence pairs removed because at least one read was shorter than the length cutoff (20 bp): 21 (0.21%)
|
Binary file not shown.
|
@ -1,61 +0,0 @@
|
|||
|
||||
SUMMARISING RUN PARAMETERS
|
||||
==========================
|
||||
Input filename: test.fastq.gz
|
||||
Trimming mode: single-end
|
||||
Trim Galore version: 0.6.4_dev
|
||||
Cutadapt version: 2.6
|
||||
Number of cores used for trimming: 1
|
||||
Quality Phred score cutoff: 20
|
||||
Quality encoding type selected: ASCII+33
|
||||
Unable to auto-detect most prominent adapter from the first specified file (count Illumina: 0, count smallRNA: 0, count Nextera: 0)
|
||||
Defaulting to Illumina universal adapter ( AGATCGGAAGAGC ). Specify -a SEQUENCE to avoid this behavior).
|
||||
Adapter sequence: 'AGATCGGAAGAGC' (Illumina TruSeq, Sanger iPCR; default (inconclusive auto-detection))
|
||||
Maximum trimming error rate: 0.1 (default)
|
||||
Minimum required adapter overlap (stringency): 1 bp
|
||||
Minimum required sequence length before a sequence gets removed: 20 bp
|
||||
Output file will be GZIP compressed
|
||||
|
||||
|
||||
This is cutadapt 2.6 with Python 3.7.3
|
||||
Command line parameters: -j 1 -e 0.1 -q 20 -O 1 -a AGATCGGAAGAGC test.fastq.gz
|
||||
Processing reads on 1 core in single-end mode ...
|
||||
Finished in 0.06 s (28 us/read; 2.13 M reads/minute).
|
||||
|
||||
=== Summary ===
|
||||
|
||||
Total reads processed: 2,052
|
||||
Reads with adapters: 223 (10.9%)
|
||||
Reads written (passing filters): 2,052 (100.0%)
|
||||
|
||||
Total basepairs processed: 103,432 bp
|
||||
Quality-trimmed: 11 bp (0.0%)
|
||||
Total written (filtered): 103,117 bp (99.7%)
|
||||
|
||||
=== Adapter 1 ===
|
||||
|
||||
Sequence: AGATCGGAAGAGC; Type: regular 3'; Length: 13; Trimmed: 223 times.
|
||||
|
||||
No. of allowed errors:
|
||||
0-9 bp: 0; 10-13 bp: 1
|
||||
|
||||
Bases preceding removed adapters:
|
||||
A: 31.8%
|
||||
C: 37.7%
|
||||
G: 16.1%
|
||||
T: 14.3%
|
||||
none/other: 0.0%
|
||||
|
||||
Overview of removed sequences
|
||||
length count expect max.err error counts
|
||||
1 190 513.0 0 190
|
||||
2 3 128.2 0 3
|
||||
3 16 32.1 0 16
|
||||
4 10 8.0 0 10
|
||||
5 4 2.0 0 4
|
||||
|
||||
RUN STATISTICS FOR INPUT FILE: test.fastq.gz
|
||||
=============================================
|
||||
2052 sequences processed in total
|
||||
Sequences removed because they became shorter than the length cutoff of 20 bp: 0 (0.0%)
|
||||
|
Binary file not shown.
40
tests/software/trimgalore/main.nf
Normal file
40
tests/software/trimgalore/main.nf
Normal file
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
|
||||
include { TRIMGALORE as TRIMGALORE_SE } from '../../../software/trimgalore/main.nf' addParams( options: [ publish_dir:'test_single_end' ] )
|
||||
include { TRIMGALORE as TRIMGALORE_PE } from '../../../software/trimgalore/main.nf' addParams( options: [ publish_dir:'test_paired_end' ] )
|
||||
|
||||
/*
|
||||
* Test with single-end data
|
||||
*/
|
||||
workflow test_trimgalore_single_end {
|
||||
|
||||
def input = []
|
||||
input = [ [ id:'test', single_end:true ], // meta map
|
||||
[ file("${launchDir}/tests/data/fastq/rna/test_single_end.fastq.gz", checkIfExists: true) ] ]
|
||||
|
||||
TRIMGALORE_SE ( input )
|
||||
}
|
||||
|
||||
// workflow test_trimgalore_single_end {
|
||||
|
||||
// def input = []
|
||||
// input = [ [ id:'test', single_end:false ], // meta map
|
||||
// [ file("${launchDir}/tests/data/fastq/rna/test_single_end.fastq.gz", checkIfExists: true) ] ]
|
||||
|
||||
// TRIMGALORE_SE ( input )
|
||||
// }
|
||||
|
||||
/*
|
||||
* Test with paired-end data
|
||||
*/
|
||||
workflow test_trimgalore_paired_end {
|
||||
|
||||
def input = []
|
||||
input = [ [ id:'test', single_end:false ], // meta map
|
||||
[ file("${launchDir}/tests/data/fastq/rna/test_R1.fastq.gz", checkIfExists: true),
|
||||
file("${launchDir}/tests/data/fastq/rna/test_R2.fastq.gz", checkIfExists: true) ] ]
|
||||
|
||||
TRIMGALORE_PE ( input )
|
||||
}
|
21
tests/software/trimgalore/test.yml
Normal file
21
tests/software/trimgalore/test.yml
Normal file
|
@ -0,0 +1,21 @@
|
|||
- name: Run trimgalore single-end test workflow
|
||||
command: nextflow run ./tests/software/trimgalore/ -profile docker -entry test_trimgalore_single_end -c tests/config/nextflow.config
|
||||
tags:
|
||||
- trimgalore
|
||||
files:
|
||||
# These can't be md5'd reliably
|
||||
# TODO Test for includes
|
||||
- path: output/test_single_end/test.fastq.gz_trimming_report.txt
|
||||
- path: output/test_single_end/test_trimmed.fq.gz
|
||||
|
||||
- name: Run trimgalore paired-end test workflow
|
||||
command: nextflow run ./tests/software/trimgalore/ -profile docker -entry test_trimgalore_paired_end -c tests/config/nextflow.config
|
||||
tags:
|
||||
- trimgalore
|
||||
files:
|
||||
# These can't be md5'd reliably
|
||||
# TODO Test for includes
|
||||
- path: output/test_paired_end/test_1.fastq.gz_trimming_report.txt
|
||||
- path: output/test_paired_end/test_1_val_1.fq.gz
|
||||
- path: output/test_paired_end/test_2.fastq.gz_trimming_report.txt
|
||||
- path: output/test_paired_end/test_2_val_2.fq.gz
|
Loading…
Reference in a new issue