








mkdir demo
cd demo
pipeline-dev import-from-nextflow nf-core/demo/data/demo $ pipeline-dev import-from-nextflow nf-core/demo
Creating output folder nf-core/demo
Fetching project nf-core/demo
Fetching project info
project name: nf-core/demo
repository : https://github.com/nf-core/demo
local path : /data/.nextflow/assets/nf-core/demo
main script : main.nf
description : An nf-core demo pipeline
author : Christopher Hakkaart
Pipeline “nf-core/demo” successfully imported into nf-core/demo.
Suggested actions:
cd nf-core/demo
pipeline-dev run-in-bench
[ Iterative dev: Make code changes + re-validate with previous command ]
pipeline-dev deploy-as-flow-pipeline
pipeline-dev launch-validation-in-flowcd nf-core/demo
pipeline-dev run-in-benchpipeline-dev deploy-as-flow-pipelineChoice: 3
Creating ICA Flow pipeline dev-nf-core-demo_v4
Sending inputForm.json
Sending onRender.js
Sending main.nf
Sending nextflow.configpipeline-dev launch-validation-in-flowconda create -n nextflow22
# If, like me, you never ran "conda init", do it now:
conda init
bash -l # To load the conda's bashrc changes
conda activate nextflow22
conda install -y nextflow=22
# Check
nextflow -version
# Then use the pipeline-dev tools as in the demo








mkdir demo-flow-dev
cd demo-flow-dev
pipeline-dev import-from-flow
or
pipeline-dev import-from-flow --analysis-id=9415d7ff-1757-4e74-97d1-86b47b29fb8fEnter the number of the entry you want to use: 21
Fetching analysis 9415d7ff-1757-4e74-97d1-86b47b29fb8f ...
Fetching pipeline bb47d612-5906-4d5a-922e-541262c966df ...
Fetching pipeline files... main.nf
Fetching test inputs
New Json inputs detected
Resolving test input ids to /data/mounts/project paths
Fetching input form..
Pipeline "GWAS pipeline_1.
_2_1_20241215_130117" successfully imported.
pipeline name: GWAS pipeline_1_2_1_20241215_130117
analysis name: Test GWAS pipeline_1_2_1_20241215_130117
pipeline id : bb47d612-5906-4d5a-922e-541262c966df
analysis id : 9415d7ff-1757-4e74-97d1-86b47b29fb8f
Suggested actions:
pipeline-dev run-in-bench
I Iterative dev: Make code changes + re-validate with previous command ]
pipeline-dev deploy-as-flow-pipeline
pipeline-dev run-in-flowcd imported-flow-analysis
pipeline-dev run-in-bench/data/demo $ tail /data/logs/sge-scaler.log.*
2025-02-10 18:27:19,657 - SGEScaler - INFO: SGE Marked Overview - {'UNKNOWN': O, 'DEAD': O, 'IDLE': O, 'DISABLED': O, 'DELETED': O, 'UNRESPONSIVE': 0}
2025-02-10 18:27:19,657 - SGEScaler - INFO: Job Status - Active jobs : 0, Pending jobs : 6
2025-02-10 18:27:26,291 - SGEScaler - INFO: Cluster Status - State: Transitioning,
Online Members: 0, Offline Members: 2, Requested Members: 2, Min Members: 0, Max Members: 2code nextflow-src # Open in Visual Studio Code
code . # Open current dir in Visual Studio Code
vi nextflow-src/main.nfpipeline-dev run-in-bench/data/demo-flow-dev $ head nextflow-src/main.nf
nextflow.enable.dsl = 2
process top_level_process t
container 'docker.io/ljanin/gwas-pipeline:1.2.1'IMAGE_BEFORE=docker.io/ljanin/gwas-pipeline:1.2.1
IMAGE_AFTER=docker.io/ljanin/gwas-pipeline:tmpdemo
# Create directory for Dockerfile
mkdir dirForDockerfile
cd dirForDockerfile
# Create Dockerfile
cat <<EOF > Dockerfile
FROM ${IMAGE_BEFORE}
RUN mkdir /mimalloc-compile \
&& cd /mimalloc-compile \
&& git clone -b v2.0.6 https://github.com/microsoft/mimalloc \
&& mkdir -p mimalloc/out/release \
&& cd mimalloc/out/release \
&& cmake ../.. \
&& make \
&& make install \
&& cd / \
&& rm -rf mimalloc-compile
EOF
# Build image
docker build -t ${IMAGE_AFTER} .IMAGE_BEFORE=docker.io/ljanin/gwas-pipeline:1.2.1
IMAGE_AFTER=docker.io/ljanin/gwas-pipeline:1.2.2
docker run -it --rm ${IMAGE_BEFORE} bash
# Make some modifications
vi /scripts/plot_manhattan.py
<Fix "manhatten.png" into "manhattAn.png">
<Enter :wq to save and quit vi><Start another terminal (try Ctrl+Shift+T if using wezterm)>
# Identify container id# Save container changes into new image layer
CONTAINER_ID=c18670335247
docker commit ${CONTAINER_ID} ${IMAGE_AFTER}sed --in-place "s/${IMAGE_BEFORE}/${IMAGE_AFTER}/" nextflow-src/main.nfpipeline-dev run-in-benchpipeline-dev deploy-as-flow-pipelineChoice: 2
Creating ICA Flow pipeline dev-nf-core-demo_v4
Sending inputForm.json
Sending onRender.js
Sending main.nf
Sending nextflow.config/data/demo $ pipeline-dev deploy-as-flow-pipeline
Generating ICA input specs...
Extracting nf-core test inputs...
Deploying project nf-core/demo
- Currently being developed as: dev-nf-core-demo
- Last version updated in ICA: dev-nf-core-demo_v3
- Next suggested version: dev-nf-core-demo_v4
How would you like to deploy?
1. Update dev-nf-core-demo (current version)
2. Create dev-nf-core-demo_v4
3. Enter new name
4. Update dev-nf-core-demo_v3 (latest version updated in ICA)Sending docs/images/nf-core-demo-subway.svg
Sending docs/images/nf-core-demo_logo_dark.png
Sending docs/images/nf-core-demo_logo_light.png
Sending docs/images/nf-core-demo-subway.png
Sending docs/README. md
Sending docs/output.md
Pipeline successfully deployed
- Id : 26bc5aa5-0218-4e79-8a63-ee92954c6cd9
- URL: https://stage.v2.stratus.illumina.com/ica/projects/1873043/pipelines/26bc5aa5-0218-4e79-8a63-ee92954C6cd9
Suggested actions:
pipeline-dev run-in-flowpipeline-dev launch-validation-in-flow/data/demo $ pipeline-dev launch-validation-in-flow
pipelineld: 26bc5aa5-0218-4e79-8a63-ee92954c6cd9
Getting Analysis Storage Id
Launching as ICA Flow Analysis...
ICA Analysis created:
- Name: Test dev-nf-core-demo_v4
- Id: cadcee73-d975-435d-b321-5d60e9aec1ec
- Url: https://stage.v2.stratus.illumina.com/ica/projects/1873043/analyses/cadcee73-d975-435d-b321-5d60e9aec1ecpip install nf-core) offers extensive help to create and maintain this schema.







