From 647c4e449eb4cc151f69525fba6919179d07a350 Mon Sep 17 00:00:00 2001 From: Aman Nalakath Date: Tue, 9 Dec 2025 22:45:26 +0100 Subject: [PATCH] prj init --- README.md | 0 hello_world.nf | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ wc-params.nf | 65 ++++++++++++++++++++++++++++++++++++++++++++ word_count.nf | 70 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 208 insertions(+) create mode 100644 README.md create mode 100644 hello_world.nf create mode 100644 wc-params.nf create mode 100644 word_count.nf diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/hello_world.nf b/hello_world.nf new file mode 100644 index 0000000..70e94b4 --- /dev/null +++ b/hello_world.nf @@ -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() +} \ No newline at end of file diff --git a/wc-params.nf b/wc-params.nf new file mode 100644 index 0000000..a4bca61 --- /dev/null +++ b/wc-params.nf @@ -0,0 +1,65 @@ +#!/usr/bin/env nextflow + + + +/* +======================================================================================== + Workflow parameters are written as params. + 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 + """ +} \ No newline at end of file diff --git a/word_count.nf b/word_count.nf new file mode 100644 index 0000000..f3c7027 --- /dev/null +++ b/word_count.nf @@ -0,0 +1,70 @@ +#!/usr/bin/env nextflow + + + +/* +======================================================================================== + Workflow parameters are written as params. + 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 + """ +} \ No newline at end of file