Skip to content

Commit

Permalink
Use typed process inputs and outputs
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Sherman <[email protected]>
  • Loading branch information
bentsherman committed Mar 29, 2024
1 parent 8253a58 commit a954937
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 17 deletions.
14 changes: 14 additions & 0 deletions lib/Sample.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

import java.nio.file.Path
import nextflow.io.ValueObject
import nextflow.util.KryoHelper

@ValueObject
class Sample {
String id
List<Path> reads

static {
KryoHelper.register(Sample)
}
}
6 changes: 3 additions & 3 deletions main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ include { MULTIQC } from './modules/multiqc'
* main script flow
*/
workflow {
read_pairs_ch = channel.fromFilePairs( params.reads, checkIfExists: true )
RNASEQ( params.transcriptome, read_pairs_ch )
MULTIQC( RNASEQ.out, params.multiqc )
read_pairs_ch = channel.fromFilePairs( params.reads, checkIfExists: true ).map { args -> new Sample(*args) }
RNASEQ( file(params.transcriptome), read_pairs_ch )
MULTIQC( RNASEQ.out, file(params.multiqc) )
}

/*
Expand Down
8 changes: 4 additions & 4 deletions modules/fastqc/main.nf
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
params.outdir = 'results'

process FASTQC {
tag "FASTQC on $sample_id"
tag "FASTQC on $sample.id"
conda 'fastqc=0.12.1'
publishDir params.outdir, mode:'copy'

input:
tuple val(sample_id), path(reads)
Sample sample

output:
path "fastqc_${sample_id}_logs"
Path logs = path("fastqc_${sample.id}_logs")

script:
"""
fastqc.sh "$sample_id" "$reads"
fastqc.sh "$sample.id" "$sample.reads"
"""
}
4 changes: 2 additions & 2 deletions modules/index/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ process INDEX {
conda 'salmon=1.10.2'

input:
path transcriptome
Path transcriptome

output:
path 'index'
Path index = path('index')

script:
"""
Expand Down
6 changes: 3 additions & 3 deletions modules/multiqc/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ process MULTIQC {
publishDir params.outdir, mode:'copy'

input:
path('*')
path(config)
List<Path> logs
Path config

output:
path('multiqc_report.html')
Path report = path('multiqc_report.html')

script:
"""
Expand Down
10 changes: 5 additions & 5 deletions modules/quant/main.nf
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@

process QUANT {
tag "$pair_id"
tag "$pair.id"
conda 'salmon=1.10.2'

input:
path index
tuple val(pair_id), path(reads)
Path index
Sample pair

output:
path pair_id
Path result = path(pair.id)

script:
"""
salmon quant --threads $task.cpus --libType=U -i $index -1 ${reads[0]} -2 ${reads[1]} -o $pair_id
salmon quant --threads $task.cpus --libType=U -i $index -1 ${pair.reads[0]} -2 ${pair.reads[1]} -o $pair.id
"""
}

0 comments on commit a954937

Please sign in to comment.