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