This commit is contained in:
2025-12-09 22:45:26 +01:00
commit 647c4e449e
4 changed files with 208 additions and 0 deletions

0
README.md Normal file
View File

73
hello_world.nf Normal file
View File

@@ -0,0 +1,73 @@
// ch1 = Channel.value( 'GRCh38' )
// ch2 = Channel.value( ['chr1', 'chr2', 'chr3', 'chr4', 'chr5'] )
// ch3 = Channel.value( ['chr1' : 248956422, 'chr2' : 242193529, 'chr3' : 198295559] )
// ch1.view()
// ch2.view()
// ch3.view()
// chromosome_ch = Channel.of(1..22, 'X', 'Y')
// chromosome_ch.view()
// ch_vl = Channel.value('GRCh38')
// ch_qu = Channel.of(1..4)
// ch_vl.view()
// ch_qu.view()
// aligner_list = ['salmon', 'kallisto']
// aligner_ch = Channel.fromList(aligner_list)
// aligner_ch.view()
// ids = ['ERR908507', 'ERR908506', 'ERR908505']
// q_ids = Channel.fromList(ids)
// q_ids.view()
// q_val = Channel.value(ids)
// q_val.view()
// read_ch = Channel.fromPath( '../**.png', hidden: true )
// read_ch.view()
// read_ch = Channel.fromPath( 'data/chicken/reads/*.fq.gz', checkIfExists: true, hidden: true )
// read_ch.view()
// -process.debug
// params.chr = "chr2"
// process CHR_COUNT {
// script:
// """
// printf "Number of sequences for chromosome ${params.chr} :"
// grep -c '>'${params.chr} ${projectDir}/../Downloads/dm6.fa
// """
// }
// workflow {
// CHR_COUNT()
// }
process NUM_IDS {
script:
"""
#set bash variable NUMIDS
NUMIDS=`grep -c '^>' $params.transcriptome`
echo 'Number of sequences'
printf "%'d\n" \$NUMIDS
"""
}
params.transcriptome = "${projectDir}/../Downloads/dm6.fa"
workflow {
NUM_IDS()
}

65
wc-params.nf Normal file
View File

@@ -0,0 +1,65 @@
#!/usr/bin/env nextflow
/*
========================================================================================
Workflow parameters are written as params.<parameter>
and can be initialised using the `=` operator.
========================================================================================
*/
params.input = "data/yeast/reads/ref1_1.fq.gz"
params.sleep = 2
/*
========================================================================================
Input data is received through channels
========================================================================================
*/
input_ch = Channel.fromPath(params.input)
/*
========================================================================================
Main Workflow
========================================================================================
*/
workflow {
// The script to execute is called by it's process name, and input is provided between brackets.
NUM_LINES(input_ch)
/* Process output is accessed using the `out` channel.
The channel operator view() is used to print process output to the terminal. */
NUM_LINES.out.view()
}
/*
========================================================================================
A Nextflow process block. Process names are written, by convention, in uppercase.
This convention is used to enhance workflow readability.
========================================================================================
*/
process NUM_LINES {
input:
path read
output:
stdout
script:
"""
sleep ${params.sleep}
# Print file name
printf '${read}\\t'
# Unzip file and count number of lines
gunzip -c ${read} | wc -l
"""
}

70
word_count.nf Normal file
View File

@@ -0,0 +1,70 @@
#!/usr/bin/env nextflow
/*
========================================================================================
Workflow parameters are written as params.<parameter>
and can be initialised using the `=` operator.
========================================================================================
*/
params.input = "data/yeast/reads/ref1_1.fq.gz"
ch1 = Channel.value( 'GRCh38' )
ch2 = Channel.value( ['chr1', 'chr2', 'chr3', 'chr4', 'chr5'] )
ch3 = Channel.value( ['chr1' : 248956422, 'chr2' : 242193529, 'chr3' : 198295559] )
ch1.view()
ch2.view()
ch3.view()
/*
========================================================================================
Input data is received through channels
========================================================================================
*/
input_ch = Channel.fromPath(params.input)
/*
========================================================================================
Main Workflow
========================================================================================
*/
workflow {
// The script to execute is called by it's process name, and input is provided between brackets.
NUM_LINES(input_ch)
/* Process output is accessed using the `out` channel.
The channel operator view() is used to print process output to the terminal. */
NUM_LINES.out.view()
}
/*
========================================================================================
A Nextflow process block. Process names are written, by convention, in uppercase.
This convention is used to enhance workflow readability.
========================================================================================
*/
process NUM_LINES {
input:
path read
output:
stdout
script:
"""
# Print file name
printf '${read}\\t'
# Unzip file and count number of lines
gunzip -c ${read} | wc -l
"""
}