Skip to content
Snippets Groups Projects
Verified Commit 03b4c8d0 authored by Laurent Modolo's avatar Laurent Modolo
Browse files

rm Ribowave module for when it's ready

parent 6a3bd949
Branches
Tags
No related merge requests found
FROM ubuntu:16.04
MAINTAINER Emmanuel Labaronne
ENV BEDTOOLS_VERSION=2.25.0*
ENV PACKAGES bedtools=${BEDTOOLS_VERSION}* \
r-base \
r-base-dev \
git
RUN apt-get update &&\
apt-get install -y --no-install-recommends ${PACKAGES} && \
apt-get clean
RUN printf "install.packages(c('reshape','ggplot2','wmtsa','parallel'), dep=TRUE, repos='http://cran.us.r-project.org') \n source('http://bioconductor.org/biocLite.R') \n biocLite('rhdf5')" > installpackages.R && \
Rscript installpackages.R
RUN git clone https://github.com/lulab/Ribowave.git &&\
chmod -R +x Ribowave/scripts
#!/bin/sh
docker build src/docker_modules/RiboWave/1.0 -t 'ribowave:1.0'
/*
* Ribowave :
* Inputs : gtf genome files
* Inputs : bam file
* Inputs : genome size file
*/
/* PARAMETERS */
params.gtf = ""
params.genome = ""
params.bam = ""
params.genomesize = ""
log.info "gtf file : ${params.gtf}"
log.info "genome fasta file : ${params.genome}"
log.info "bam file(s) : ${params.bam}"
log.info "genomesize file : ${params.genomesize}"
Channel
.fromPath( params.gtf )
.ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
.set { gtf_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
.set { genome_file }
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
bam_files.into {bam_deter_P_site ; bam_track_P_site ; bam_ribowave}
Channel
.fromPath( params.genomesize )
.ifEmpty { error "Cannot find any index files matching: ${params.genomesize}" }
.set { genomesize_file }
/* CREATE ANNOTATION */
process create_annot {
publishDir "results/ribowave/annotation", mode: 'copy'
input:
file gtf from gtf_file
file genome from genome_file
output:
file "*" into annot_file
file "start_codon.bed" into start_codon_channel
file "exons.gtf" into exon_gtf_channel
file "final.ORFs" into finalORF_channel
script:
"""
/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome} -o ./ -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
"""
}
/* P-site determination */
process determination_P_site {
tag "$bam.baseName"
publishDir "results/ribowave/", mode: 'copy'
input:
file bam from bam_deter_P_site
file start from start_codon_channel
output:
file "*" into p_site_channel
file "P-site/*1nt.txt" into psite1nt_channel
script:
"""
/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
"""
}
/* P-site track */
process track_P_site {
tag "$bam.baseName"
publishDir "results/ribowave", mode: 'copy'
input:
file bam from bam_track_P_site
file exon from exon_gtf_channel
file genomesize from genomesize_file
file p_site from psite1nt_channel
output:
file "*" into track_p_site_channel
file "bedgraph/${bam.baseName}/final.psite" into psite_channel
script:
"""
/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/create_track_Ribo.sh -i ${bam} -G ${exon} -g ${genomesize} -P ${p_site} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts
"""
}
/* ribowave Identifying translated ORF */
process ribowave_transORF {
tag "$bam.baseName"
publishDir "results/ribowave", mode: 'copy'
input:
file psite from psite_channel
file bam from bam_ribowave
file finalORF from finalORF_channel
output:
file "*" into ribowave_channel
script:
"""
/Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts/Ribowave -PD -a ${psite} -b ${finalORF} -o ./ -n ${bam.baseName} -s /Xnfs/lbmcdb/Ricci_team/shared_data/softwares/Ribowave/scripts -p 16
"""
}
/*
* Ribowave :
* Inputs : gtf genome files
* Inputs : bam file
* Inputs : genome size file
*/
/* PARAMETERS */
params.gtf = ""
params.genome = ""
params.bam = ""
params.genomesize = ""
log.info "gtf file : ${params.gtf}"
log.info "genome fasta file : ${params.genome}"
log.info "bam file(s) : ${params.bam}"
log.info "genomesize file : ${params.genomesize}"
Channel
.fromPath( params.gtf )
.ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
.set { gtf_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
.set { genome_file }
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
bam_files.into {bam_deter_P_site ; bam_track_P_site ; bam_ribowave}
Channel
.fromPath( params.genomesize )
.ifEmpty { error "Cannot find any index files matching: ${params.genomesize}" }
.set { genomesize_file }
/* CREATE ANNOTATION */
process create_annot {
publishDir "results/ribowave/annotation", mode: 'copy'
input:
file gtf from gtf_file
file genome from genome_file
output:
file "*" into annot_file
file "start_codon.bed" into start_codon_channel
file "exons.gtf" into exon_gtf_channel
file "final.ORFs" into finalORF_channel
script:
"""
/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome} -o ./ -s /Ribowave/scripts
"""
}
/* P-site determination */
process determination_P_site {
tag "$bam.baseName"
publishDir "results/ribowave/", mode: 'copy'
input:
file bam from bam_deter_P_site
file start from start_codon_channel
output:
file "*" into p_site_channel
file "P-site/*1nt.txt" into psite1nt_channel
script:
"""
/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${bam.baseName} -s /Ribowave/scripts
"""
}
/* P-site track */
process track_P_site {
tag "$bam.baseName"
publishDir "results/ribowave", mode: 'copy'
input:
file bam from bam_track_P_site
file exon from exon_gtf_channel
file genomesize from genomesize_file
file p_site from psite1nt_channel
output:
file "*" into track_p_site_channel
file "bedgraph/${bam.baseName}/final.psite" into psite_channel
script:
"""
/Ribowave/scripts/create_track_Ribo.sh -i ${bam} -G ${exon} -g ${genomesize} -P ${p_site} -o ./ -n ${bam.baseName} -s /Ribowave/scripts
"""
}
/* ribowave Identifying translated ORF */
process ribowave_transORF {
tag "$bam.baseName"
publishDir "results/ribowave", mode: 'copy'
input:
file psite from psite_channel
file bam from bam_ribowave
file finalORF from finalORF_channel
output:
file "*" into ribowave_channel
script:
"""
/Ribowave/scripts/Ribowave -PD -a ${psite} -b ${finalORF} -o ./ -n ${bam.baseName} -s /Ribowave/scripts -p 2
"""
}
profiles {
docker {
docker.temp = 'auto'
docker.enabled = true
process {
$create_annot {
container = "ribowave:1.0"
}
$determination_P_site {
container = "ribowave:1.0"
}
$track_P_site {
container = "ribowave:1.0"
}
$ribowave_transORF {
container = "ribowave:1.0"
}
}
}
sge {
process{
$create_annot {
beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
executor = "sge"
cpus = 8
memory = "5GB"
time = "6h"
queue = '*-E5-2667*'
penv = 'openmp8'
}
$determination_P_site {
beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
executor = "sge"
cpus = 8
memory = "5GB"
time = "6h"
queue = '*-E5-2667*'
penv = 'openmp8'
}
$track_P_site {
beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
executor = "sge"
cpus = 8
memory = "5GB"
time = "6h"
queue = '*-E5-2667*'
penv = 'openmp8'
}
$ribowave_transORF {
beforeScript = "source /home/elabaron/.bashrc; module load BEDtools/2.25.0"
executor = "sge"
cpus = 16
memory = "128GB"
time = "6h"
queue = '*E5-2667*'
penv = 'openmp16'
}
}
}
}
/*
* Ribowave :
* Inputs : fastq files
* Inputs : fasta files
* Output : bam files
*/
/* Create annotation */
params.gtf = "/media/manu/ManuDisque/gencode/gencode.v28.annotation.gtf"
params.genome = "/media/manu/ManuDisque/gencode/GRCh38.p12.genome.fa"
log.info "gtf file : ${params.gtf}"
log.info "genome fasta file : ${params.genome}"
Channel
.fromPath( params.gtf )
.ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
.set { gtf_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
.set { genome_file }
process create_annot {
publishDir "results/ribowave/annotation", mode: 'copy'
input:
file gtf from gtf_file
file genome from genome_file
output:
file "*" into annot_file
script:
"""
/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome} -o ./ -s /Ribowave/scripts
"""
}
/*
* P-site determination
*/
params.bam = ""
params.start = ""
params.jobname = ""
log.info "bam file(s) : ${params.bam}"
log.info "start_codon file : ${params.start}"
log.info "job name : ${params.jobname}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
Channel
.fromPath( params.start )
.ifEmpty { error "Cannot find any index files matching: ${params.start}" }
.set { start_file }
process determination_P_site {
publishDir "results/ribowave/", mode: 'copy'
input:
file bam from bam_files
file start from start_file
output:
file "*" into p_site_channel
script:
"""
/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${params.jobname} -s /Ribowave/scripts
"""
}
/*
* P-site track
*/
params.bam = ""
params.exon = ""
params.genome = ""
params.jobname = ""
params.p_site = ""
log.info "bam file(s) : ${params.bam}"
log.info "exon file : ${params.exon}"
log.info "genome file : ${params.genome}"
log.info "job name : ${params.jobname}"
log.info "job name : ${params.p_site}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
Channel
.fromPath( params.exon )
.ifEmpty { error "Cannot find any index files matching: ${params.exon}" }
.set { exon_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any index files matching: ${params.genome}" }
.set { genome_file }
Channel
.fromPath( params.p_site )
.ifEmpty { error "Cannot find any index files matching: ${params.p_site}" }
.set { p_site_file }
process track_P_site {
publishDir "results/ribowave", mode: 'copy'
input:
file bam from bam_files
file exon from exon_file
file genome from genome_file
file p_site from p_site_file
output:
file "*" into track_p_site_channel
script:
"""
/Ribowave/scripts/create_track_Ribo.sh -i ${bam} -G ${exon} -g ${genome} -P ${p_site} -o ./ -n ${params.jobname} -s /Ribowave/scripts
"""
}
/*
* ribowave Identifying translated ORF
*/
params.psite = ""
params.finalORF = ""
params.outputdir = ""
params.jobname = ""
log.info "psite file : ${params.psite}"
log.info "finalORF file : ${params.finalORF}"
log.info "job name : ${params.jobname}"
log.info "output dir : ${params.outputdir}"
Channel
.fromPath( params.psite )
.ifEmpty { error "Cannot find any fastq files matching: ${params.psite}" }
.set { psite_file }
Channel
.fromPath( params.finalORF )
.ifEmpty { error "Cannot find any index files matching: ${params.finalORF}" }
.set { finalORF_file }
process ribowave_transORF {
publishDir "results/ribowave", mode: 'copy'
input:
file psite from psite_file
file finalORF from finalORF_file
output:
file "*" into ribowave_channel
script:
"""
/Ribowave/scripts/Ribowave -PD -a ${psite} -b ${finalORF} -o ${params.outputdir} -n ${params.jobname} -s /Ribowave/scripts -p 8
"""
}
../../nextflow/nextflow src/nf_modules/Ribowave/test/Pipeline.nf -resume -with-dag results/ribowave_dag.pdf -with-timeline results/ribowave_timeline -c src/nf_modules/Ribowave/ribowave.config -profile docker --gtf /media/manu/ManuDisque/gencode/gencode.v27.annotation.gtf --genome /media/manu/ManuDisque/gencode/GRCh38.p10.genome.fa --bam /media/manu/ManuDisque/HIV_project/hg38/U937_CHX_hg38_allmerge_uniqMapped_sorted.bam --jobname U937_CHY_merged
params.bam = ""
params.start = ""
log.info "bam file(s) : ${params.bam}"
log.info "start_codon file : ${params.start}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
Channel
.fromPath( params.start )
.ifEmpty { error "Cannot find any index files matching: ${params.start}" }
.set { start_file }
process determination_P_site {
tag "$bam.baseName"
publishDir "results/ribowave", mode: 'copy'
input:
file bam from bam_files
file start from start_file
output:
file "*" into p_site_channel
file "*psite1nt.txt" into psite1nt_channel
script:
"""
/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${bam.baseName} -s /Ribowave/scripts
"""
}
/*
* Ribowave :
* Inputs : fastq files
* Inputs : fasta files
* Output : bam files
*/
params.gtf = "/media/manu/ManuDisque/gencode/gencode.v28.annotation.gtf"
params.genome = "/media/manu/ManuDisque/gencode/GRCh38.p12.genome.fa"
params.bam = ""
params.jobname = ""
log.info "gtf file : ${params.gtf}"
log.info "genome fasta file : ${params.genome}"
log.info "bam file(s) : ${params.bam}"
log.info "job name : ${params.jobname}"
Channel
.fromPath( params.gtf )
.ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
.set { gtf_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
.set { genome_file }
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
process create_annot {
publishDir "results/ribowave/gtf27/annot", mode: 'copy'
input:
file gtf from gtf_file
file genome from genome_file
output:
file "*" into annot_file_save
file "start_codon.bed" into annot_file
script:
"""
/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome} -o ./ -s /Ribowave/scripts
"""
}
process determination_P_site {
publishDir "results/ribowave/gtf27/deter_P_site", mode: 'copy'
input:
file bam from bam_files
file start from annot_file
output:
file "*" into p_site_channel
script:
"""
/Ribowave/scripts/P-site_determination.sh -i ${bam} -S ${start} -o ./ -n ${params.jobname} -s /Ribowave/scripts
"""
}
params.gtf = "/media/manu/ManuDisque/gencode/gencode.v28.annotation.gtf"
params.genome = "/media/manu/ManuDisque/gencode/GRCh38.p12.genome.fa"
log.info "gtf file : ${params.gtf}"
log.info "genome fasta file : ${params.genome}"
Channel
.fromPath( params.gtf )
.ifEmpty { error "Cannot find any fasta files matching: ${params.gtf}" }
.set { gtf_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any fasta files matching: ${params.genome}" }
.set { genome_file }
process create_annot {
publishDir "results/ribowave/", mode: 'copy'
input:
file gtf from gtf_file
file genome from genome_file
output:
file "*" into annot_file
script:
"""
mkdir annotation
/Ribowave/scripts/create_annotation.sh -G ${gtf} -f ${genome} -o annotation -s /Ribowave/scripts
"""
}
params.bam = ""
params.exon = ""
params.genome = ""
params.jobname = ""
params.p_site = ""
log.info "bam file(s) : ${params.bam}"
log.info "exon file : ${params.exon}"
log.info "genome file : ${params.genome}"
log.info "job name : ${params.jobname}"
log.info "job name : ${params.p_site}"
Channel
.fromPath( params.bam )
.ifEmpty { error "Cannot find any fastq files matching: ${params.bam}" }
.set { bam_files }
Channel
.fromPath( params.exon )
.ifEmpty { error "Cannot find any index files matching: ${params.exon}" }
.set { exon_file }
Channel
.fromPath( params.genome )
.ifEmpty { error "Cannot find any index files matching: ${params.genome}" }
.set { genome_file }
Channel
.fromPath( params.p_site )
.ifEmpty { error "Cannot find any index files matching: ${params.p_site}" }
.set { p_site_file }
process determination_P_site {
publishDir "results/ribowave/track_P_site", mode: 'copy'
input:
file bam from bam_files
file exon from exon_file
file genome from genome_file
file p_site from p_site_file
output:
file "*" into det_p_site_channel
script:
"""
/Ribowave/scripts/create_track_Ribo.sh -i ${bam} -G ${exon} -g ${genome} -P ${p_site} -o ./ -n ${params.jobname} -s /Ribowave/scripts
"""
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment