diff --git a/src/.docker_modules/guppy-cpu/5.0.11/Dockerfile b/src/.docker_modules/guppy-cpu/5.0.11/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b3ad241370a4786dd5c3ad6de439bdd9e139b712
--- /dev/null
+++ b/src/.docker_modules/guppy-cpu/5.0.11/Dockerfile
@@ -0,0 +1,19 @@
+#Set the base image to Ubuntu 18.04
+FROM ubuntu:18.04
+
+# File Author / Maintainer
+MAINTAINER Laurent Jourdren <jourdren@biologie.ens.fr>
+
+ARG PACKAGE_VERSION=5.0.11
+ARG BUILD_PACKAGES="wget apt-transport-https"
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt update && \
+    apt install --yes $BUILD_PACKAGES && \
+    cd /tmp && \
+    wget -q https://mirror.oxfordnanoportal.com/software/analysis/ont_guppy_cpu_${PACKAGE_VERSION}-1~bionic_amd64.deb && \
+    apt install --yes /tmp/ont_guppy_cpu_${PACKAGE_VERSION}-1~bionic_amd64.deb && \
+    rm *.deb && \
+    apt-get autoremove --purge --yes && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
\ No newline at end of file
diff --git a/src/.docker_modules/guppy-cpu/5.0.11/docker_init.sh b/src/.docker_modules/guppy-cpu/5.0.11/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b9968dc3a02f1b0d2a1dbbd7900e1ada8a2e752c
--- /dev/null
+++ b/src/.docker_modules/guppy-cpu/5.0.11/docker_init.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+docker pull lbmc/guppy-cpu:5.0.11
+docker build src/.docker_modules/guppy-cpu/5.0.11 -t 'lbmc/guppy-cpu:5.0.11'
+docker push lbmc/guppy-cpu:5.0.11
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/guppy-cpu:5.0.11" --push src/.docker_modules/guppy-cpu/5.0.11
+
diff --git a/src/.docker_modules/guppy-cpu/6.0.1/Dockerfile b/src/.docker_modules/guppy-cpu/6.0.1/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..7fd18203ce04686bc0cbd9fd6235843fe1933c5e
--- /dev/null
+++ b/src/.docker_modules/guppy-cpu/6.0.1/Dockerfile
@@ -0,0 +1,19 @@
+#Set the base image to Ubuntu 18.04
+FROM ubuntu:18.04
+
+# File Author / Maintainer
+MAINTAINER Laurent Jourdren <jourdren@biologie.ens.fr>
+
+ARG PACKAGE_VERSION=6.0.1
+ARG BUILD_PACKAGES="wget apt-transport-https"
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt update && \
+    apt install --yes $BUILD_PACKAGES && \
+    cd /tmp && \
+    wget -q https://mirror.oxfordnanoportal.com/software/analysis/ont_guppy_cpu_${PACKAGE_VERSION}-1~bionic_amd64.deb && \
+    apt install --yes /tmp/ont_guppy_cpu_${PACKAGE_VERSION}-1~bionic_amd64.deb && \
+    rm *.deb && \
+    apt-get autoremove --purge --yes && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
\ No newline at end of file
diff --git a/src/.docker_modules/guppy-cpu/6.0.1/docker_init.sh b/src/.docker_modules/guppy-cpu/6.0.1/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e9cadfff4f8fb6636e09b6d877c5a779f625d24c
--- /dev/null
+++ b/src/.docker_modules/guppy-cpu/6.0.1/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+docker pull lbmc/guppy-cpu:6.0.1
+docker build src/.docker_modules/guppy-cpu/6.0.1 -t 'lbmc/guppy-cpu:6.0.1'
+docker push lbmc/guppy-cpu:6.0.1
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/guppy-cpu:6.0.1" --push src/.docker_modules/guppy-cpu/6.0.1
diff --git a/src/.docker_modules/minimap2/2.20/Dockerfile b/src/.docker_modules/minimap2/2.20/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..e3f6ab63666ec0a10adafb5ef0d2f9180564dffe
--- /dev/null
+++ b/src/.docker_modules/minimap2/2.20/Dockerfile
@@ -0,0 +1,25 @@
+FROM quay.io/biocontainers/samtools:0.1.18--hfb9b9cc_10 AS samtools 
+# /usr/local/bin/samtools
+# / # ldd /usr/local/bin/samtools
+#         /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+#         libncurses.so.6 => /usr/local/bin/../lib/libncurses.so.6 (0x7efddcfad000)
+#         libtinfo.so.6 => /usr/local/bin/../lib/libtinfo.so.6 (0x7efddcf6f000)
+#         libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+#         libz.so.1 => /usr/local/bin/../lib/libz.so.1 (0x7efddcf55000)
+#         libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+
+FROM quay.io/biocontainers/minimap2:2.20--h5bf99c6_0
+MAINTAINER adapted by Xavier Grand from Laurent Modolo template
+ENV MINIMAP2_VERSION=2.20
+
+COPY --from=samtools /usr/local/bin/samtools /usr/local/bin/
+COPY --from=samtools /usr/local//lib/libncurses.so.6 /usr/local/lib/
+COPY --from=samtools /usr/local//lib/libtinfo.so.6 /usr/local/lib/
+
+# /usr/local/bin/minimap2
+# / # ldd /usr/local/bin/minimap2
+#         /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libz.so.1 => /usr/local/bin/../lib/libz.so.1 (0x7fe14f7c4000)
+#         libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
\ No newline at end of file
diff --git a/src/.docker_modules/minimap2/2.20/docker_init.sh b/src/.docker_modules/minimap2/2.20/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..113d4cd9392d2e57241413a2359465f5f1683e5f
--- /dev/null
+++ b/src/.docker_modules/minimap2/2.20/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+docker pull lbmc/minimap2:2.20
+docker build src/.docker_modules/minimap2/2.20 -t 'lbmc/minimap2:2.20'
+docker push lbmc/minimap2:2.20
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/minimap2:2.20" --push src/.docker_modules/minimap2/2.20
\ No newline at end of file
diff --git a/src/.docker_modules/minimap2/2.24/Dockerfile b/src/.docker_modules/minimap2/2.24/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..01301e7573bb7c7f63155a7d795a4fcea0d605cf
--- /dev/null
+++ b/src/.docker_modules/minimap2/2.24/Dockerfile
@@ -0,0 +1,25 @@
+FROM quay.io/biocontainers/samtools:0.1.18--hfb9b9cc_10 AS samtools 
+# /usr/local/bin/samtools
+# / # ldd /usr/local/bin/samtools
+#         /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+#         libncurses.so.6 => /usr/local/bin/../lib/libncurses.so.6 (0x7efddcfad000)
+#         libtinfo.so.6 => /usr/local/bin/../lib/libtinfo.so.6 (0x7efddcf6f000)
+#         libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+#         libz.so.1 => /usr/local/bin/../lib/libz.so.1 (0x7efddcf55000)
+#         libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7efddcdcc000)
+
+FROM quay.io/biocontainers/minimap2:2.24--h7132678_1
+MAINTAINER adapted by Xavier Grand from Laurent Modolo template
+ENV MINIMAP2_VERSION=2.24
+
+COPY --from=samtools /usr/local/bin/samtools /usr/local/bin/
+COPY --from=samtools /usr/local//lib/libncurses.so.6 /usr/local/lib/
+COPY --from=samtools /usr/local//lib/libtinfo.so.6 /usr/local/lib/
+
+# /usr/local/bin/minimap2
+# / # ldd /usr/local/bin/minimap2
+#         /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libz.so.1 => /usr/local/bin/../lib/libz.so.1 (0x7fe14f7c4000)
+#         libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
+#         libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fe14f5a8000)
\ No newline at end of file
diff --git a/src/.docker_modules/minimap2/2.24/docker_init.sh b/src/.docker_modules/minimap2/2.24/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..07958443a901a9d2d6c474eaa13498646023f412
--- /dev/null
+++ b/src/.docker_modules/minimap2/2.24/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+ docker pull lbmc/minimap2:2.24
+ docker build src/.docker_modules/minimap2/2.24 -t 'lbmc/minimap2:2.24'
+ docker push lbmc/minimap2:2.24
+ docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/minimap2:2.24" --push src/.docker_modules/minimap2/2.24
\ No newline at end of file
diff --git a/src/.docker_modules/porechop/0.2.4/Dockerfile b/src/.docker_modules/porechop/0.2.4/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..c88f9f82160e86570b686682a8a6e332d317ec2c
--- /dev/null
+++ b/src/.docker_modules/porechop/0.2.4/Dockerfile
@@ -0,0 +1,35 @@
+###############################################
+# Dockerfile to build poretools container image
+# Based on Ubuntu 16.04
+# Build with:
+#   sudo docker build -t poretools .
+###############################################
+
+# Use ubuntu 16.04 base image
+FROM ubuntu:16.04
+
+# File author/maintainer info
+MAINTAINER Sophie Lemoine <slemoine@biologie.ens.fr> and Charlotte Berthelier <bertheli@biologie.ens.fr>
+
+# Set non-interactive mode
+ENV DEBIAN_FRONTEND noninteractive
+
+ARG PACKAGE_VERSION=0.2.4
+ARG BUILD_PACKAGES="git python3 python3-pkg-resources build-essential"
+
+# Install dependencies
+RUN apt update && \
+    apt install --yes $BUILD_PACKAGES
+
+WORKDIR /tmp 
+RUN git clone https://github.com/rrwick/Porechop.git
+WORKDIR /tmp/Porechop 
+RUN git checkout v$PACKAGE_VERSION
+RUN python3 setup.py install && \
+    rm -rf /tmp/Porechop && \
+    apt remove --purge --yes git build-essential && \
+    apt autoremove --purge --yes
+
+# Set entrypoint so container can be used as executable
+ENTRYPOINT ["porechop"]
+CMD ["-h"]
\ No newline at end of file
diff --git a/src/.docker_modules/porechop/0.2.4/docker_init.sh b/src/.docker_modules/porechop/0.2.4/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1950947837fe2b381b8423cf9d2a16e43e1c152a
--- /dev/null
+++ b/src/.docker_modules/porechop/0.2.4/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+docker pull lbmc/porechop:0.2.4
+docker build src/.docker_modules/porechop/0.2.4 -t 'lbmc/porechop:0.2.4'
+docker push lbmc/porechop:0.2.4
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/porechop:0.2.4" --push src/.docker_modules/porechop/0.2.4
\ No newline at end of file
diff --git a/src/.docker_modules/salmon/1.8.0/Dockerfile b/src/.docker_modules/salmon/1.8.0/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..065a57e8b363b74e9c8b27d9f12ff144afac56fc
--- /dev/null
+++ b/src/.docker_modules/salmon/1.8.0/Dockerfile
@@ -0,0 +1,53 @@
+# image: COMBINE-lab/salmon
+# This dockerfile is based on the one created by
+# Titus Brown (available at https://github.com/ctb/2015-docker-building/blob/master/salmon/Dockerfile)
+FROM ubuntu:18.04
+MAINTAINER salmon.maintainer@gmail.com
+
+ENV PACKAGES git gcc make g++ libboost-all-dev liblzma-dev libbz2-dev \
+    ca-certificates zlib1g-dev libcurl4-openssl-dev curl unzip autoconf apt-transport-https ca-certificates gnupg software-properties-common wget
+ENV SALMON_VERSION 1.8.0
+
+# salmon binary will be installed in /home/salmon/bin/salmon
+
+### don't modify things below here for version updates etc.
+
+WORKDIR /home
+
+RUN apt-get update && \
+    apt remove -y libcurl4 && \
+    apt-get install -y --no-install-recommends ${PACKAGES} && \
+    apt-get clean
+
+RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
+
+RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
+
+RUN apt-get update
+
+RUN apt-key --keyring /etc/apt/trusted.gpg del C1F34CDD40CD72DA
+
+RUN apt-get install kitware-archive-keyring
+
+RUN apt-get install -y cmake
+
+RUN curl -k -L https://github.com/COMBINE-lab/salmon/archive/v${SALMON_VERSION}.tar.gz -o salmon-v${SALMON_VERSION}.tar.gz && \
+    tar xzf salmon-v${SALMON_VERSION}.tar.gz && \
+    cd salmon-${SALMON_VERSION} && \
+    mkdir build && \
+    cd build && \
+    cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local && make && make install
+
+# For dev version
+#RUN git clone https://github.com/COMBINE-lab/salmon.git && \
+#    cd salmon && \
+#    git checkout develop && \
+#    mkdir build && \
+#    cd build && \
+#    cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local && make && make install
+
+ENV PATH /home/salmon-${SALMON_VERSION}/bin:${PATH}
+ENV LD_LIBRARY_PATH "/usr/local/lib:${LD_LIBRARY_PATH}"
+
+RUN echo "export PATH=$PATH" > /etc/environment
+RUN echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" > /etc/environment
\ No newline at end of file
diff --git a/src/.docker_modules/salmon/1.8.0/docker_init.sh b/src/.docker_modules/salmon/1.8.0/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c8bee37c348f09a6d556f5e9f9f37216dbcabe96
--- /dev/null
+++ b/src/.docker_modules/salmon/1.8.0/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+docker pull lbmc/salmon:1.8.0
+docker build src/.docker_modules/salmon/1.8.0 -t 'lbmc/salmon:1.8.0'
+docker push lbmc/salmon:1.8.0
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/salmon:1.8.0" --push src/.docker_modules/salmon/1.8.0
\ No newline at end of file
diff --git a/src/.docker_modules/seqkit/2.1.0/Dockerfile b/src/.docker_modules/seqkit/2.1.0/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..72fa012b04ddf31809f2fcd4b0d8576e545f39b5
--- /dev/null
+++ b/src/.docker_modules/seqkit/2.1.0/Dockerfile
@@ -0,0 +1,47 @@
+FROM ubuntu:16.04
+
+#Begin: install prerequisites
+RUN apt-get update && apt-get install -y --no-install-recommends \
+        build-essential \
+        curl \
+        git \
+        libcurl3-dev \
+        libfreetype6-dev \
+        libpng12-dev \
+        libzmq3-dev \
+        locate \
+        pkg-config \
+        rsync \
+        software-properties-common \
+        sudo \
+        unzip \
+        wget \
+        zip \
+        zlib1g-dev \
+        && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
+#End: install prerequisites
+
+#Begin: install golang
+ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go1.17.9.linux-amd64.tar.gz
+ENV GOPATH $HOME/go
+ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin
+RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
+    sudo tar -C /usr/local -xzf golang.tar.gz && \
+    rm golang.tar.gz && \
+    mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
+#End: install golang
+
+#Begin: install delve
+RUN go install github.com/go-delve/delve/cmd/dlv@latest 
+#1.8.3
+#End: install delve
+
+#Begin: install seqkit
+RUN go install github.com/shenwei356/seqkit/v2/seqkit@v2.1.0
+
+#2.1.0
+#End: install seqkit
+
+WORKDIR $HOME/go/src/github.com/shenwei356/seqkit
\ No newline at end of file
diff --git a/src/.docker_modules/seqkit/2.1.0/docker_init.sh b/src/.docker_modules/seqkit/2.1.0/docker_init.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c4b8240237ec02887f7665a8ed8e586a313cbc92
--- /dev/null
+++ b/src/.docker_modules/seqkit/2.1.0/docker_init.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+docker pull lbmc/seqkit:2.1.0
+docker build src/.docker_modules/seqkit/2.1.0 -t 'lbmc/seqkit:2.1.0'
+docker push lbmc/seqkit:2.1.0
+docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/seqkit:2.1.0" --push src/.docker_modules/seqkit/2.1.0
\ No newline at end of file
diff --git a/src/nf_modules/cutadapt/main.nf b/src/nf_modules/cutadapt/main.nf
index 7cac589e23669969ea100ecff00e842d6ae5c910..8d93b2ae9bb160ed62969348b12e5f6834df2eb4 100644
--- a/src/nf_modules/cutadapt/main.nf
+++ b/src/nf_modules/cutadapt/main.nf
@@ -77,3 +77,26 @@ process trimming {
   ${reads} > ${file_prefix}_report.txt
   """
 }
+
+
+process 5pRACE {
+  container = "${container_url}"
+  label "big_mem_mono_cpus"tag "$file_id"
+  
+  if (params.cutadapt_out != "") {
+    publishDir "results/${params.cutadapt_out}", mode: 'copy'
+  }
+
+  input:
+  tuple val(file_id), path(fastq)
+
+  output:
+  tuple val(file_id), path("*_cut_*"), emit: fastq
+
+  """
+  cutadapt -e 0.2 -g CGACTGGAGCACGAGGACACTGACATGGACTGAAGGAGTAGAAA -g TTAGGCAGAGGTGAAAAAGTTG 
+                  -a TTTCTACTCCTTCAGTCCATGTCAGTGTCCTCGTGCTCCAGTCG -a CAACTTTTTCACCTCTGCCTAA 
+                  -o ${}
+                  ${fastq}
+  """
+}
\ No newline at end of file
diff --git a/src/nf_modules/guppy-cpu/main.nf b/src/nf_modules/guppy-cpu/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..36a15eaa582f5a6ac52ab8cde52576e49421a598
--- /dev/null
+++ b/src/nf_modules/guppy-cpu/main.nf
@@ -0,0 +1,43 @@
+version = "5.0.11"
+container_url = "lbmc/guppy-cpu:${version}"
+
+params.basecalling_out = ""
+params.flowcell = "FLO-MIN106"
+params.kit = "SQK-PCS109"
+params.cpu_threads_per_caller = 4
+params.num_callers = 1
+process basecall_fast5 {
+  container = "${container_url}"
+  label "big_mem_multi_cpus"
+  tag "$file_id"
+  if (params.basecalling_out != "") {
+    publishDir "results/${params.basecalling_out}", mode: 'copy'
+  }
+
+  if (params.flowcell == "") {
+      errorFlowcell << "WARNING ! No Flowcell type given..."
+      errorFlowcell.view()
+  }
+
+  if (params.kit == "") {
+      errorKit "WARNING ! No kit type given..."
+      errorKit.view()
+  }
+
+  input:
+    tuple val(file_id), path(fast5)
+
+  output:
+    tuple val(file_id), path("*.fastq*"), emit: fastq
+
+  script:
+"""
+guppy_basecaller --compress_fastq \
+    -i ${path(fast5)} \
+    -s ${params.basecalling_out} \
+    --cpu_threads_per_caller ${params.cpu_threads_per_caller} \
+    --num_callers ${params.num_callers} \
+    --flowcell ${params.flowcell} \
+    --kit ${params.kit}
+"""
+}
\ No newline at end of file
diff --git a/src/nf_modules/guppy-gpu/main.nf b/src/nf_modules/guppy-gpu/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..34e8fb5b80e7b66a03e7877dcbe470d3ee69b563
--- /dev/null
+++ b/src/nf_modules/guppy-gpu/main.nf
@@ -0,0 +1,42 @@
+version = "5.0.11"
+container_url = "lbmc/guppy-gpu:${version}"
+
+params.basecalling_out = ""
+params.flowcell = ""
+params.kit = ""
+params.gpu_runners_per_device = 16
+process basecall_fast5 {
+  container = "${container_url}"
+  // Need to create a profile using GPUs
+  label ""
+  tag "$file_id"
+  if (params.basecalling_out != "") {
+    publishDir "results/${params.basecalling_out}", mode: 'copy'
+  }
+
+  if (params.flowcell == "") {
+      errorFlowcell << "WARNING ! No Flowcell type given..."
+      errorFlowcell.view()
+  }
+
+  if (params.kit == "") {
+      errorKit "WARNING ! No kit type given..."
+      errorKit.view()
+  }
+
+  input:
+    tuple val(file_id), path(fast5)
+
+  output:
+    tuple val(file_id), path("*.fastq*"), emit: fastq
+
+  script:
+"""
+guppy_basecaller --compress_fastq -x "cuda:all" --min_qscore 7.0 \
+    -i ${path(fast5)} \
+    -s ${params.basecalling_out} \
+    --gpu_runners_per_device ${params.gpu_runners_per_device} \
+    --flowcell ${params.flowcell} \
+    --kit ${params.kit}
+"""
+}
\ No newline at end of file
diff --git a/src/nf_modules/porechop/main.nf b/src/nf_modules/porechop/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..b90075efdbc6b83eaf7994a70378ad72b1967a01
--- /dev/null
+++ b/src/nf_modules/porechop/main.nf
@@ -0,0 +1,21 @@
+version = "0.2.4"
+container_url = "lbmc/porechop:${version}"
+
+process porechop {
+    container = "${container_url}"
+    label "big_mem_multi_cpus"
+    tag "$file_id"
+    if (params.porechop_out != "") {
+    publishDir "results/${params.porechop_out}", mode: 'copy'
+  }
+
+  input:
+    tuple val(file_id), path(fatsq)
+
+  output:
+    tuple val(file_id), path("*_porechoped.fastq"), emit: porechoped_fastq
+  script:
+"""
+porechop -i ${fastq} -o ${file_id}_porechoped.fastq --threads 4
+"""
+}
\ No newline at end of file
diff --git a/src/nf_modules/salmon/main.nf b/src/nf_modules/salmon/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..860d210b41127c4c2f0a2f6625dd4b35420ca85f
--- /dev/null
+++ b/src/nf_modules/salmon/main.nf
@@ -0,0 +1,21 @@
+version = "1.8.0"
+container_url = "lbmc/salmon:${version}"
+
+process quantify {
+  container = "${container_url}"
+  label "big_mem_multi_cpus"
+  tag "$file_id"
+  if (params.salmon_out != "") {
+    publishDir "results/${params.salmon_out}", mode: 'copy'
+  }
+
+  input:
+    tuple val(file_id), path(bam)
+
+  output:
+    tuple val(file_id), path("*.sf"), emit: quant
+  script:
+"""
+salmon quant -l A --noErrorModel -t XXXXXXXXXX -a ${bam} -p 4 -o ${params.salmon_out}
+"""
+}
\ No newline at end of file
diff --git a/src/nf_modules/stringtie2/main.nf b/src/nf_modules/stringtie2/main.nf
new file mode 100644
index 0000000000000000000000000000000000000000..04a9b2cf0481b1f30bc6a9c1c7e04f3429dcfd36
--- /dev/null
+++ b/src/nf_modules/stringtie2/main.nf
@@ -0,0 +1,21 @@
+version = "2.1.1"
+container_url = "lbmc/stringtie2:${version}"
+
+process jcount {
+  container = "${container_url}"
+  label "big_mem_multi_cpus"
+  tag "$file_id"
+  if (params.salmon_out != "") {
+    publishDir "results/${params.salmon_out}", mode: 'copy'
+  }
+
+  input:
+    tuple val(file_id), path(bam)
+
+  output:
+    tuple val(file_id), path("*.sf"), emit: quant
+  script:
+"""
+salmon quant -l A --noErrorModel -t XXXXXXXXXX -a ${bam} -p 4 -o ${params.salmon_out}
+"""
+}
\ No newline at end of file