Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • LBMC/RMI2/rmi2_pipelines
  • LBMC/Palladino/RNAseq_nextflow
  • rseraphi/nextflow
  • elabaron/nextflow
  • pberna01/nextflow
  • jblin/nextflow
  • cginevra/nextflow
  • carpin/nextflow
  • cfournea/nextflow
  • dtorresc/nextflow
  • LBMC/nextflow
  • nlecouvr/nextflow-nathan
  • lpicard/nextflow
  • vvanoost/nextflow
  • fmortreu/nextflow
  • hpolvech/nextflow
  • lanani/nextflow
  • mcariou/nextflow
  • fduveau/nextflow
  • jshapiro/nextflow
  • hregue/nextflow
  • yjia01/nextflow
  • acorbin/nextflow
  • ggirau03/nextflow
  • letien02/nextflow
  • ogandril/nextflow
  • jclaud01/nextflow
  • mshamjal/nextflow
  • mprieux/nextflow
  • z483801/nextflow
  • mparis/nextflow
  • alapendr/nextflow
  • cbourgeo/nextflow
  • jvalat/nextflow
  • z483800/nextflow
  • ecombe01/nextflow
  • dchalopi/nextflow
  • mherbett/nextflow
  • jprobin/nextflow
  • lestrada/nextflow
  • gyvert/nextflow
  • nfontrod/nextflow
  • gbenoit/nextflow
  • aguill09/nextflow
  • LBMC/regards/nextflow
  • mvilcot/nextflow
  • jkleine/nextflow
  • jseimand/nextflow
  • LBMC/Delattre/JU28_59vs17_SNP
  • mdjaffar/nextflow
  • pmarie01/nextflow
  • rhoury/nextflow
  • mlepetit/nextflow
  • lgely/nextflow
54 results
Show changes
Showing
with 505 additions and 0 deletions
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM python:3.9-slim
MAINTAINER Laurent Modolo
ENV TINYCOV_VERSION=0.3.1
RUN apt update \
&& apt install -y procps \
&& pip install tinycov==$TINYCOV_VERSION
CMD ["bash"]
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/tinycov:0.3.1
docker build src/.docker_modules/tinycov/0.3.1 -t 'lbmc/tinycov:0.3.1'
docker push lbmc/tinycov:0.3.1
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/tinycov:0.3.1" --push src/.docker_modules/tinycov/0.3.1
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM ubuntu:18.04
MAINTAINER Laurent Modolo
ENV TOPHAT_VERSION=2.1.1
ENV PACKAGES tophat=${TOPHAT_VERSION}*\
bowtie=1.2.2*\
libsys-hostname-long-perl
RUN apt-get update && \
apt-get install -y --no-install-recommends ${PACKAGES} && \
apt-get clean
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/tophat:2.1.1
# docker build src/.docker_modules/tophat/2.1.1 -t 'lbmc/tophat:2.1.1'
# docker push lbmc/tophat:2.1.1
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/tophat:2.1.1" --push src/.docker_modules/tophat/2.1.1
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM ubuntu:18.04
MAINTAINER Laurent Modolo
......
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/trimmomatic:0.36
# docker build src/.docker_modules/trimmomatic/0.36 -t 'lbmc/trimmomatic:0.36'
# docker push lbmc/trimmomatic:0.36
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/trimmomatic:0.36" --push src/.docker_modules/trimmomatic/0.36
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM quay.io/biocontainers/trinity:2.13.2--ha140323_0
ENV TRINITY_VERSION=2.13.2--ha140323_0
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/trinity:2.13.2
docker build src/.docker_modules/trinity/2.13.2 -t 'lbmc/trinity:2.13.2'
docker push lbmc/trinity:2.13.2
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/trinity:2.13.2" --push src/.docker_modules/trinity/2.13.2
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM debian:jessie
MAINTAINER Laurent Modolo
ENV PACKAGES apt-utils \
curl \
build-essential \
libssl-dev \
libpng-dev \
uuid-dev \
libmysqlclient-dev \
procps \
rsync
RUN apt-get update && \
apt-get install -y ${PACKAGES}
ENV UCSC_VERSION=375
RUN curl -k -L http://hgdownload.soe.ucsc.edu/admin/exe/userApps.v${UCSC_VERSION}.src.tgz -o userApps.v${UCSC_VERSION}.src.tgz &&\
tar xvf userApps.v${UCSC_VERSION}.src.tgz &&\
cd userApps/ && \
make &&\
cd .. &&\
mv userApps/bin/* /usr/bin/ &&\
rm -R userApps.v${UCSC_VERSION}.src.tgz &&\
rm -R userApps
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/ucsc:375
# docker build src/.docker_modules/ucsc/375/ -t 'lbmc/ucsc:375'
# docker push lbmc/ucsc:375
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/ucsc:375" --push src/.docker_modules/ucsc/375
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM debian:jessie
MAINTAINER Laurent Modolo
ENV PACKAGES apt-utils \
curl \
build-essential \
libssl-dev \
libpng-dev \
uuid-dev \
libmysqlclient-dev \
procps \
rsync
RUN apt-get update && \
apt-get install -y ${PACKAGES}
ENV UCSC_VERSION=400
RUN curl -k -L http://hgdownload.soe.ucsc.edu/admin/exe/userApps.v${UCSC_VERSION}.src.tgz -o userApps.v${UCSC_VERSION}.src.tgz &&\
tar xvf userApps.v${UCSC_VERSION}.src.tgz &&\
cd userApps/ && \
make &&\
cd .. &&\
mv userApps/bin/* /usr/bin/ &&\
rm -R userApps.v${UCSC_VERSION}.src.tgz &&\
rm -R userApps
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/ucsc:400
# docker build src/.docker_modules/ucsc/400/ -t 'lbmc/ucsc:400'
# docker push lbmc/ucsc:400
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/ucsc:400" --push src/.docker_modules/ucsc/400
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM debian:jessie
MAINTAINER Laurent Modolo
ENV PACKAGES apt-utils \
curl \
build-essential \
libssl-dev \
libpng-dev \
uuid-dev \
libmysqlclient-dev \
procps \
rsync
RUN apt-get update && \
apt-get install -y ${PACKAGES}
ENV UCSC_VERSION=407
RUN curl -k -L http://hgdownload.soe.ucsc.edu/admin/exe/userApps.v${UCSC_VERSION}.src.tgz -o userApps.v${UCSC_VERSION}.src.tgz &&\
tar xvf userApps.v${UCSC_VERSION}.src.tgz &&\
cd userApps/ && \
make &&\
cd .. &&\
mv userApps/bin/* /usr/bin/ &&\
rm -R userApps.v${UCSC_VERSION}.src.tgz &&\
rm -R userApps
COPY bedgraph_to_wig.pl /usr/bin/
COPY gtf2bed.pl /usr/bin/
RUN chmod +x /usr/bin/*.pl
\ No newline at end of file
#!/usr/bin/perl
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Description: This script converts bedGraph to fixedStep wig format with defined step size. Input file may be compressed as .gz.
# Coordinates in bedGraph input are assumed to be 0-based (http://genome.ucsc.edu/goldenPath/help/bedgraph.html).
# Coordinates in wig output are 1-based (http://genome.ucsc.edu/goldenPath/help/wiggle.html).
# Usage: bedgraph_to_wig.pl --bedgraph input.bedgraph --wig output.wig --step step_size [--compact]
# --bedgraph : specify input file in bedGraph format.
# --wig : specify output file in fixedStep format.
# --step : specify step size. Note that span is set to be identical to step.
# --compact : if selected, steps with value equal to 0 will not be printed. This saves space but was not allowed in original wig format, thus some scripts using wig file as input may not understand it.
# Credits: This script was written by Sebastien Vigneau (sebastien.vigneau@gmail.com) in Alexander Gimelbrant lab (Dana-Farber Cancer Institute). The inspiration for this script comes from Dave Tang's own version (http://davetang.org/wiki/tiki-index.php?page=wig).
use strict;
use warnings;
use Getopt::Long;
use List::Util qw[min max];
my $usage = "Usage: $0 --bedgraph <infile.bedgraph> --wig <outfile.wig> --step <step_size> [--compact]\n";
# Parse command line arguments
my $infile; # bedGraph input file name
my $outfile; # wig output file name
my $step; # wig step size
my $compact; # if selected, steps with value equal to 0 will not be printed
GetOptions (
"bedgraph=s" => \$infile,
"wig=s" => \$outfile,
"step=i" => \$step,
"compact" => \$compact,
) or die ("Error in command line arguments!\n$usage\n");
# Open input file. If it is compressed with gunzip, uncompress it.
if ($infile =~ /\.gz$/){
open(IN,'-|',"gunzip -c $infile") || die "Could not open $infile: $!\n";
} else {
open(IN,'<',$infile) || die "Could not open $infile: $!\n";
}
# Open output file.
open(OUT,'>',$outfile) || die "Could not open $outfile: $!\n";
# bedGraph to wig conversion starts here.
# Print main header.
print OUT "track type=wiggle_0 name=\"$infile\" description=\"$infile\" visibility=full\n";
# Initialize variables.
my $cur_chr = 0; # chromosome being processed
my $cur_pos = 0; # position of current step
my $next_pos = $cur_pos + $step; # position of next step
my $exp_pos = 0; # expected position if no step was skipped; used with --compact option
my $cur_val = 0; # value for current step
while (<IN>) {
chomp;
# Skip comment lines
next if (/^track/);
next if (/^#/);
# Parse relevant information in current line
# e.g: chr1 3000400 3000500 2
my ($chr, $start, $end, $val) = split(/\t/);
# Print header for new chromosome and initialize variables.
if ($chr ne $cur_chr) {
$cur_chr = $chr;
$cur_pos = 0;
$next_pos = $cur_pos + $step;
$cur_val = 0;
if (!$compact) { # If --compact option selected, header will be printed immediately before non-null value.
print OUT "fixedStep chrom=$chr start=", $cur_pos + 1, " step=$step span=$step\n";
# +1 was added to convert from 0-based to 1-based coordinates.
}
}
# Print values when gap in bedGraph file is greater than step.
while ($start >= $next_pos) {
print_wig_line($cur_chr, \$cur_pos, \$next_pos, \$exp_pos, \$cur_val, $chr, $start, $end, $val, $step);
}
# Print values when step overlaps with bedGraph interval and bedGraph interval is longer than step.
while ($end >= $next_pos) {
$cur_val += $val * ($next_pos - max($cur_pos, $start));
print_wig_line($cur_chr, \$cur_pos, \$next_pos, \$exp_pos, \$cur_val, $chr, $start, $end, $val, $step);
}
# Update value when end of bedGraph interval is contained within step.
if ($end < $next_pos) {
$cur_val += $val * ($end - max($cur_pos, $start));
}
}
close(IN);
close(OUT);
exit(0);
# Print or skip line in wig file depending on --compact option and value; update variables for next step.
sub print_wig_line {
my ($cur_chr, $cur_pos, $next_pos, $exp_pos, $cur_val, $chr, $start, $end, $val, $step) = @_;
if (!$compact) { # Always print if --compact option was not selected.
my $cur_ave_val = $$cur_val / $step;
print OUT "$cur_ave_val\n";
} elsif ($$cur_val != 0) { # Skips printing if --compact option selected and value is null.
if ($$cur_pos == 0 || $$cur_pos != $$exp_pos) {
# Adds header if first step in chromosome, or if previous step had null value and was skipped in print out.
print OUT "fixedStep chrom=$chr start=", $$cur_pos + 1, " step=$step span=$step\n";
# +1 was added to convert from 0-based to 1-based coordinates.
}
my $cur_ave_val = $$cur_val / $step;
print OUT "$cur_ave_val\n";
$$exp_pos = $$next_pos;
}
$$cur_pos = $$next_pos;
$$next_pos = $$cur_pos + $step;
$$cur_val = 0;
}
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/ucsc:407
# docker build src/.docker_modules/ucsc/407/ -t 'lbmc/ucsc:407'
# docker push lbmc/ucsc:407
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/ucsc:407" --push src/.docker_modules/ucsc/407
#!/usr/bin/perl
# Copyright (c) 2011 Erik Aronesty (erik@q32.com)
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
use Getopt::Long;
my $extended;
GetOptions("x"=>\$extended);
$in = shift @ARGV;
my $in_cmd =($in =~ /\.gz$/ ? "gunzip -c $in|" : $in =~ /\.zip$/ ? "unzip -p $in|" : "$in") || die "Can't open $in: $!\n";
open IN, $in_cmd;
while (<IN>) {
$gff = 2 if /^##gff-version 2/;
$gff = 3 if /^##gff-version 3/;
next if /^#/ && $gff;
s/\s+$//;
# 0-chr 1-src 2-feat 3-beg 4-end 5-scor 6-dir 7-fram 8-attr
my @f = split /\t/;
if ($gff) {
# most ver 2's stick gene names in the id field
($id) = $f[8]=~ /\bID="([^"]+)"/;
# most ver 3's stick unquoted names in the name field
($id) = $f[8]=~ /\bName=([^";]+)/ if !$id && $gff == 3;
} else {
($id) = $f[8]=~ /transcript_id "([^"]+)"/;
}
next unless $id && $f[0];
if ($f[2] eq 'exon') {
die "no position at exon on line $." if ! $f[3];
# gff3 puts :\d in exons sometimes
$id =~ s/:\d+$// if $gff == 3;
push @{$exons{$id}}, \@f;
# save lowest start
$trans{$id} = \@f if !$trans{$id};
} elsif ($f[2] eq 'start_codon') {
#optional, output codon start/stop as "thick" region in bed
$sc{$id}->[0] = $f[3];
} elsif ($f[2] eq 'stop_codon') {
$sc{$id}->[1] = $f[4];
} elsif ($f[2] eq 'miRNA' ) {
$trans{$id} = \@f if !$trans{$id};
push @{$exons{$id}}, \@f;
}
}
for $id (
# sort by chr then pos
sort {
$trans{$a}->[0] eq $trans{$b}->[0] ?
$trans{$a}->[3] <=> $trans{$b}->[3] :
$trans{$a}->[0] cmp $trans{$b}->[0]
} (keys(%trans)) ) {
my ($chr, undef, undef, undef, undef, undef, $dir, undef, $attr, undef, $cds, $cde) = @{$trans{$id}};
my ($cds, $cde);
($cds, $cde) = @{$sc{$id}} if $sc{$id};
# sort by pos
my @ex = sort {
$a->[3] <=> $b->[3]
} @{$exons{$id}};
my $beg = $ex[0][3];
my $end = $ex[-1][4];
if ($dir eq '-') {
# swap
$tmp=$cds;
$cds=$cde;
$cde=$tmp;
$cds -= 2 if $cds;
$cde += 2 if $cde;
}
# not specified, just use exons
$cds = $beg if !$cds;
$cde = $end if !$cde;
# adjust start for bed
--$beg; --$cds;
my $exn = @ex; # exon count
my $exst = join ",", map {$_->[3]-$beg-1} @ex; # exon start
my $exsz = join ",", map {$_->[4]-$_->[3]+1} @ex; # exon size
my $gene_id;
my $extend = "";
if ($extended) {
($gene_id) = $attr =~ /gene_name "([^"]+)"/;
($gene_id) = $attr =~ /gene_id "([^"]+)"/ unless $gene_id;
$extend="\t$gene_id";
}
# added an extra comma to make it look exactly like ucsc's beds
print "$chr\t$beg\t$end\t$id\t0\t$dir\t$cds\t$cde\t0\t$exn\t$exsz,\t$exst,$extend\n";
}
close IN;
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM quay.io/biocontainers/umi_tools:0.5.4--py27hdd9f355_1
MAINTAINER Rémi SERAPHIN
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/umi_tools:1.0.0
# docker build src/.docker_modules/umi_tools/1.0.0/ -t 'lbmc/umi_tools:1.0.0'
# docker push lbmc/umi_tools:1.0.0
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/umi_tools:1.0.0" --push src/.docker_modules/umi_tools/1.0.0
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
FROM debian:stretch
MAINTAINER Rémi SERAPHIN
ENV UMI_TOOLS_VERSION=1.0.0
ENV PACKAGES="bash \
python3 \
python3-dev \
python3-pip \
procps \
zlib1g-dev \
zlib1g \
bzip2 \
libbz2-dev \
liblzma-dev \
libcurl4-openssl-dev \
make \t
gcc"
RUN apt-get update && \
apt-get install -y --no-install-recommends ${PACKAGES} && \
apt-get clean
RUN pip3 install setuptools
RUN pip3 install umi_tools==${UMI_TOOLS_VERSION}
#!/bin/sh
# SPDX-FileCopyrightText: 2022 Laurent Modolo <laurent.modolo@ens-lyon.fr>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
docker pull lbmc/umi_tools:1.0.0
# docker build src/.docker_modules/umi_tools/1.0.0/ -t 'lbmc/umi_tools:1.0.0'
# docker push lbmc/umi_tools:1.0.0
docker buildx build --platform linux/amd64,linux/arm64 -t "lbmc/umi_tools:1.0.0" --push src/.docker_modules/umi_tools/1.0.0