$ pipeline-dev import-from-nextflow <repo name e.g. nf-core/demo>$ pipeline-dev import-from-flow [--analysis-id=…] $ pipeline-dev run-in-bench [--local|--sge] $ pipeline-dev deploy-as-flow-pipeline [--create|--update] $ pipeline-dev launch-validation-in-flow mkdir demo_gzip
cd demo_gzip
echo test > test_input.txtmkdir nextflow-src
# Create nextflow-src/main.nf using contents below
vi nextflow-src/main.nfnextflow.enable.dsl=2
process COMPRESS {
input:
path input_file
val compression_level
output:
path "${input_file.simpleName}.gz" // .simpleName keeps just the filename
publishDir 'out', mode: 'symlink'
script:
"""
gzip -c -${compression_level} ${input_file} > ${input_file.simpleName}.gz
"""
}
workflow {
input_path = file(params.input_file)
gzip_out = COMPRESS(input_path, params.compression_level)
}nextflow run nextflow-src/ --input_file test_input.txt --compression_level 5process.container = 'ubuntu:latest'nextflow run nextflow-src/ --input_file test_input.txt --compression_level 5 -with-dockerprocess.container = 'ubuntu:latest'
profiles {
test {
params {
input_file = 'test_input.txt'
compression_level = 5
}
}
}nextflow run nextflow-src/ -profile test -with-dockerprocess.container = 'ubuntu:latest'
profiles {
test {
params {
input_file = 'test_input.txt'
compression_level = 5
}
}
docker {
docker.enabled = true
}
}nextflow run nextflow-src/ -profile test,dockerpipeline-dev run-in-bench{
"$defs": {
"input_output_options": {
"title": "Input/output options",
"properties": {
"input_file": {
"description": "Input file to compress",
"help_text": "The file that will get compressed",
"type": "string",
"format": "file-path"
},
"compression_level": {
"type": "integer",
"description": "Compression level to use (1-9)",
"default": 5,
"minimum": 1,
"maximum": 9
}
}
}
}
}$ pipeline-dev project-info --init
pipeline-dev.project-info not found. Let's create it with 2 questions:
Please enter your project name: demo_gzip
Please enter a project description: Bench gzip demopipeline-dev deploy-as-flow-pipelinepipeline-dev launch-validation-in-flow/data/demo $ pipeline-dev launch-validation-in-flow
pipelineld: 331f209d-2a72-48cd-aa69-070142f57f73
Getting Analysis Storage Id
Launching as ICA Flow Analysis...
ICA Analysis created:
- Name: Test demo_gzip
- Id: 17106efc-7884-4121-a66d-b551a782b620
- Url: https://stage.v2.stratus.illumina.com/ica/projects/1873043/analyses/17106efc-7884-4121-a66d-b551a782620