diff --git a/tests/software/bowtie/align/main.nf b/tests/software/bowtie/align/main.nf new file mode 100644 index 00000000..c31d5e2d --- /dev/null +++ b/tests/software/bowtie/align/main.nf @@ -0,0 +1,29 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BOWTIE_BUILD } from '../../../software/bowtie/build/main.nf' addParams( options: [:] ) +include { BOWTIE_ALIGN } from '../../../software/bowtie/align/main.nf' addParams( options: [:] ) + +workflow test_bowtie_alignment_single_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE_BUILD ( fasta ) + + def input = [] + input = [ [ id:'test', single_end:true ], // meta map + [ file("${launchDir}/tests/data/fastq/rna/test_R1.fastq.gz", checkIfExists: true) ] ] + BOWTIE_ALIGN ( input, BOWTIE_BUILD.out.index ) +} + +workflow test_bowtie_alignment_paired_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE_BUILD ( fasta ) + + 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) ] ] + BOWTIE_ALIGN ( input, BOWTIE_BUILD.out.index ) +} diff --git a/tests/software/bowtie/align/test.yml b/tests/software/bowtie/align/test.yml new file mode 100644 index 00000000..0824644e --- /dev/null +++ b/tests/software/bowtie/align/test.yml @@ -0,0 +1,47 @@ +- name: bowtie align single-end + command: nextflow run ./tests/software/bowtie -entry test_bowtie_alignment_single_end -c tests/config/nextflow.config + tags: + - bowtie + - bowtie_align + - bowtie_align_single_end + files: + - path: output/bowtie/bowtie/NC_010473.1.ebwt + md5sum: 90f0b7aa5bbaeaaa999839ac13ad203c + - path: output/bowtie/bowtie/NC_010473.2.ebwt + md5sum: bfd10c5319c6a0dbc540fd789254a5dd + - path: output/bowtie/bowtie/NC_010473.3.ebwt + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie/bowtie/NC_010473.4.ebwt + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie/bowtie/NC_010473.rev.1.ebwt + md5sum: 44f719c2fe42e1f35d54e798775846d1 + - path: output/bowtie/bowtie/NC_010473.rev.2.ebwt + md5sum: f3c398bba5158f4039334a932d79c051 + - path: output/bowtie/test.out + md5sum: a81cb18024616415a6cec3108a36fccd + - path: output/bowtie/test.bam + md5sum: 9feed8a55d4b5e600dcc577768ef07fc + +- name: bowtie align paired-end + command: nextflow run ./tests/software/bowtie -entry test_bowtie_alignment_paired_end -c tests/config/nextflow.config + tags: + - bowtie + - bowtie_align + - bowtie_align_paired_end + files: + - path: output/bowtie/bowtie/NC_010473.1.ebwt + md5sum: 90f0b7aa5bbaeaaa999839ac13ad203c + - path: output/bowtie/bowtie/NC_010473.2.ebwt + md5sum: bfd10c5319c6a0dbc540fd789254a5dd + - path: output/bowtie/bowtie/NC_010473.3.ebwt + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie/bowtie/NC_010473.4.ebwt + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie/bowtie/NC_010473.rev.1.ebwt + md5sum: 44f719c2fe42e1f35d54e798775846d1 + - path: output/bowtie/bowtie/NC_010473.rev.2.ebwt + md5sum: f3c398bba5158f4039334a932d79c051 + - path: output/bowtie/test.out + md5sum: a23e9a2a76e949aeb3693bcfae41a615 + - path: output/bowtie/test.bam + md5sum: cf6a6381aa504e8342638ff3b509721e diff --git a/tests/software/bowtie/build/main.nf b/tests/software/bowtie/build/main.nf new file mode 100644 index 00000000..4b43eb87 --- /dev/null +++ b/tests/software/bowtie/build/main.nf @@ -0,0 +1,10 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BOWTIE_BUILD } from '../../../software/bowtie/build/main.nf' addParams( options: [:] ) + +workflow test_bowtie_build { + fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE_BUILD ( fasta ) +} \ No newline at end of file diff --git a/tests/software/bowtie/build/test.yml b/tests/software/bowtie/build/test.yml new file mode 100644 index 00000000..145836d6 --- /dev/null +++ b/tests/software/bowtie/build/test.yml @@ -0,0 +1,18 @@ +- name: bowtie build + command: nextflow run ./tests/software/bowtie -entry test_bowtie_build -c tests/config/nextflow.config + tags: + - bowtie + - bowtie_build + files: + - path: output/bowtie/bowtie/NC_010473.1.ebwt + md5sum: 90f0b7aa5bbaeaaa999839ac13ad203c + - path: output/bowtie/bowtie/NC_010473.2.ebwt + md5sum: bfd10c5319c6a0dbc540fd789254a5dd + - path: output/bowtie/bowtie/NC_010473.3.ebwt + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie/bowtie/NC_010473.4.ebwt + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie/bowtie/NC_010473.rev.1.ebwt + md5sum: 44f719c2fe42e1f35d54e798775846d1 + - path: output/bowtie/bowtie/NC_010473.rev.2.ebwt + md5sum: f3c398bba5158f4039334a932d79c051 \ No newline at end of file diff --git a/tests/software/bowtie2/align/main.nf b/tests/software/bowtie2/align/main.nf new file mode 100644 index 00000000..89e9f250 --- /dev/null +++ b/tests/software/bowtie2/align/main.nf @@ -0,0 +1,29 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BOWTIE2_BUILD } from '../../../software/bowtie2/build/main.nf' addParams( options: [:] ) +include { BOWTIE2_ALIGN } from '../../../software/bowtie2/align/main.nf' addParams( options: [:] ) + +workflow test_bowtie2_align_single_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE2_BUILD ( fasta ) + + def input = [] + input = [ [ id:'test', single_end:true ], // meta map + [ file("${launchDir}/tests/data/fastq/rna/test_R1.fastq.gz", checkIfExists: true) ] ] + BOWTIE2_ALIGN ( input, BOWTIE2_BUILD.out.index ) +} + +workflow test_bowtie2_align_paired_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE2_BUILD ( fasta ) + + 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) ] ] + BOWTIE2_ALIGN ( input, BOWTIE2_BUILD.out.index ) +} diff --git a/tests/software/bowtie2/align/test.yml b/tests/software/bowtie2/align/test.yml new file mode 100644 index 00000000..2e9e3279 --- /dev/null +++ b/tests/software/bowtie2/align/test.yml @@ -0,0 +1,45 @@ +- name: bowtie2 align single-end + command: nextflow run ./tests/software/bowtie2 -entry test_bowtie2_align_single_end -c tests/config/nextflow.config + tags: + - bowtie2 + - bowtie2_align_single_end + files: + - path: output/bowtie2/bowtie2/NC_010473.1.bt2 + md5sum: 4db22d92e72111a5fbf609b3d9a43015 + - path: output/bowtie2/bowtie2/NC_010473.2.bt2 + md5sum: f4429ec74ee0064732c4bb26718a3eb1 + - path: output/bowtie2/bowtie2/NC_010473.3.bt2 + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie2/bowtie2/NC_010473.4.bt2 + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie2/bowtie2/NC_010473.rev.1.bt2 + md5sum: 4ccfee8857c3b1c69857e5ecdef597aa + - path: output/bowtie2/bowtie2/NC_010473.rev.2.bt2 + md5sum: 5e8fb4af677eb3a57a40e76dc3f6db72 + - path: output/bowtie2/test.bowtie2.log + md5sum: 90041c264231be535042adb93a279356 + - path: output/bowtie2/test.bam + md5sum: 906102f401d8234b6473790988fb09cf + +- name: bowtie2 align paired-end + command: nextflow run ./tests/software/bowtie2 -entry test_bowtie2_align_paired_end -c tests/config/nextflow.config + tags: + - bowtie2 + - bowtie2_align_paired_end + files: + - path: output/bowtie2/bowtie2/NC_010473.1.bt2 + md5sum: 4db22d92e72111a5fbf609b3d9a43015 + - path: output/bowtie2/bowtie2/NC_010473.2.bt2 + md5sum: f4429ec74ee0064732c4bb26718a3eb1 + - path: output/bowtie2/bowtie2/NC_010473.3.bt2 + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie2/bowtie2/NC_010473.4.bt2 + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie2/bowtie2/NC_010473.rev.1.bt2 + md5sum: 4ccfee8857c3b1c69857e5ecdef597aa + - path: output/bowtie2/bowtie2/NC_010473.rev.2.bt2 + md5sum: 5e8fb4af677eb3a57a40e76dc3f6db72 + - path: output/bowtie2/test.bowtie2.log + md5sum: 9f9eb40b5f57e0f2d5c874f2c1b5cfd5 + - path: output/bowtie2/test.bam + md5sum: 732a33cd9816b38ea9b919c25eeb78f8 diff --git a/tests/software/bowtie2/build/main.nf b/tests/software/bowtie2/build/main.nf new file mode 100644 index 00000000..9742d3ce --- /dev/null +++ b/tests/software/bowtie2/build/main.nf @@ -0,0 +1,10 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BOWTIE2_BUILD } from '../../../software/bowtie2/build/main.nf' addParams( options: [:] ) + +workflow test_bowtie2_build { + fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + BOWTIE2_BUILD ( fasta ) +} \ No newline at end of file diff --git a/tests/software/bowtie2/build/test.yml b/tests/software/bowtie2/build/test.yml new file mode 100644 index 00000000..0c01844b --- /dev/null +++ b/tests/software/bowtie2/build/test.yml @@ -0,0 +1,18 @@ +- name: bowtie2 build + command: nextflow run ./tests/software/bowtie2 -entry test_bowtie2_build -c tests/config/nextflow.config + tags: + - bowtie2 + - bowtie2_build + files: + - path: output/bowtie2/bowtie2/NC_010473.1.bt2 + md5sum: 4db22d92e72111a5fbf609b3d9a43015 + - path: output/bowtie2/bowtie2/NC_010473.2.bt2 + md5sum: f4429ec74ee0064732c4bb26718a3eb1 + - path: output/bowtie2/bowtie2/NC_010473.3.bt2 + md5sum: cd201e81724f3099131aec16ef2cc53b + - path: output/bowtie2/bowtie2/NC_010473.4.bt2 + md5sum: bbb9d6d21ad765d135f95290204e8433 + - path: output/bowtie2/bowtie2/NC_010473.rev.1.bt2 + md5sum: 4ccfee8857c3b1c69857e5ecdef597aa + - path: output/bowtie2/bowtie2/NC_010473.rev.2.bt2 + md5sum: 5e8fb4af677eb3a57a40e76dc3f6db72 \ No newline at end of file diff --git a/tests/software/bwa/index/main.nf b/tests/software/bwa/index/main.nf new file mode 100644 index 00000000..93510a21 --- /dev/null +++ b/tests/software/bwa/index/main.nf @@ -0,0 +1,9 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BWA_INDEX } from '../../../software/bwa/index/main.nf' addParams( options: [:] ) + +workflow test_bwa_index { + BWA_INDEX ( file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) ) +} \ No newline at end of file diff --git a/tests/software/bwa/index/test.yml b/tests/software/bwa/index/test.yml new file mode 100644 index 00000000..29d50d9b --- /dev/null +++ b/tests/software/bwa/index/test.yml @@ -0,0 +1,14 @@ +- name: bwa index + command: nextflow run ./tests/software/bwa -entry test_bwa_index -c tests/config/nextflow.config + tags: + - bwa + - bwa_index + files: + - path: output/bwa/NC_010473.fa.amb + md5sum: 942a990ae872f1c0b8d72dda2db405d5 + - path: output/bwa/NC_010473.fa.bwt + md5sum: 7301b52e2ecb893d429a49fa692447ae + - path: output/bwa/NC_010473.fa.pac + md5sum: 4d5e6fc45bbc968f7f859e9ca2cc89ad + - path: output/bwa/NC_010473.fa.sa + md5sum: a47dcc92e750e2f16fbd979b8ff9538e \ No newline at end of file diff --git a/tests/software/bwa/mem/main.nf b/tests/software/bwa/mem/main.nf new file mode 100644 index 00000000..0324546d --- /dev/null +++ b/tests/software/bwa/mem/main.nf @@ -0,0 +1,38 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { BWA_MEM } from '../../../software/bwa/mem/main.nf' addParams( options: [:] ) + +/* + * Test with single-end data + */ +workflow test_bwa_mem_single_end { + + def input = [] + input = [ [ id:'test', single_end:true ], // meta map + [ file("${launchDir}/tests/data/fastq/dna/Ecoli_DNA_R1.fastq.gz", checkIfExists: true) ] ] + + BWA_MEM ( + input, + file("${launchDir}/tests/data/index/E_coli/bwa/NC_010473.fa.{amb,ann,bwt,pac,sa}", checkIfExists: true), + file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + ) +} + +/* + * Test with paired-end data + */ +workflow test_bwa_mem_paired_end { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + [ file("${launchDir}/tests/data/fastq/dna/Ecoli_DNA_R1.fastq.gz", checkIfExists: true), + file("${launchDir}/tests/data/fastq/dna/Ecoli_DNA_R2.fastq.gz", checkIfExists: true) ] ] + + BWA_MEM ( + input, + file("${launchDir}/tests/data/index/E_coli/bwa/NC_010473.fa.{amb,ann,bwt,pac,sa}", checkIfExists: true), + file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + ) +} diff --git a/tests/software/bwa/mem/test.yml b/tests/software/bwa/mem/test.yml new file mode 100644 index 00000000..8c726066 --- /dev/null +++ b/tests/software/bwa/mem/test.yml @@ -0,0 +1,19 @@ +- name: bwa mem single-end + command: nextflow run ./tests/software/bwa -entry test_bwa_mem_single_end -c tests/config/nextflow.config + tags: + - bwa + - bwa_mem + - bwa_mem_single_end + files: + - path: output/test_single_end/test.bam + md5sum: 3ee21210bac387e0335008146e4728bc + +- name: bwa mem paired-end + command: nextflow run ./tests/software/bwa -entry test_bwa_mem_paired_end -c tests/config/nextflow.config + tags: + - bwa + - bwa_mem + - bwa_mem_paired_end + files: + - path: output/test_paired_end/test.bam + md5sum: 510d8acc6448c07cdacce8e64ec0904c diff --git a/tests/software/cutadapt/main.nf b/tests/software/cutadapt/main.nf index fb3b5c52..bd632694 100644 --- a/tests/software/cutadapt/main.nf +++ b/tests/software/cutadapt/main.nf @@ -7,11 +7,11 @@ include { CUTADAPT } from '../../../software/cutadapt/main.nf' addParams( optio /* * Test with single-end data */ -workflow test_cutadapt_se { +workflow test_cutadapt_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) ] ] - CUTADAPT( input ) } @@ -19,12 +19,12 @@ workflow test_cutadapt_se { * Test with paired-end data */ -workflow test_cutadapt_pe { +workflow test_cutadapt_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) ] ] - CUTADAPT( input ) } diff --git a/tests/software/cutadapt/test.yml b/tests/software/cutadapt/test.yml index c91a0713..9cadf0fb 100644 --- a/tests/software/cutadapt/test.yml +++ b/tests/software/cutadapt/test.yml @@ -1,17 +1,17 @@ -- name: Run cutadapt single-end test workflow - command: nextflow run ./tests/software/cutadapt -entry test_cutadapt_se -c tests/config/nextflow.config +- name: cutadapt single-end + command: nextflow run ./tests/software/cutadapt -entry test_cutadapt_single_end -c tests/config/nextflow.config tags: - cutadapt - - cutadapt_se + - cutadapt_single_end files: - path: ./output/cutadapt/test.cutadapt.log - path: ./output/cutadapt/test.trim.fastq.gz -- name: Run cutadapt paired-end test workflow - command: nextflow run ./tests/software/cutadapt -entry test_cutadapt_pe -c tests/config/nextflow.config +- name: cutadapt paired-end + command: nextflow run ./tests/software/cutadapt -entry test_cutadapt_paired_end -c tests/config/nextflow.config tags: - cutadapt - - cutadapt_pe + - cutadapt_paired_end files: - path: ./output/cutadapt/test.cutadapt.log - path: ./output/cutadapt/test_1.trim.fastq.gz diff --git a/tests/software/dsh/filterbed/main.nf b/tests/software/dsh/filterbed/main.nf new file mode 100644 index 00000000..f4d63496 --- /dev/null +++ b/tests/software/dsh/filterbed/main.nf @@ -0,0 +1,14 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { DSH_FILTERBED } from '../../../software/dsh/filterbed/main.nf' addParams( options: [suffix: '.filtered', args: '--range chr1:0-1000'] ) + +workflow test_dsh_filterbed { + + def input = [] + input = [ [ id:'A' ], // meta map + [ file("${launchDir}/tests/data/bed/A.bed.gz", checkIfExists: true) ] ] + + DSH_FILTERBED ( input ) +} \ No newline at end of file diff --git a/tests/software/dsh/filterbed/test.yml b/tests/software/dsh/filterbed/test.yml new file mode 100644 index 00000000..989da517 --- /dev/null +++ b/tests/software/dsh/filterbed/test.yml @@ -0,0 +1,8 @@ +- name: dsh filterbed + command: nextflow run ./tests/software/dsh -entry test_dsh_filterbed -c tests/config/nextflow.config + tags: + - dsh + - dsh_filterbed + files: + - path: output/dsh/A.filtered.bed.gz + md5sum: 91cee4392d6034793f99f6c53891d866 \ No newline at end of file diff --git a/tests/software/dsh/splitbed/main.nf b/tests/software/dsh/splitbed/main.nf new file mode 100644 index 00000000..ed8286b9 --- /dev/null +++ b/tests/software/dsh/splitbed/main.nf @@ -0,0 +1,14 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { DSH_SPLITBED } from '../../../software/dsh/splitbed/main.nf' addParams( options: [suffix: '.', args: '--records 2'] ) + +workflow test_dsh_splitbed { + + def input = [] + input = [ [ id:'A' ], // meta map + [ file("${launchDir}/tests/data/bed/A.bed.gz", checkIfExists: true) ] ] + + DSH_SPLITBED ( input ) +} diff --git a/tests/software/dsh/splitbed/test.yml b/tests/software/dsh/splitbed/test.yml new file mode 100644 index 00000000..268cd463 --- /dev/null +++ b/tests/software/dsh/splitbed/test.yml @@ -0,0 +1,10 @@ +- name: dsh splitbed + command: nextflow run ./tests/software/dsh -entry test_dsh_splitbed -c tests/config/nextflow.config + tags: + - dsh + - dsh_splitbed + files: + - path: output/dsh/A.0.bed.gz + md5sum: 619e51c435d0e7138ca41b660ed07e3a + - path: output/dsh/A.1.bed.gz + md5sum: 223bba025a0bb859de9a1bf385550a7e diff --git a/tests/software/fastp/main.nf b/tests/software/fastp/main.nf index 000fcdd8..f035bc9c 100644 --- a/tests/software/fastp/main.nf +++ b/tests/software/fastp/main.nf @@ -7,24 +7,23 @@ include { FASTP } from '../../../software/fastp/main.nf' addParams( options: [: /* * Test with single-end data */ -workflow test_fastp_se { +workflow test_fastp_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) ] ] - - FASTP( input ) + FASTP ( input ) } /* * Test with paired-end data */ +workflow test_fastp_paired_end { -workflow test_fastp_pe { 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) ] ] - - FASTP( input ) + FASTP ( input ) } diff --git a/tests/software/fastp/test.yml b/tests/software/fastp/test.yml index 5034c69a..b46c8dd7 100644 --- a/tests/software/fastp/test.yml +++ b/tests/software/fastp/test.yml @@ -1,8 +1,8 @@ -- name: fastp_se - command: nextflow run ./tests/software/fastp -entry test_fastp_se -c ./tests/config/nextflow.config +- name: fastp single-end + command: nextflow run ./tests/software/fastp -entry test_fastp_single_end -c ./tests/config/nextflow.config tags: - fastp - - fastp_se + - fastp_single_end files: - path: ./output/fastp/test.fastp.json md5sum: b81d53bfa5c1553bed89f6475edcf437 @@ -11,11 +11,11 @@ - path: ./output/fastp/test.fastp.log - path: ./output/fastp/test.fastp.html -- name: fastp_pe - command: nextflow run ./tests/software/fastp -entry test_fastp_pe -c ./tests/config/nextflow.config +- name: fastp paired-end + command: nextflow run ./tests/software/fastp -entry test_fastp_paired_end -c ./tests/config/nextflow.config tags: - fastp - - fastp_pe + - fastp_paired_end files: - path: ./output/fastp/test.fastp.html - path: ./output/fastp/test.fastp.json diff --git a/tests/software/fastqc/main.nf b/tests/software/fastqc/main.nf index 27411a17..2ff1474a 100644 --- a/tests/software/fastqc/main.nf +++ b/tests/software/fastqc/main.nf @@ -2,35 +2,27 @@ nextflow.enable.dsl = 2 -include { FASTQC as FASTQC_SE } from '../../../software/fastqc/main.nf' addParams( options: [ publish_dir:'test_single_end' ] ) -include { FASTQC as FASTQC_PE } from '../../../software/fastqc/main.nf' addParams( options: [ publish_dir:'test_paired_end' ] ) +include { FASTQC } from '../../../software/fastqc/main.nf' addParams( options: [:] ) /* * Test with single-end data */ -workflow test_single_end { +workflow test_fastqc_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) ] ] - - FASTQC_SE ( input ) + FASTQC ( input ) } /* * Test with paired-end data */ -workflow test_paired_end { +workflow test_fastqc_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)]] - - FASTQC_PE(input) - - emit: - html = FASTQC_PE.out.html - zip = FASTQC_PE.out.zip - + FASTQC (input) } diff --git a/tests/software/fastqc/test.yml b/tests/software/fastqc/test.yml index 2c0862dd..c883d599 100644 --- a/tests/software/fastqc/test.yml +++ b/tests/software/fastqc/test.yml @@ -1,15 +1,17 @@ -- name: Run fastqc single-end test workflow - command: nextflow run ./tests/software/fastqc/ -entry test_single_end -c tests/config/nextflow.config +- name: fastqc single-end + command: nextflow run ./tests/software/fastqc/ -entry test_fastqc_single_end -c tests/config/nextflow.config tags: - fastqc + - fastqc_single_end files: - path: output/test_single_end/test_fastqc.html - path: output/test_single_end/test_fastqc.zip -- name: Run fastqc paired-end test workflow - command: nextflow run ./tests/software/fastqc/ -entry test_paired_end -c tests/config/nextflow.config +- name: fastqc paired-end + command: nextflow run ./tests/software/fastqc/ -entry test_fastqc_paired_end -c tests/config/nextflow.config tags: - fastqc + - fastqc_paired_end files: - path: output/test_paired_end/test_1_fastqc.html - path: output/test_paired_end/test_2_fastqc.html diff --git a/tests/software/gffread/test.yml b/tests/software/gffread/test.yml index a05e609d..d8547daa 100644 --- a/tests/software/gffread/test.yml +++ b/tests/software/gffread/test.yml @@ -1,4 +1,4 @@ -- name: Run gffread test workflow +- name: gffread command: nextflow run ./tests/software/gffread/ -entry test_gffread -c tests/config/nextflow.config tags: - gffread diff --git a/tests/software/multiqc/test.yml b/tests/software/multiqc/test.yml index 21dc36df..68df353d 100644 --- a/tests/software/multiqc/test.yml +++ b/tests/software/multiqc/test.yml @@ -1,4 +1,4 @@ -- name: Run multiqc test workflow +- name: multiqc command: nextflow run ./tests/software/multiqc/ -entry test_multiqc -c tests/config/nextflow.config tags: - multiqc diff --git a/tests/software/picard/collectmultiplemetrics/main.nf b/tests/software/picard/collectmultiplemetrics/main.nf new file mode 100644 index 00000000..423b10e1 --- /dev/null +++ b/tests/software/picard/collectmultiplemetrics/main.nf @@ -0,0 +1,17 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { PICARD_COLLECTMULTIPLEMETRICS } from '../../../software/picard/collectmultiplemetrics/main.nf' addParams( options: [:] ) + +workflow test_picard_collectmultiplemetrics { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.name.sorted.bam", checkIfExists: true) ] + + PICARD_COLLECTMULTIPLEMETRICS ( + input, + file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) + ) +} \ No newline at end of file diff --git a/tests/software/picard/collectmultiplemetrics/test.yml b/tests/software/picard/collectmultiplemetrics/test.yml new file mode 100644 index 00000000..0cda8949 --- /dev/null +++ b/tests/software/picard/collectmultiplemetrics/test.yml @@ -0,0 +1,16 @@ +- name: picard collectmultiplemetrics + command: nextflow run ./tests/software/picard -entry test_picard_collectmultiplemetrics -c tests/config/nextflow.config + tags: + - picard + - picard_collectmultiplemetrics + files: + # These can't be md5'd consistently + - path: output/picard/test.CollectMultipleMetrics.alignment_summary_metrics + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics + - path: output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf + - path: output/picard/test.CollectMultipleMetrics.insert_size_metrics + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics + - path: output/picard/test.CollectMultipleMetrics.quality_distribution.pdf + - path: output/picard/test.CollectMultipleMetrics.quality_distribution_metrics \ No newline at end of file diff --git a/tests/software/picard/markduplicates/main.nf b/tests/software/picard/markduplicates/main.nf new file mode 100644 index 00000000..3b161b45 --- /dev/null +++ b/tests/software/picard/markduplicates/main.nf @@ -0,0 +1,23 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { PICARD_MARKDUPLICATES } from '../../../software/picard/markduplicates/main.nf' addParams( options: [:] ) + +workflow test_picard_markduplicates_sorted_bam { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ] + + PICARD_MARKDUPLICATES ( input ) +} + +workflow test_picard_markduplicates_unsorted_bam { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.name.sorted.bam", checkIfExists: true) ] + + PICARD_MARKDUPLICATES ( input ) +} diff --git a/tests/software/picard/markduplicates/test.yml b/tests/software/picard/markduplicates/test.yml new file mode 100644 index 00000000..b9dfee34 --- /dev/null +++ b/tests/software/picard/markduplicates/test.yml @@ -0,0 +1,17 @@ +- name: picard markduplicates on sorted bam + command: nextflow run ./tests/software/picard -entry test_picard_markduplicates_sorted_bam -c tests/config/nextflow.config + tags: + - picard + - picard_markduplicates + files: + - path: output/picard/test.MarkDuplicates.metrics.txt + - path: output/picard/test.bam + md5sum: 0ed0bfc94069380334ccd595f6d8207c + +- name: picard markduplicates on unsorted bam + command: nextflow run ./tests/software/picard -entry test_picard_markduplicates_unsorted_bam -c tests/config/nextflow.config + tags: + - picard + - picard_markduplicates + - should fail + exit_code: 1 diff --git a/tests/software/picard/mergesamfiles/main.nf b/tests/software/picard/mergesamfiles/main.nf new file mode 100644 index 00000000..1835c8ba --- /dev/null +++ b/tests/software/picard/mergesamfiles/main.nf @@ -0,0 +1,15 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { PICARD_MERGESAMFILES } from '../../../software/picard/mergesamfiles/main.nf' addParams( options: [:] ) + +workflow test_picard_mergesamfiles { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + [ file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true), + file("${launchDir}/tests/data/bam/test.paired_end.name.sorted.bam", checkIfExists: true), ] ] + + PICARD_MERGESAMFILES ( input ) +} diff --git a/tests/software/picard/mergesamfiles/test.yml b/tests/software/picard/mergesamfiles/test.yml new file mode 100644 index 00000000..9273ff46 --- /dev/null +++ b/tests/software/picard/mergesamfiles/test.yml @@ -0,0 +1,8 @@ +- name: picard mergesamfiles + command: nextflow run ./tests/software/picard -entry test_picard_mergesamfiles -c tests/config/nextflow.config + tags: + - picard + - picard_mergesamfiles + files: + - path: output/picard/test.bam + md5sum: a9c8a28d1aac362df5973ba2d9923f86 \ No newline at end of file diff --git a/tests/software/preseq/lcextrap/main.nf b/tests/software/preseq/lcextrap/main.nf new file mode 100644 index 00000000..864e1230 --- /dev/null +++ b/tests/software/preseq/lcextrap/main.nf @@ -0,0 +1,29 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { PRESEQ_LCEXTRAP } from '../../../software/preseq/lcextrap/main.nf' addParams( options: [:] ) + +/* + * Test with single-end data + */ +workflow test_preseq_single_end { + + def input = [] + input = [ [ id:'test', single_end:true ], // meta map + [ file('https://github.com/smithlabcode/preseq/raw/master/data/SRR1003759_5M_subset.mr', checkIfExists: true), ] ] + PRESEQ_LCEXTRAP ( input ) +} + +/* + * Test with paired-end data + */ +workflow test_preseq_paired_end { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + [ file('https://github.com/smithlabcode/preseq/raw/master/data/SRR1003759_5M_subset.mr', checkIfExists: true), ] ] + + PRESEQ_LCEXTRAP ( input ) +} + diff --git a/tests/software/preseq/lcextrap/test.yml b/tests/software/preseq/lcextrap/test.yml new file mode 100644 index 00000000..51a7b08c --- /dev/null +++ b/tests/software/preseq/lcextrap/test.yml @@ -0,0 +1,21 @@ +- name: preseq lcextrap single-end + command: nextflow run ./tests/software/preseq -entry test_preseq_single_end -c tests/config/nextflow.config + tags: + - preseq + - preseq_lcextrap + - preseq_lcextrap_single_end + files: + - path: output/test_preseq_single_end/test.ccurve.txt + md5sum: 76ae04c8eaf19c94e3210bb69da38498 + - path: output/test_preseq_single_end/test.command.log + +- name: preseq lcextrap paired-end + command: nextflow run ./tests/software/preseq -entry test_preseq_paired_end -c tests/config/nextflow.config + tags: + - preseq + - preseq_lcextrap + - preseq_lcextrap_paired_end + files: + - path: output/test_preseq_paired_end/test.ccurve.txt + md5sum: 2836d2fabd2213f097fd7063db550276 + - path: output/test_preseq_paired_end/test.command.log diff --git a/tests/software/quast/test.yml b/tests/software/quast/test.yml index 17a7f056..43d909fd 100644 --- a/tests/software/quast/test.yml +++ b/tests/software/quast/test.yml @@ -1,4 +1,4 @@ -- name: quast_ref +- name: quast with reference command: nextflow run ./tests/software/quast -entry test_quast_ref -c ./tests/config/nextflow.config tags: - quast @@ -87,7 +87,7 @@ md5sum: d41d8cd98f00b204e9800998ecf8427e - path: ./output/quast/quast/aligned_stats/NAx_plot.pdf -- name: quast_noref +- name: quast without reference command: nextflow run ./tests/software/quast -entry test_quast_noref -c ./tests/config/nextflow.config tags: - quast diff --git a/tests/software/salmon/index/main.nf b/tests/software/salmon/index/main.nf new file mode 100644 index 00000000..24fb76e2 --- /dev/null +++ b/tests/software/salmon/index/main.nf @@ -0,0 +1,11 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SALMON_INDEX } from '../../../software/salmon/index/main.nf' addParams( options: [args: '--minAssignedFrags 1'] ) + +workflow test_salmon_index { + def genome_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna", checkIfExists: true) + def transcript_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_cds_from_genomic.fna", checkIfExists: true) + SALMON_INDEX ( genome_fasta, transcript_fasta ) +} \ No newline at end of file diff --git a/tests/software/salmon/index/test.yml b/tests/software/salmon/index/test.yml new file mode 100644 index 00000000..55bd848f --- /dev/null +++ b/tests/software/salmon/index/test.yml @@ -0,0 +1,31 @@ +- name: salmon index + command: nextflow run ./tests/software/salmon -entry test_salmon_index -c tests/config/nextflow.config + tags: + - salmon + - salmon_index + files: + - path: ./output/salmon/salmon/info.json + md5sum: 61ff4d3471134c280668355ddd39e99f + - path: ./output/salmon/salmon/mphf.bin + md5sum: 53669a47610e33e031faafd32703b714 + - path: ./output/salmon/salmon/complete_ref_lens.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/salmon/ref_indexing.log + - path: ./output/salmon/salmon/versionInfo.json + md5sum: 204865f645102587c4953fccb256797c + - path: ./output/salmon/salmon/seq.bin + - path: ./output/salmon/salmon/pre_indexing.log + - path: ./output/salmon/salmon/rank.bin + md5sum: 3f34dca1ec26cdf89a6d19b1d1c07e71 + - path: ./output/salmon/salmon/reflengths.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/salmon/ctable.bin + - path: ./output/salmon/salmon/ctg_offsets.bin + md5sum: 27a76542337df436436e66017f66dd25 + - path: ./output/salmon/salmon/pos.bin + - path: ./output/salmon/salmon/duplicate_clusters.tsv + md5sum: 51b5292e3a874119c0e1aa566e95d70c + - path: ./output/salmon/salmon/refAccumLengths.bin + md5sum: 8d1970505b2b08ca0eb5ff7722b48cde + - path: ./output/salmon/salmon/refseq.bin + md5sum: 79c4ddf34be3a98d5a7b9d153629a6f7 \ No newline at end of file diff --git a/tests/software/salmon/quant/main.nf b/tests/software/salmon/quant/main.nf new file mode 100644 index 00000000..12e2792b --- /dev/null +++ b/tests/software/salmon/quant/main.nf @@ -0,0 +1,33 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SALMON_INDEX } from '../../../software/salmon/index/main.nf' addParams( options: [:] ) +include { SALMON_QUANT } from '../../../software/salmon/quant/main.nf' addParams( options: [args: '--minAssignedFrags 1'] ) + +workflow test_salmon_quant_single_end { + + def genome_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna", checkIfExists: true) + def transcript_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_cds_from_genomic.fna", checkIfExists: true) + def gtf = file("${launchDir}/tests/data/gff/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.gtf", checkIfExists: true) + def input = [ [ id:'test', single_end:true ], // meta map + file("${launchDir}/tests/data/fastq/rna/sarscov2/EPI_ISL_486436_1.fastq.gz", checkIfExists: true) ] + + SALMON_INDEX ( genome_fasta, transcript_fasta ) + SALMON_QUANT( input, SALMON_INDEX.out.index, gtf, transcript_fasta, false) + +} + +workflow test_salmon_quant_paired_end { + + def genome_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna", checkIfExists: true) + def transcript_fasta = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_cds_from_genomic.fna", checkIfExists: true) + def gtf = file("${launchDir}/tests/data/gff/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.gtf", checkIfExists: true) + def input = [ [ id:'test', single_end:false ], // meta map + [ file("${launchDir}/tests/data/fastq/rna/sarscov2/EPI_ISL_486436_1.fastq.gz", checkIfExists: true), + file("${launchDir}/tests/data/fastq/rna/sarscov2/EPI_ISL_486436_2.fastq.gz", checkIfExists: true) ] ] + + SALMON_INDEX ( genome_fasta, transcript_fasta ) + SALMON_QUANT( input, SALMON_INDEX.out.index, gtf, transcript_fasta, false) + +} \ No newline at end of file diff --git a/tests/software/salmon/quant/test.yml b/tests/software/salmon/quant/test.yml new file mode 100644 index 00000000..961e1171 --- /dev/null +++ b/tests/software/salmon/quant/test.yml @@ -0,0 +1,107 @@ +- name: salmon quant single-end + command: nextflow run ./tests/software/salmon -entry test_salmon_quant_single_end -c tests/config/nextflow.config + tags: + - salmon + - salmon_quant + - salmon_quant_single_end + files: + - path: ./output/salmon/salmon/versionInfo.json + md5sum: 204865f645102587c4953fccb256797c + - path: ./output/salmon/salmon/ctg_offsets.bin + md5sum: 27a76542337df436436e66017f66dd25 + - path: ./output/salmon/test/aux_info/meta_info.json + - path: ./output/salmon/salmon/duplicate_clusters.tsv + md5sum: 51b5292e3a874119c0e1aa566e95d70c + - path: ./output/salmon/salmon/pre_indexing.log + - path: ./output/salmon/salmon/rank.bin + md5sum: 3f34dca1ec26cdf89a6d19b1d1c07e71 + - path: ./output/salmon/test/aux_info/observed_bias.gz + md5sum: ef13c06a538e9c34ca9f84212c82f44e + - path: ./output/salmon/test/aux_info/expected_bias.gz + md5sum: 24ee10af39b41ecf4f4e08faaaf537ee + - path: ./output/salmon/test/aux_info/fld.gz + - path: ./output/salmon/salmon/ctable.bin + - path: ./output/salmon/salmon/info.json + md5sum: 61ff4d3471134c280668355ddd39e99f + - path: ./output/salmon/test/quant.genes.sf + md5sum: 5b39785b4d8da533c08ee4a6c8bc1211 + - path: ./output/salmon/salmon/refseq.bin + md5sum: 79c4ddf34be3a98d5a7b9d153629a6f7 + - path: ./output/salmon/salmon/complete_ref_lens.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/test/logs/salmon_quant.log + - path: ./output/salmon/test/libParams/flenDist.txt + md5sum: 2de170bdc9f6fd237d286429b292bb28 + - path: ./output/salmon/salmon/ref_indexing.log + - path: ./output/salmon/salmon/refAccumLengths.bin + md5sum: 8d1970505b2b08ca0eb5ff7722b48cde + - path: ./output/salmon/salmon/seq.bin + - path: ./output/salmon/salmon/mphf.bin + md5sum: 53669a47610e33e031faafd32703b714 + - path: ./output/salmon/test/aux_info/observed_bias_3p.gz + md5sum: ef13c06a538e9c34ca9f84212c82f44e + - path: ./output/salmon/test/lib_format_counts.json + md5sum: aca0a40187eb407b1b8fc85c01284583 + - path: ./output/salmon/salmon/reflengths.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/salmon/pos.bin + - path: ./output/salmon/test/cmd_info.json + md5sum: d95f9bd2287a55fa44bbd9b9d4c4ff8a + - path: ./output/salmon/test/aux_info/ambig_info.tsv + md5sum: c3306d26186ffe018ad4f19d52256180 + - path: ./output/salmon/test/quant.sf + md5sum: b08095ac70f89efc3146cdf488d0eb73 + +- name: salmon quant paired end + command: nextflow run ./tests/software/salmon -entry test_salmon_quant_paired_end -c tests/config/nextflow.config + tags: + - salmon + - salmon_quant + - salmon_quant_paired_end + files: + - path: ./output/salmon/salmon/pos.bin + - path: ./output/salmon/salmon/versionInfo.json + md5sum: 204865f645102587c4953fccb256797c + - path: ./output/salmon/salmon/complete_ref_lens.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/test/lib_format_counts.json + md5sum: a8b6e6bfbc28c6e790ddaec559fad9ea + - path: ./output/salmon/test/aux_info/expected_bias.gz + md5sum: 24ee10af39b41ecf4f4e08faaaf537ee + - path: ./output/salmon/test/libParams/flenDist.txt + md5sum: f90c7256c9b18d4131f4d4ecb69d0f55 + - path: ./output/salmon/salmon/ref_indexing.log + - path: ./output/salmon/test/aux_info/observed_bias_3p.gz + md5sum: ef13c06a538e9c34ca9f84212c82f44e + - path: ./output/salmon/salmon/ctable.bin + - path: ./output/salmon/test/aux_info/meta_info.json + - path: ./output/salmon/test/aux_info/fld.gz + - path: ./output/salmon/salmon/refseq.bin + md5sum: 79c4ddf34be3a98d5a7b9d153629a6f7 + - path: ./output/salmon/salmon/info.json + md5sum: 61ff4d3471134c280668355ddd39e99f + - path: ./output/salmon/salmon/seq.bin + - path: ./output/salmon/test/cmd_info.json + md5sum: 007676e4d79de0809a03e0ea045ed4a1 + - path: ./output/salmon/test/aux_info/observed_bias.gz + md5sum: ef13c06a538e9c34ca9f84212c82f44e + - path: ./output/salmon/salmon/duplicate_clusters.tsv + md5sum: 51b5292e3a874119c0e1aa566e95d70c + - path: ./output/salmon/test/quant.genes.sf + md5sum: eb3e7b44801a0b3af07c25963927e20d + - path: ./output/salmon/salmon/rank.bin + md5sum: 3f34dca1ec26cdf89a6d19b1d1c07e71 + - path: ./output/salmon/salmon/mphf.bin + md5sum: 53669a47610e33e031faafd32703b714 + - path: ./output/salmon/test/aux_info/ambig_info.tsv + md5sum: 950001575c24fb6bc2c7a6848043b126 + - path: ./output/salmon/test/logs/salmon_quant.log + - path: ./output/salmon/salmon/pre_indexing.log + - path: ./output/salmon/salmon/refAccumLengths.bin + md5sum: 8d1970505b2b08ca0eb5ff7722b48cde + - path: ./output/salmon/test/quant.sf + md5sum: addb78e233f248b8f62cae3e217bf689 + - path: ./output/salmon/salmon/reflengths.bin + md5sum: f57562f1fca3ae7b133f895ae13c3d08 + - path: ./output/salmon/salmon/ctg_offsets.bin + md5sum: 27a76542337df436436e66017f66dd25 diff --git a/tests/software/samtools/flagstat/main.nf b/tests/software/samtools/flagstat/main.nf new file mode 100644 index 00000000..0d8a15b6 --- /dev/null +++ b/tests/software/samtools/flagstat/main.nf @@ -0,0 +1,14 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_FLAGSTAT } from '../../../software/samtools/flagstat/main.nf' addParams( options: [:] ) + +workflow test_samtools_flagstat { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true), + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ] + SAMTOOLS_FLAGSTAT ( input ) +} \ No newline at end of file diff --git a/tests/software/samtools/flagstat/test.yml b/tests/software/samtools/flagstat/test.yml new file mode 100644 index 00000000..06f8ca9b --- /dev/null +++ b/tests/software/samtools/flagstat/test.yml @@ -0,0 +1,8 @@ +- name: samtools flagstat + command: nextflow run ./tests/software/samtools/ -entry test_samtools_flagstat -c tests/config/nextflow.config + tags: + - samtools + - samtools_flagstat + files: + - path: output/samtools/test.paired_end.sorted.bam.flagstat + md5sum: 80590621c74f5ee43ada20d010a3837f \ No newline at end of file diff --git a/tests/software/samtools/idxstats/main.nf b/tests/software/samtools/idxstats/main.nf new file mode 100644 index 00000000..aadb4465 --- /dev/null +++ b/tests/software/samtools/idxstats/main.nf @@ -0,0 +1,14 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_IDXSTATS } from '../../../software/samtools/idxstats/main.nf' addParams( options: [:] ) + +workflow test_samtools_idxstats { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true), + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ] + SAMTOOLS_IDXSTATS ( input ) +} \ No newline at end of file diff --git a/tests/software/samtools/idxstats/test.yml b/tests/software/samtools/idxstats/test.yml new file mode 100644 index 00000000..a1289a1b --- /dev/null +++ b/tests/software/samtools/idxstats/test.yml @@ -0,0 +1,8 @@ +- name: samtools idxstats + command: nextflow run ./tests/software/samtools/ -entry test_samtools_idxstats -c tests/config/nextflow.config + tags: + - samtools + - samtools_idxstats + files: + - path: output/samtools/test.paired_end.sorted.bam.idxstats + md5sum: 3bee8b7d55e412da2b3816c5a18d60d5 \ No newline at end of file diff --git a/tests/software/samtools/index/main.nf b/tests/software/samtools/index/main.nf new file mode 100644 index 00000000..181ae608 --- /dev/null +++ b/tests/software/samtools/index/main.nf @@ -0,0 +1,13 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_INDEX } from '../../../software/samtools/index/main.nf' addParams( options: [:] ) + +workflow test_samtools_index { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ] + SAMTOOLS_INDEX ( input ) +} diff --git a/tests/software/samtools/index/test.yml b/tests/software/samtools/index/test.yml new file mode 100644 index 00000000..52b5fd50 --- /dev/null +++ b/tests/software/samtools/index/test.yml @@ -0,0 +1,8 @@ +- name: samtools index + command: nextflow run ./tests/software/samtools/ -entry test_samtools_index -c tests/config/nextflow.config + tags: + - samtools + - samtools_index + files: + - path: output/samtools/test.paired_end.sorted.bam.bai + md5sum: 67338c2995eae82c849830ca55aa7bd1 \ No newline at end of file diff --git a/tests/software/samtools/mpileup/main.nf b/tests/software/samtools/mpileup/main.nf new file mode 100644 index 00000000..e84fb944 --- /dev/null +++ b/tests/software/samtools/mpileup/main.nf @@ -0,0 +1,15 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_MPILEUP } from '../../../software/samtools/mpileup/main.nf' addParams( options: [:] ) + +workflow test_samtools_mpileup { + + def input = [] + def fasta = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ] + fasta = [ file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) ] + SAMTOOLS_MPILEUP ( input, fasta ) +} diff --git a/tests/software/samtools/mpileup/test.yml b/tests/software/samtools/mpileup/test.yml new file mode 100644 index 00000000..b1998c99 --- /dev/null +++ b/tests/software/samtools/mpileup/test.yml @@ -0,0 +1,8 @@ +- name: samtools mpileup + command: nextflow run ./tests/software/samtools/ -entry test_samtools_mpileup -c tests/config/nextflow.config + tags: + - samtools + - samtools_mpileup + files: + - path: output/samtools/test.mpileup + md5sum: 95c2646fa7bd535207722008c581c81d diff --git a/tests/software/samtools/sort/main.nf b/tests/software/samtools/sort/main.nf new file mode 100644 index 00000000..53c2a088 --- /dev/null +++ b/tests/software/samtools/sort/main.nf @@ -0,0 +1,13 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_SORT } from '../../../software/samtools/sort/main.nf' addParams( options: [:] ) + +workflow test_samtools_sort { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ] + SAMTOOLS_SORT ( input ) +} \ No newline at end of file diff --git a/tests/software/samtools/sort/test.yml b/tests/software/samtools/sort/test.yml new file mode 100644 index 00000000..7055f8bc --- /dev/null +++ b/tests/software/samtools/sort/test.yml @@ -0,0 +1,8 @@ +- name: samtools sort + command: nextflow run ./tests/software/samtools/ -entry test_samtools_sort -c tests/config/nextflow.config + tags: + - samtools + - samtools_sort + files: + - path: output/samtools/test.bam + md5sum: a41bfadacd2eeef1d31e05c135cc4f4e \ No newline at end of file diff --git a/tests/software/samtools/stats/main.nf b/tests/software/samtools/stats/main.nf new file mode 100644 index 00000000..f03fbd64 --- /dev/null +++ b/tests/software/samtools/stats/main.nf @@ -0,0 +1,14 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_STATS } from '../../../software/samtools/stats/main.nf' addParams( options: [:] ) + +workflow test_samtools_stats { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true), + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam.bai", checkIfExists: true) ] + SAMTOOLS_STATS ( input ) +} diff --git a/tests/software/samtools/stats/test.yml b/tests/software/samtools/stats/test.yml new file mode 100644 index 00000000..9295b258 --- /dev/null +++ b/tests/software/samtools/stats/test.yml @@ -0,0 +1,8 @@ +- name: samtools stats + command: nextflow run ./tests/software/samtools/ -entry test_samtools_stats -c tests/config/nextflow.config + tags: + - samtools + - samtools_stats + files: + - path: output/samtools/test.paired_end.sorted.bam.stats + md5sum: 06c183864d6e47ab89b0650cae831a93 \ No newline at end of file diff --git a/tests/software/samtools/view/main.nf b/tests/software/samtools/view/main.nf new file mode 100644 index 00000000..13c1fdf4 --- /dev/null +++ b/tests/software/samtools/view/main.nf @@ -0,0 +1,13 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SAMTOOLS_VIEW } from '../../../software/samtools/view/main.nf' addParams( options: [:] ) + +workflow test_samtools_view { + + def input = [] + input = [ [ id:'test', single_end:false ], // meta map + file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ] + SAMTOOLS_VIEW ( input ) +} \ No newline at end of file diff --git a/tests/software/samtools/view/test.yml b/tests/software/samtools/view/test.yml new file mode 100644 index 00000000..9ffabea4 --- /dev/null +++ b/tests/software/samtools/view/test.yml @@ -0,0 +1,8 @@ +- name: samtools view + command: nextflow run ./tests/software/samtools/ -entry test_samtools_view -c tests/config/nextflow.config + tags: + - samtools + - samtools_view + files: + - path: output/samtools/test.bam + md5sum: 7ea2c325e2249ed7ef44e1d9fdc4f8ff \ No newline at end of file diff --git a/tests/software/seacr/callpeak/main.nf b/tests/software/seacr/callpeak/main.nf new file mode 100644 index 00000000..9e4d9d9b --- /dev/null +++ b/tests/software/seacr/callpeak/main.nf @@ -0,0 +1,15 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { SEACR_CALLPEAK } from '../../../software/seacr/callpeak/main.nf' addParams( options: [ args:'norm stringent' ] ) + +workflow test_seacr_callpeak { + + def input = [] + input = [[ id:'test_1'], + file("${launchDir}/tests/data/bedgraph/K27me3_1_to_chr20.bedgraph", checkIfExists: true), + file("${launchDir}/tests/data/bedgraph/IgG_1_to_chr20.bedgraph", checkIfExists: true) ] + + SEACR_CALLPEAK ( input ) +} \ No newline at end of file diff --git a/tests/software/seacr/callpeak/test.yml b/tests/software/seacr/callpeak/test.yml new file mode 100644 index 00000000..6bdab27e --- /dev/null +++ b/tests/software/seacr/callpeak/test.yml @@ -0,0 +1,8 @@ +- name: seacr callpeak + command: nextflow run ./tests/software/seacr/ -entry test_seacr_callpeak -c tests/config/nextflow.config + tags: + - seacr + - seacr_callpeak + files: + - path: output/seacr/test_1.stringent.bed + md5sum: 3ac70475669eb6a7b8ca89e19a08a28e \ No newline at end of file diff --git a/tests/software/star/align/main.nf b/tests/software/star/align/main.nf new file mode 100644 index 00000000..1089c012 --- /dev/null +++ b/tests/software/star/align/main.nf @@ -0,0 +1,29 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { STAR_GENOMEGENERATE } from '../../../software/star/genomegenerate/main.nf' addParams( options: [args: '--genomeSAindexNbases 9'] ) +include { STAR_ALIGN } from '../../../software/star/align/main.nf' addParams( options: [args: '--readFilesCommand zcat'] ) + +workflow test_star_alignment_single_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/GCF_000019425.1_ASM1942v1_genomic.fna", checkIfExists: true) + def gtf = file("${launchDir}/tests/data/gff/GCF_000019425.1_ASM1942v1_genomic.gtf", checkIfExists: true) + STAR_GENOMEGENERATE ( fasta, gtf ) + + input = [ [ id:'test', single_end:true ], // meta map + [ file("${launchDir}/tests/data/fastq/rna/test_single_end.fastq.gz", checkIfExists: true) ] ] + STAR_ALIGN ( input, STAR_GENOMEGENERATE.out.index, gtf ) +} + +workflow test_star_alignment_paired_end { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/GCF_000019425.1_ASM1942v1_genomic.fna", checkIfExists: true) + def gtf = file("${launchDir}/tests/data/gff/GCF_000019425.1_ASM1942v1_genomic.gtf", checkIfExists: true) + STAR_GENOMEGENERATE ( fasta, gtf ) + + 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) ] ] + STAR_ALIGN ( input, STAR_GENOMEGENERATE.out.index, gtf ) +} diff --git a/tests/software/star/align/test.yml b/tests/software/star/align/test.yml new file mode 100644 index 00000000..00d25140 --- /dev/null +++ b/tests/software/star/align/test.yml @@ -0,0 +1,75 @@ +- name: star align single-end + command: nextflow run ./tests/software/star -entry test_star_alignment_single_end -c tests/config/nextflow.config + tags: + - star + - star_align + - star_align_single_end + files: + - path: output/star/star/Genome + md5sum: 323c992bac354f93073ce0fc43f222f8 + - path: output/star/star/SA + md5sum: 3e70e4fc6d031e1915bb510727f2c559 + - path: output/star/star/SAindex + md5sum: a94198b95a245d4f64af2a7133b6ec7b + - path: output/star/star/chrLength.txt + md5sum: f2bea3725fe1c01420c57fb73bdeb31a + - path: output/star/star/chrNameLength.txt + md5sum: c7ceb0a8827b2ea91c386933bee48742 + - path: output/star/star/chrStart.txt + md5sum: faf5c55020c99eceeef3e34188ac0d2f + - path: output/star/star/exonGeTrInfo.tab + md5sum: aec6e7a1ae3fc8c638ce5a9ce9c886b6 + - path: output/star/star/exonInfo.tab + md5sum: 42eca6ebc2dc72d9d6e6b3acd3714343 + - path: output/star/star/genomeParameters.txt + md5sum: ed47b8b034cae2fefcdb39321aea47cd + - path: output/star/star/sjdbInfo.txt + md5sum: 1082ab459363b3f2f7aabcef0979c1ed + - path: output/star/star/sjdbList.fromGTF.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/sjdbList.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/transcriptInfo.tab + md5sum: 8fbe69abbbef4f89da3854873984dbac + - path: output/star/test.Aligned.out.bam + md5sum: d7f59c1728482e76a18e3f6eb9c66c25 + - path: output/star/test.SJ.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + +- name: star align paired-end + command: nextflow run ./tests/software/star -entry test_star_alignment_paired_end -c tests/config/nextflow.config + tags: + - star + - star_align + - star_align_paired_end + files: + - path: output/star/star/Genome + md5sum: 323c992bac354f93073ce0fc43f222f8 + - path: output/star/star/SA + md5sum: 3e70e4fc6d031e1915bb510727f2c559 + - path: output/star/star/SAindex + md5sum: a94198b95a245d4f64af2a7133b6ec7b + - path: output/star/star/chrLength.txt + md5sum: f2bea3725fe1c01420c57fb73bdeb31a + - path: output/star/star/chrNameLength.txt + md5sum: c7ceb0a8827b2ea91c386933bee48742 + - path: output/star/star/chrStart.txt + md5sum: faf5c55020c99eceeef3e34188ac0d2f + - path: output/star/star/exonGeTrInfo.tab + md5sum: aec6e7a1ae3fc8c638ce5a9ce9c886b6 + - path: output/star/star/exonInfo.tab + md5sum: 42eca6ebc2dc72d9d6e6b3acd3714343 + - path: output/star/star/genomeParameters.txt + md5sum: ed47b8b034cae2fefcdb39321aea47cd + - path: output/star/star/sjdbInfo.txt + md5sum: 1082ab459363b3f2f7aabcef0979c1ed + - path: output/star/star/sjdbList.fromGTF.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/sjdbList.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/transcriptInfo.tab + md5sum: 8fbe69abbbef4f89da3854873984dbac + - path: output/star/test.Aligned.out.bam + md5sum: 5c52bcaa15e86914ad6b895638235166 + - path: output/star/test.SJ.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e diff --git a/tests/software/star/genomegenerate/main.nf b/tests/software/star/genomegenerate/main.nf new file mode 100644 index 00000000..c511ccd6 --- /dev/null +++ b/tests/software/star/genomegenerate/main.nf @@ -0,0 +1,12 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { STAR_GENOMEGENERATE } from '../../../software/star/genomegenerate/main.nf' addParams( options: [args: '--genomeSAindexNbases 9'] ) + +workflow test_star_genomegenerate { + + def fasta = file("${launchDir}/tests/data/fasta/E_coli/GCF_000019425.1_ASM1942v1_genomic.fna", checkIfExists: true) + def gtf = file("${launchDir}/tests/data/gff/GCF_000019425.1_ASM1942v1_genomic.gtf", checkIfExists: true) + STAR_GENOMEGENERATE ( fasta, gtf ) +} \ No newline at end of file diff --git a/tests/software/star/genomegenerate/test.yml b/tests/software/star/genomegenerate/test.yml new file mode 100644 index 00000000..e9533766 --- /dev/null +++ b/tests/software/star/genomegenerate/test.yml @@ -0,0 +1,32 @@ +- name: star genomegenerate + command: nextflow run ./tests/software/star -entry test_star_genomegenerate -c tests/config/nextflow.config + tags: + - star + - star_genomegenerate + files: + - path: output/star/star/Genome + md5sum: 323c992bac354f93073ce0fc43f222f8 + - path: output/star/star/SA + md5sum: 3e70e4fc6d031e1915bb510727f2c559 + - path: output/star/star/SAindex + md5sum: a94198b95a245d4f64af2a7133b6ec7b + - path: output/star/star/chrLength.txt + md5sum: f2bea3725fe1c01420c57fb73bdeb31a + - path: output/star/star/chrNameLength.txt + md5sum: c7ceb0a8827b2ea91c386933bee48742 + - path: output/star/star/chrStart.txt + md5sum: faf5c55020c99eceeef3e34188ac0d2f + - path: output/star/star/exonGeTrInfo.tab + md5sum: aec6e7a1ae3fc8c638ce5a9ce9c886b6 + - path: output/star/star/exonInfo.tab + md5sum: 42eca6ebc2dc72d9d6e6b3acd3714343 + - path: output/star/star/genomeParameters.txt + md5sum: ed47b8b034cae2fefcdb39321aea47cd + - path: output/star/star/sjdbInfo.txt + md5sum: 1082ab459363b3f2f7aabcef0979c1ed + - path: output/star/star/sjdbList.fromGTF.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/sjdbList.out.tab + md5sum: d41d8cd98f00b204e9800998ecf8427e + - path: output/star/star/transcriptInfo.tab + md5sum: 8fbe69abbbef4f89da3854873984dbac \ No newline at end of file diff --git a/tests/software/stringtie/test.yml b/tests/software/stringtie/test.yml index 5bbf002b..f180d0c4 100644 --- a/tests/software/stringtie/test.yml +++ b/tests/software/stringtie/test.yml @@ -1,4 +1,4 @@ -- name: Run stringtie forward strand test workflow +- name: stringtie forward-strand command: nextflow run ./tests/software/stringtie/ -entry test_stringtie_forward -c tests/config/nextflow.config tags: - stringtie @@ -20,7 +20,7 @@ - path: output/test_stringtie_forward/test.ballgown/t_data.ctab md5sum: 0106f70121a8b520d98b8739aed92915 -- name: Run stringtie reverse strand test workflow +- name: stringtie reverse-strand command: nextflow run ./tests/software/stringtie/ -entry test_stringtie_reverse -c tests/config/nextflow.config tags: - stringtie diff --git a/tests/software/trimgalore/main.nf b/tests/software/trimgalore/main.nf index 0f03ee70..168805e8 100644 --- a/tests/software/trimgalore/main.nf +++ b/tests/software/trimgalore/main.nf @@ -2,8 +2,7 @@ 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' ] ) +include { TRIMGALORE } from '../../../software/trimgalore/main.nf' addParams( options: [:] ) /* * Test with single-end data @@ -13,19 +12,9 @@ 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 ) + TRIMGALORE ( 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 */ @@ -36,5 +25,5 @@ workflow test_trimgalore_paired_end { [ 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 ) + TRIMGALORE ( input ) } diff --git a/tests/software/trimgalore/test.yml b/tests/software/trimgalore/test.yml index 34d880db..a37ffdb6 100644 --- a/tests/software/trimgalore/test.yml +++ b/tests/software/trimgalore/test.yml @@ -1,4 +1,4 @@ -- name: Run trimgalore single-end test workflow +- name: trimgalore single-end command: nextflow run ./tests/software/trimgalore/ -entry test_trimgalore_single_end -c tests/config/nextflow.config tags: - trimgalore @@ -8,7 +8,7 @@ - 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 +- name: trimgalore paired-end command: nextflow run ./tests/software/trimgalore/ -entry test_trimgalore_paired_end -c tests/config/nextflow.config tags: - trimgalore diff --git a/tests/software/ucsc/bedgraphtobigwig/main.nf b/tests/software/ucsc/bedgraphtobigwig/main.nf new file mode 100644 index 00000000..deb13910 --- /dev/null +++ b/tests/software/ucsc/bedgraphtobigwig/main.nf @@ -0,0 +1,16 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { UCSC_BEDGRAPHTOBIGWIG } from '../../../software/ucsc/bedgraphtobigwig/main.nf' addParams( options: [:] ) + +workflow test_ucsc_bedgraphtobigwig { + def input = [] + input = [ [ id:'test' ], // meta map + [ file('https://raw.githubusercontent.com/igvteam/igv.js/master/test/data/wig/bedgraph-example-uscs.bedgraph', checkIfExists: true) ] ] + + UCSC_BEDGRAPHTOBIGWIG ( + input, + file('https://raw.githubusercontent.com/igvteam/igv.js/master/test/data/wig/chrom.sizes', checkIfExists: true) + ) +} diff --git a/tests/software/ucsc/bedgraphtobigwig/test.yml b/tests/software/ucsc/bedgraphtobigwig/test.yml new file mode 100644 index 00000000..d6052e6f --- /dev/null +++ b/tests/software/ucsc/bedgraphtobigwig/test.yml @@ -0,0 +1,7 @@ +- name: ucsc bedgraphtobigwig + command: nextflow run ./tests/software/ucsc/ -entry test_ucsc_bedgraphtobigwig -c tests/config/nextflow.config + tags: + - ucsc_bedgraphtobigwig + files: + - path: output/ucsc/test.bigWig + md5sum: 5346de25b01ecbff91b63178b3bfbeec