From 9b22bce16d9fdb57693066500327ab25c5b5f7da Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Tue, 24 Apr 2018 17:55:05 +0200 Subject: [PATCH 01/12] WIP: Bioconda environment file. --- Dockerfile | 162 +++------------------------------------------- Dockerfile_manual | 150 ++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + environment.yml | 46 +++++++++++++ 4 files changed, 205 insertions(+), 154 deletions(-) create mode 100644 Dockerfile_manual create mode 100644 environment.yml diff --git a/Dockerfile b/Dockerfile index edadfef5..a04c03ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,154 +1,8 @@ -FROM openjdk:8 - -LABEL author="Phil Ewels" \ - description="Docker image containing all requirements for nf-core/ChIPseq pipeline" \ - maintainer="phil.ewels@scilifelab.se" - -# Install container-wide requrements gcc, pip, zlib, libssl, make, libncurses, fortran77, g++, R -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - g++ \ - gawk \ - gcc \ - gfortran \ - libboost-all-dev \ - libbz2-dev \ - libcurl4-openssl-dev \ - libdbd-mysql \ - libgsl0-dev \ - liblzma-dev \ - libmariadb-client-lgpl-dev \ - libncurses5-dev \ - libpcre3-dev \ - libreadline-dev \ - libssl-dev \ - libxml2-dev \ - make \ - python-dev \ - zlib1g-dev \ - && rm -rf /var/lib/apt/lists/* - -# Use gawk instead of awk (needed for phantompeakqualtools) -RUN update-alternatives --set awk /usr/bin/gawk - -# Install pip -RUN curl -fsSL https://bootstrap.pypa.io/get-pip.py -o /opt/get-pip.py && \ - python /opt/get-pip.py && \ - rm /opt/get-pip.py - -# Install FastQC -ENV FASTQC_BIN="fastqc_v0.11.5.zip" -RUN curl -fsSL http://www.bioinformatics.babraham.ac.uk/projects/fastqc/$FASTQC_BIN -o /opt/$FASTQC_BIN && \ - unzip /opt/$FASTQC_BIN -d /opt/ && \ - chmod 755 /opt/FastQC/fastqc && \ - ln -s /opt/FastQC/fastqc /usr/local/bin/fastqc && \ - rm /opt/$FASTQC_BIN - -# Install cutadapt -RUN pip install cutadapt - -# Install TrimGalore -ENV TRIMGALORE_VERSION="0.4.5" -RUN curl -fsSL https://github.com/FelixKrueger/TrimGalore/archive/${TRIMGALORE_VERSION}.tar.gz -o /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz && \ - tar xvzf /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz -C /opt/ && \ - ln -s /opt/TrimGalore-${TRIMGALORE_VERSION}/trim_galore /usr/local/bin/trim_galore && \ - rm /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz - -# Install BWA -ENV BWA_VERSION="0.7.15" -RUN curl -fsSL https://downloads.sourceforge.net/project/bio-bwa/bwa-${BWA_VERSION}.tar.bz2 -o /opt/bwa-${BWA_VERSION}.tar.bz2 && \ - tar xvjf /opt/bwa-${BWA_VERSION}.tar.bz2 -C /opt/ && \ - cd /opt/bwa-${BWA_VERSION};make && \ - ln -s /opt/bwa-${BWA_VERSION}/bwa /usr/local/bin/bwa && \ - rm /opt/bwa-${BWA_VERSION}.tar.bz2 - -# Install SAMTools -ENV SAMTOOLS_VERSON="1.6" -RUN curl -fsSL https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSON}/samtools-${SAMTOOLS_VERSON}.tar.bz2 -o /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 && \ - tar xvjf /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 -C /opt/ && \ - cd /opt/samtools-${SAMTOOLS_VERSON};make;make install && \ - rm /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 - -# Install PicardTools -ENV PICARD_VERSION="picard-tools-2.0.1" -RUN curl -fsSL https://github.com/broadinstitute/picard/releases/download/2.0.1/${PICARD_VERSION}.zip -o /opt/${PICARD_VERSION}.zip && \ - unzip /opt/${PICARD_VERSION}.zip -d /opt/ && \ - rm /opt/${PICARD_VERSION}.zip -ENV PICARD_HOME /opt/${PICARD_VERSION} - -# Install BEDTools -ENV BEDTOOLS_VERSION="bedtools-2.26.0" -RUN curl -fsSL https://github.com/arq5x/bedtools2/releases/download/v2.26.0/${BEDTOOLS_VERSION}.tar.gz -o /opt/${BEDTOOLS_VERSION}.tar.gz && \ - tar xvzf /opt/${BEDTOOLS_VERSION}.tar.gz -C /opt/ && \ - cd /opt/bedtools2; make && \ - cp /opt/bedtools2/bin/* /usr/local/bin/ && \ - rm /opt/${BEDTOOLS_VERSION}.tar.gz - -# Install R -ENV R_VERSION="R-3.4.2" -RUN curl -fsSL https://cran.r-project.org/src/base/R-3/${R_VERSION}.tar.gz -o /opt/${R_VERSION}.tar.gz && \ - tar xvzf /opt/${R_VERSION}.tar.gz -C /opt/ && \ - cd /opt/${R_VERSION};./configure;make;make install && \ - rm /opt/${R_VERSION}.tar.gz - -# Install core R dependencies -RUN echo "r <- getOption('repos'); r['CRAN'] <- 'https://ftp.acc.umu.se/mirror/CRAN/'; options(repos = r);" > ~/.Rprofile && \ - Rscript -e "install.packages('caTools',dependencies=TRUE)" && \ - Rscript -e "install.packages('snow',dependencies=TRUE)" && \ - Rscript -e "install.packages('doMC',dependencies=TRUE)" && \ - Rscript -e "install.packages('utils',dependencies=TRUE)" && \ - Rscript -e "install.packages('stringr',dependencies=TRUE)" && \ - Rscript -e "install.packages('markdown',dependencies=TRUE)" && \ - Rscript -e "install.packages('evaluate',dependencies=TRUE)" && \ - Rscript -e "install.packages('ggplot2',dependencies=TRUE)" && \ - Rscript -e "install.packages('knitr',dependencies=TRUE)" && \ - Rscript -e "install.packages('RMySQL',dependencies=TRUE)" - -# Install R Bioconductor packages -RUN echo 'source("https://bioconductor.org/biocLite.R")' > /opt/packages.r && \ - echo 'biocLite()' >> /opt/packages.r && \ - echo 'biocLite(c("BSgenome", "Rsamtools", "ShortRead", "GenomicRanges", "GenomicFeatures", "ensembldb", "ChIPpeakAnno", "biomaRt", "rtracklayer", "BSgenome.Hsapiens.UCSC.hg19", "org.Hs.eg.db", "BSgenome.Mmusculus.UCSC.mm10", "org.Mm.eg.db"))' >> /opt/packages.r && \ - Rscript /opt/packages.r && \ - mkdir /usr/local/lib/R/site-library - -# Install phantompeakqualtools -ENV SPP_VERSION="1.15" -ENV PHANTOMPEAKQUALTOOLS_VERSION="v.1.1" -RUN curl -fsSL https://github.com/hms-dbmi/spp/archive/${SPP_VERSION}.tar.gz -o /opt/SPP_${SPP_VERSION}.tar.gz && \ - Rscript -e "install.packages('/opt/SPP_${SPP_VERSION}.tar.gz',dependencies=TRUE)" && \ - rm /opt/SPP_${SPP_VERSION}.tar.gz && \ - curl -fsSL https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/phantompeakqualtools/ccQualityControl.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz -o /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz && \ - tar xvzf /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz -C /opt/ && \ - chmod 755 /opt/phantompeakqualtools/* && \ - echo 'alias run_spp.R="Rscript /opt/phantompeakqualtools/run_spp.R"' >> ~/.bashrc && \ - rm /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz -ENV PATH=${PATH}:/opt/phantompeakqualtools - -# Install DeepTools -ENV DEEPTOOLS_VERSION="2.5.4" -RUN pip install git+git://github.com/fidelram/deepTools.git@$DEEPTOOLS_VERSION - -# Install ngsplot -ENV NGSPLOT_VERSION="2.63" -RUN curl -fsSL https://github.com/shenlab-sinai/ngsplot/archive/${NGSPLOT_VERSION}.tar.gz -o /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz && \ - tar xvzf /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -C /opt/ && \ - rm /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -ENV PATH=${PATH}:/opt/ngsplot-${NGSPLOT_VERSION}/bin -ENV NGSPLOT=/opt/ngsplot-${NGSPLOT_VERSION}/ -RUN curl -fsSL https://export.uppmax.uu.se/b2013064/test-data/nfcore-chipseq_test_set.tar.bz2 -o /opt/nfcore-chipseq_test_set.tar.bz2 && \ - tar xvjf /opt/nfcore-chipseq_test_set.tar.bz2 -C /opt/ && \ - echo y | ngsplotdb.py install /opt/nfcore-chipseq_test_set/ngsplotdb_mm10_75_3.00.tar.gz && \ - echo y | ngsplotdb.py install /opt/nfcore-chipseq_test_set/ngsplotdb_hg19_75_3.00.tar.gz && \ - rm /opt/nfcore-chipseq_test_set.tar.bz2 && \ - rm -rf /opt/nfcore-chipseq_test_set - -# Install MACS -RUN pip install MACS2 - -# Install MultiQC -ENV MULTIQC_VERSION="v1.4" -RUN pip install git+git://github.com/ewels/MultiQC.git@$MULTIQC_VERSION - -# Create root directories for UPPMAX and c3se hebbe -RUN mkdir /pica /lupus /crex1 /crex2 /proj /scratch /sw \ - /c3se /local /apps +FROM nfcore/base +MAINTAINER Phil Ewels +LABEL authors="phil.ewels@scilifelab.se" \ + description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" + +COPY environment.yml / +RUN conda env create -f /environment.yml && conda clean -a +ENV PATH /opt/conda/envs/nfcore-chipseq-1.4dev/bin:$PATH diff --git a/Dockerfile_manual b/Dockerfile_manual new file mode 100644 index 00000000..b44d42f6 --- /dev/null +++ b/Dockerfile_manual @@ -0,0 +1,150 @@ +FROM openjdk:8 + +LABEL author="Phil Ewels" \ + description="Docker image containing all requirements for nf-core/ChIPseq pipeline" \ + maintainer="phil.ewels@scilifelab.se" + +# Install container-wide requrements gcc, pip, zlib, libssl, make, libncurses, fortran77, g++, R +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + g++ \ + gawk \ + gcc \ + gfortran \ + libboost-all-dev \ + libbz2-dev \ + libcurl4-openssl-dev \ + libdbd-mysql \ + libgsl0-dev \ + liblzma-dev \ + libmariadb-client-lgpl-dev \ + libncurses5-dev \ + libpcre3-dev \ + libreadline-dev \ + libssl-dev \ + libxml2-dev \ + make \ + python-dev \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +# Use gawk instead of awk (needed for phantompeakqualtools) +RUN update-alternatives --set awk /usr/bin/gawk + +# Install pip +RUN curl -fsSL https://bootstrap.pypa.io/get-pip.py -o /opt/get-pip.py && \ + python /opt/get-pip.py && \ + rm /opt/get-pip.py + +# Install FastQC +ENV FASTQC_BIN="fastqc_v0.11.5.zip" +RUN curl -fsSL http://www.bioinformatics.babraham.ac.uk/projects/fastqc/$FASTQC_BIN -o /opt/$FASTQC_BIN && \ + unzip /opt/$FASTQC_BIN -d /opt/ && \ + chmod 755 /opt/FastQC/fastqc && \ + ln -s /opt/FastQC/fastqc /usr/local/bin/fastqc && \ + rm /opt/$FASTQC_BIN + +# Install cutadapt +RUN pip install cutadapt + +# Install TrimGalore +ENV TRIMGALORE_VERSION="0.4.5" +RUN curl -fsSL https://github.com/FelixKrueger/TrimGalore/archive/${TRIMGALORE_VERSION}.tar.gz -o /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz && \ + tar xvzf /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz -C /opt/ && \ + ln -s /opt/TrimGalore-${TRIMGALORE_VERSION}/trim_galore /usr/local/bin/trim_galore && \ + rm /opt/trimgalore_${TRIMGALORE_VERSION}.tar.gz + +# Install BWA +ENV BWA_VERSION="0.7.15" +RUN curl -fsSL https://downloads.sourceforge.net/project/bio-bwa/bwa-${BWA_VERSION}.tar.bz2 -o /opt/bwa-${BWA_VERSION}.tar.bz2 && \ + tar xvjf /opt/bwa-${BWA_VERSION}.tar.bz2 -C /opt/ && \ + cd /opt/bwa-${BWA_VERSION};make && \ + ln -s /opt/bwa-${BWA_VERSION}/bwa /usr/local/bin/bwa && \ + rm /opt/bwa-${BWA_VERSION}.tar.bz2 + +# Install SAMTools +ENV SAMTOOLS_VERSON="1.6" +RUN curl -fsSL https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSON}/samtools-${SAMTOOLS_VERSON}.tar.bz2 -o /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 && \ + tar xvjf /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 -C /opt/ && \ + cd /opt/samtools-${SAMTOOLS_VERSON};make;make install && \ + rm /opt/samtools-${SAMTOOLS_VERSON}.tar.bz2 + +# Install PicardTools +ENV PICARD_VERSION="picard-tools-2.0.1" +RUN curl -fsSL https://github.com/broadinstitute/picard/releases/download/2.0.1/${PICARD_VERSION}.zip -o /opt/${PICARD_VERSION}.zip && \ + unzip /opt/${PICARD_VERSION}.zip -d /opt/ && \ + rm /opt/${PICARD_VERSION}.zip +ENV PICARD_HOME /opt/${PICARD_VERSION} + +# Install BEDTools +ENV BEDTOOLS_VERSION="bedtools-2.26.0" +RUN curl -fsSL https://github.com/arq5x/bedtools2/releases/download/v2.26.0/${BEDTOOLS_VERSION}.tar.gz -o /opt/${BEDTOOLS_VERSION}.tar.gz && \ + tar xvzf /opt/${BEDTOOLS_VERSION}.tar.gz -C /opt/ && \ + cd /opt/bedtools2; make && \ + cp /opt/bedtools2/bin/* /usr/local/bin/ && \ + rm /opt/${BEDTOOLS_VERSION}.tar.gz + +# Install R +ENV R_VERSION="R-3.4.2" +RUN curl -fsSL https://cran.r-project.org/src/base/R-3/${R_VERSION}.tar.gz -o /opt/${R_VERSION}.tar.gz && \ + tar xvzf /opt/${R_VERSION}.tar.gz -C /opt/ && \ + cd /opt/${R_VERSION};./configure;make;make install && \ + rm /opt/${R_VERSION}.tar.gz + +# Install core R dependencies +RUN echo "r <- getOption('repos'); r['CRAN'] <- 'https://ftp.acc.umu.se/mirror/CRAN/'; options(repos = r);" > ~/.Rprofile && \ + Rscript -e "install.packages('caTools',dependencies=TRUE)" && \ + Rscript -e "install.packages('snow',dependencies=TRUE)" && \ + Rscript -e "install.packages('doMC',dependencies=TRUE)" && \ + Rscript -e "install.packages('utils',dependencies=TRUE)" && \ + Rscript -e "install.packages('stringr',dependencies=TRUE)" && \ + Rscript -e "install.packages('markdown',dependencies=TRUE)" && \ + Rscript -e "install.packages('evaluate',dependencies=TRUE)" && \ + Rscript -e "install.packages('ggplot2',dependencies=TRUE)" && \ + Rscript -e "install.packages('knitr',dependencies=TRUE)" && \ + Rscript -e "install.packages('RMySQL',dependencies=TRUE)" + +# Install R Bioconductor packages +RUN echo 'source("https://bioconductor.org/biocLite.R")' > /opt/packages.r && \ + echo 'biocLite()' >> /opt/packages.r && \ + echo 'biocLite(c("BSgenome", "Rsamtools", "ShortRead", "GenomicRanges", "GenomicFeatures", "ensembldb", "ChIPpeakAnno", "biomaRt", "rtracklayer", "BSgenome.Hsapiens.UCSC.hg19", "org.Hs.eg.db", "BSgenome.Mmusculus.UCSC.mm10", "org.Mm.eg.db"))' >> /opt/packages.r && \ + Rscript /opt/packages.r && \ + mkdir /usr/local/lib/R/site-library + +# Install phantompeakqualtools +ENV SPP_VERSION="1.15" +ENV PHANTOMPEAKQUALTOOLS_VERSION="v.1.1" +RUN curl -fsSL https://github.com/hms-dbmi/spp/archive/${SPP_VERSION}.tar.gz -o /opt/SPP_${SPP_VERSION}.tar.gz && \ + Rscript -e "install.packages('/opt/SPP_${SPP_VERSION}.tar.gz',dependencies=TRUE)" && \ + rm /opt/SPP_${SPP_VERSION}.tar.gz && \ + curl -fsSL https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/phantompeakqualtools/ccQualityControl.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz -o /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz && \ + tar xvzf /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz -C /opt/ && \ + chmod 755 /opt/phantompeakqualtools/* && \ + echo 'alias run_spp.R="Rscript /opt/phantompeakqualtools/run_spp.R"' >> ~/.bashrc && \ + rm /opt/phantompeakqualtools.${PHANTOMPEAKQUALTOOLS_VERSION}.tar.gz +ENV PATH=${PATH}:/opt/phantompeakqualtools + +# Install DeepTools +ENV DEEPTOOLS_VERSION="2.5.4" +RUN pip install git+git://github.com/fidelram/deepTools.git@$DEEPTOOLS_VERSION + +# Install ngsplot +ENV NGSPLOT_VERSION="2.63" +RUN curl -fsSL https://github.com/shenlab-sinai/ngsplot/archive/${NGSPLOT_VERSION}.tar.gz -o /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz && \ + tar xvzf /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -C /opt/ && \ + rm /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz +ENV PATH=${PATH}:/opt/ngsplot-${NGSPLOT_VERSION}/bin +ENV NGSPLOT=/opt/ngsplot-${NGSPLOT_VERSION}/ +RUN curl -fsSL https://export.uppmax.uu.se/b2013064/test-data/nfcore-chipseq_test_set.tar.bz2 -o /opt/nfcore-chipseq_test_set.tar.bz2 && \ + tar xvjf /opt/nfcore-chipseq_test_set.tar.bz2 -C /opt/ && \ + echo y | ngsplotdb.py install /opt/nfcore-chipseq_test_set/ngsplotdb_mm10_75_3.00.tar.gz && \ + echo y | ngsplotdb.py install /opt/nfcore-chipseq_test_set/ngsplotdb_hg19_75_3.00.tar.gz && \ + rm /opt/nfcore-chipseq_test_set.tar.bz2 && \ + rm -rf /opt/nfcore-chipseq_test_set + +# Install MACS +RUN pip install MACS2 + +# Install MultiQC +ENV MULTIQC_VERSION="v1.4" +RUN pip install git+git://github.com/ewels/MultiQC.git@$MULTIQC_VERSION diff --git a/README.md b/README.md index dfcd54fe..4980831f 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A50.27.6-brightgreen.svg)](https://www.nextflow.io/) [![Gitter](https://img.shields.io/badge/gitter-%20join%20chat%20%E2%86%92-4fb99a.svg)](https://gitter.im/nf-core/Lobby) +[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](http://bioconda.github.io/) [![Docker Container available](https://img.shields.io/docker/automated/nfcore/chipseq.svg)](https://hub.docker.com/r/nfcore/chipseq/) ![Singularity Container available]( https://img.shields.io/badge/singularity-available-7E4C74.svg) diff --git a/environment.yml b/environment.yml new file mode 100644 index 00000000..ab8ac6a1 --- /dev/null +++ b/environment.yml @@ -0,0 +1,46 @@ +# You can use this file to create a conda environment for this pipeline: +# conda env create -f environment.yml +name: nfcore-chipseq-1.4dev +channels: + - bioconda + - conda-forge + - defaults +dependencies: + - conda-forge::openjdk=8.0.144 # Needed for FastQC - conda build hangs without this + - fastqc=0.11.7 + - trim-galore=0.4.5 + - bwa=0.7.17 + - conda-forge::r-markdown=0.8 + - bioconda::r-spp=1.15.2 + - bedtools=2.27.1 + - samtools=1.8 + - picard=2.18.2 + - deeptools=3.0.2 + - macs2=2.1.1 + - multiqc=1.5 + +# TODO: +# - phantompeakqualtools +# - R: caTools +# - R: snow +# - R: doMC +# - R: utils +# - R: stringr +# - R: markdown +# - R: evaluate +# - R: ggplot2 +# - R: knitr +# - R: RMySQL +# - Bioconductor: BSgenome +# - Bioconductor: Rsamtools +# - Bioconductor: ShortRead +# - Bioconductor: GenomicRanges +# - Bioconductor: GenomicFeatures +# - Bioconductor: ensembldb +# - Bioconductor: ChIPpeakAnno +# - Bioconductor: biomaRt +# - Bioconductor: rtracklayer +# - Bioconductor: BSgenome.Hsapiens.UCSC.hg19 +# - Bioconductor: org.Hs.eg.db +# - Bioconductor: BSgenome.Mmusculus.UCSC.mm10 +# - Bioconductor: org.Mm.eg.db From c6449242da02757a87f4ec50f76407984c939dc5 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Wed, 16 May 2018 22:47:39 +0200 Subject: [PATCH 02/12] Updated Environment YAML - that should do the trick ;-) --- environment.yml | 50 ++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/environment.yml b/environment.yml index ab8ac6a1..3c4b710f 100644 --- a/environment.yml +++ b/environment.yml @@ -18,29 +18,33 @@ dependencies: - deeptools=3.0.2 - macs2=2.1.1 - multiqc=1.5 + - conda-forge::r-catools=1.17.1 + - conda-forge::r-snow=0.4 + - conda-forge::r-rutils=2.6.0 + - conda-forge::r-stringr=1.3.0 + - conda-forge::r-markdown-feedstock=0.8 + - conda-forge::r-evaluate=0.10.1 + - conda-forge::r-domc-feedstock=1.3.5 + - conda-forge::r-ggplot2-feedstock=2.2.1 + - conda-forge::r-knitr-feedstock=1.20 + - conda-forge::r-rmysql-feedstock=0.10.13 + - bioconda::bioconductor-bsgenome=1.46.0 + - bioconda::bioconductor-rsamtools=1.30.0 + - bioconda::bioconductor-shortread=1.36.0 + - bioconda::bioconductor-genomicranges=1.28.6 + - bioconda::bioconductor-genomicfeatures=1.30.3 + - bioconda::bioconductor-ensembldb=2.2.2 + - bioconda::bioconductor-chippeakanno=3.12.0 + - bioconda::bioconductor-biomart=2.34.2 + - bioconda::bioconductor-rtracklayer=1.38.3 + - bioconda::bioconductor-bsgenome.hsapiens.ucsc.hg19=1.4.0 + - bioconda::bioconductor-org.hs.eg.db=3.5.0 + - bioconda::bioconductor-bsgenome.mmusculus.ucsc.mm10=1.4.0 + - bioconda::bioconductor-org.mm.eg.db=3.5.0 + + # TODO: + + # - phantompeakqualtools -# - R: caTools -# - R: snow -# - R: doMC -# - R: utils -# - R: stringr -# - R: markdown -# - R: evaluate -# - R: ggplot2 -# - R: knitr -# - R: RMySQL -# - Bioconductor: BSgenome -# - Bioconductor: Rsamtools -# - Bioconductor: ShortRead -# - Bioconductor: GenomicRanges -# - Bioconductor: GenomicFeatures -# - Bioconductor: ensembldb -# - Bioconductor: ChIPpeakAnno -# - Bioconductor: biomaRt -# - Bioconductor: rtracklayer -# - Bioconductor: BSgenome.Hsapiens.UCSC.hg19 -# - Bioconductor: org.Hs.eg.db -# - Bioconductor: BSgenome.Mmusculus.UCSC.mm10 -# - Bioconductor: org.Mm.eg.db From 20a1cf86cc0a5513ff4f9706410dbf2258ec0249 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Thu, 17 May 2018 14:24:17 +0200 Subject: [PATCH 03/12] Added r-spp to environment.yaml file --- environment.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/environment.yml b/environment.yml index 3c4b710f..73956901 100644 --- a/environment.yml +++ b/environment.yml @@ -41,10 +41,4 @@ dependencies: - bioconda::bioconductor-org.hs.eg.db=3.5.0 - bioconda::bioconductor-bsgenome.mmusculus.ucsc.mm10=1.4.0 - bioconda::bioconductor-org.mm.eg.db=3.5.0 - - - -# TODO: - - -# - phantompeakqualtools + - bioconda::r-spp=1.15.2 \ No newline at end of file From 910d21bd6db9534ed3f1487fa9560e8fc01ee01c Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Thu, 17 May 2018 14:26:32 +0200 Subject: [PATCH 04/12] Cleaned package names in docker file --- environment.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/environment.yml b/environment.yml index 73956901..5a78a312 100644 --- a/environment.yml +++ b/environment.yml @@ -20,14 +20,14 @@ dependencies: - multiqc=1.5 - conda-forge::r-catools=1.17.1 - conda-forge::r-snow=0.4 - - conda-forge::r-rutils=2.6.0 + - conda-forge::r-r.utils=2.6.0 - conda-forge::r-stringr=1.3.0 - - conda-forge::r-markdown-feedstock=0.8 + - conda-forge::r-markdown=0.8 - conda-forge::r-evaluate=0.10.1 - - conda-forge::r-domc-feedstock=1.3.5 - - conda-forge::r-ggplot2-feedstock=2.2.1 - - conda-forge::r-knitr-feedstock=1.20 - - conda-forge::r-rmysql-feedstock=0.10.13 + - conda-forge::r-domc=1.3.5 + - conda-forge::r-ggplot2=2.2.1 + - conda-forge::r-knitr=1.20 + - conda-forge::r-rmysql=0.10.13 - bioconda::bioconductor-bsgenome=1.46.0 - bioconda::bioconductor-rsamtools=1.30.0 - bioconda::bioconductor-shortread=1.36.0 From 63e6f26f1464cca5b4b71c64d8b740598c3e98b7 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Thu, 17 May 2018 14:29:51 +0200 Subject: [PATCH 05/12] DeepTools requires pysam >=0.14.1 which requires samtools 1.7 --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 5a78a312..2a347278 100644 --- a/environment.yml +++ b/environment.yml @@ -13,7 +13,7 @@ dependencies: - conda-forge::r-markdown=0.8 - bioconda::r-spp=1.15.2 - bedtools=2.27.1 - - samtools=1.8 + - samtools=1.7 - picard=2.18.2 - deeptools=3.0.2 - macs2=2.1.1 From f640572e55bbcecefeb575e5fcc1729a6aeb7615 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Thu, 17 May 2018 14:39:28 +0200 Subject: [PATCH 06/12] INstalls just fine :-) --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 2a347278..e7d4bef6 100644 --- a/environment.yml +++ b/environment.yml @@ -31,7 +31,7 @@ dependencies: - bioconda::bioconductor-bsgenome=1.46.0 - bioconda::bioconductor-rsamtools=1.30.0 - bioconda::bioconductor-shortread=1.36.0 - - bioconda::bioconductor-genomicranges=1.28.6 + - bioconda::bioconductor-genomicranges=1.30.3 - bioconda::bioconductor-genomicfeatures=1.30.3 - bioconda::bioconductor-ensembldb=2.2.2 - bioconda::bioconductor-chippeakanno=3.12.0 From 08900e504a47a2796bb2f6cbe9a84ca7c0a1dc94 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Thu, 17 May 2018 14:51:51 +0200 Subject: [PATCH 07/12] Doublechecked tool names and corrected some --- main.nf | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main.nf b/main.nf index e2ac1dbd..f61b9daf 100755 --- a/main.nf +++ b/main.nf @@ -2,7 +2,7 @@ /* ======================================================================================== - NGI C H I P - S E Q B E S T P R A C T I C E + C H I P - S E Q B E S T P R A C T I C E ======================================================================================== ChIP-seq Best Practice Analysis Pipeline. Started May 2016. #### Homepage / Documentation @@ -10,6 +10,7 @@ @#### Authors Chuan Wang Phil Ewels + Alex Peltzer ---------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------- Pipeline overview: @@ -239,7 +240,7 @@ log.info "====================================" // Check that Nextflow version is up to date enough // try / throw / catch works for NF versions < 0.25 when this was implemented -nf_required_version = '0.25.0' +nf_required_version = '0.28.0' try { if( ! nextflow.version.matches(">= $nf_required_version") ){ throw GroovyException('Nextflow version too old') @@ -467,7 +468,7 @@ process picard { } } """ - java -Xmx${avail_mem}m -jar \$PICARD_HOME/picard.jar MarkDuplicates \\ + picard MarkDuplicates \\ INPUT=$bam \\ OUTPUT=${prefix}.dedup.bam \\ ASSUME_SORTED=true \\ @@ -506,6 +507,7 @@ process countstat { /* * STEP 6.1 Phantompeakqualtools + * TODO: The "run_spp.R" script is still missing here! */ process phantompeakqualtools { @@ -663,6 +665,7 @@ process deepTools { /* * STEP 8 Ngsplot + * TODO ngs.plot.R is missing too! */ process ngsplot { From ba92e30f2e0714a892a0f68a8415cd50ac2b62c1 Mon Sep 17 00:00:00 2001 From: Tiago C Silva Date: Sun, 27 May 2018 13:28:05 -0300 Subject: [PATCH 08/12] phantompeakqualtools fixed, installing ngsplot genomes, fixing deepTools --- Dockerfile | 33 ++++++++++++++++++++++++++++++--- environment.yml | 3 ++- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index a04c03ce..baed06ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,35 @@ FROM nfcore/base MAINTAINER Phil Ewels -LABEL authors="phil.ewels@scilifelab.se" \ - description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" + LABEL authors="phil.ewels@scilifelab.se" \ +description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" COPY environment.yml / -RUN conda env create -f /environment.yml && conda clean -a + RUN conda update -n base conda +RUN conda update --all +RUN conda env update -n root --file environment.yml && conda clean -a ENV PATH /opt/conda/envs/nfcore-chipseq-1.4dev/bin:$PATH + +ENV NGSPLOT_VERSION="2.63" +RUN curl -fsSL https://github.com/shenlab-sinai/ngsplot/archive/${NGSPLOT_VERSION}.tar.gz -o /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz && \ + tar xvzf /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -C /opt/ && \ + rm /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz +ENV PATH=${PATH}:/opt/ngsplot-${NGSPLOT_VERSION}/bin +ENV NGSPLOT=/opt/ngsplot-${NGSPLOT_VERSION}/ + +RUN wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6SURYWW5XdUxnbW8" -O ngsplotdb_hg19_75_3.00.tar.gz && \ + echo y | ngsplotdb.py install ngsplotdb_hg19_75_3.00.tar.gz && \ + rm -rf ngsplotdb_hg19_75_3.00.tar.gz && \ + wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6S3E4dVprdlF2YW8" -O ngsplotdb_hg38_76_3.00.tar.gz && \ + echo y | ngsplotdb.py install ngsplotdb_hg38_76_3.00.tar.gz && \ + rm -rf ngsplotdb_hg38_76_3.00.tar.gz && \ + wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6NXNzNjZveXdadU0" -O ngsplotdb_mm10_75_3.00.tar.gz && \ + echo y | ngsplotdb.py install ngsplotdb_mm10_75_3.00.tar.gz && \ + rm -rf ngsplotdb_mm10_75_3.00.tar.gz + +RUN git clone https://github.com/kundajelab/phantompeakqualtools && \ + mv phantompeakqualtools /opt/ && \ + echo 'library(caTools)' | cat - /opt/phantompeakqualtools/run_spp.R > temp && mv temp /opt/phantompeakqualtools/run_spp.R && \ + chmod 755 /opt/phantompeakqualtools/* && \ + echo 'alias run_spp.R="Rscript /opt/phantompeakqualtools/run_spp.R"' >> ~/.bashrc +ENV PATH=${PATH}:/opt/phantompeakqualtools + diff --git a/environment.yml b/environment.yml index e7d4bef6..f1d4c070 100644 --- a/environment.yml +++ b/environment.yml @@ -10,6 +10,7 @@ dependencies: - fastqc=0.11.7 - trim-galore=0.4.5 - bwa=0.7.17 + - conda-forge::gawk=4.2.1 - conda-forge::r-markdown=0.8 - bioconda::r-spp=1.15.2 - bedtools=2.27.1 @@ -41,4 +42,4 @@ dependencies: - bioconda::bioconductor-org.hs.eg.db=3.5.0 - bioconda::bioconductor-bsgenome.mmusculus.ucsc.mm10=1.4.0 - bioconda::bioconductor-org.mm.eg.db=3.5.0 - - bioconda::r-spp=1.15.2 \ No newline at end of file + - deeptools=3.0.2 From 3a95ca40b8641e1ade870ef9dd1e70c44af64090 Mon Sep 17 00:00:00 2001 From: Tiago C Silva Date: Sun, 27 May 2018 13:46:06 -0300 Subject: [PATCH 09/12] fix identing --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index c1c07880..f905ddcb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ FROM nfcore/base MAINTAINER Phil Ewels - LABEL authors="phil.ewels@scilifelab.se" \ -description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" +LABEL authors="phil.ewels@scilifelab.se" \ + description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" COPY environment.yml / - RUN conda update -n base conda +RUN conda update -n base conda RUN conda update --all RUN conda env update -n root --file environment.yml && conda clean -a ENV PATH /opt/conda/envs/nfcore-chipseq-1.4dev/bin:$PATH From 5326b6d6a5312fd29c6b1b864cdfad6d9b474093 Mon Sep 17 00:00:00 2001 From: Tiago C Silva Date: Mon, 28 May 2018 11:12:39 -0300 Subject: [PATCH 10/12] fixing arguemnt for bamCoverage --- main.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.nf b/main.nf index f61b9daf..ceed11ff 100755 --- a/main.nf +++ b/main.nf @@ -597,7 +597,7 @@ process deepTools { bamCoverage \\ -b $bam \\ --extendReads ${params.extendReadsLen} \\ - --normalizeUsingRPKM \\ + --normalizeUsing RPKM \\ -o ${bam}.bw """ } else { @@ -619,7 +619,7 @@ process deepTools { bamCoverage \\ -b \$bamfile \\ --extendReads ${params.extendReadsLen} \\ - --normalizeUsingRPKM \\ + --normalizeUsing RPKM \\ -o \${bamfile}.bw done From 1837e0215314b9b5548a5b57f2ebc8e771f75707 Mon Sep 17 00:00:00 2001 From: Tiago Chedraoui Silva Date: Tue, 29 May 2018 10:30:11 -0300 Subject: [PATCH 11/12] Adding doparallel to docker for improvement in bin/post_peak_calling_processing.r --- environment.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index c99c5d60..6263efe9 100644 --- a/environment.yml +++ b/environment.yml @@ -29,6 +29,7 @@ dependencies: - conda-forge::r-ggplot2=2.2.1 - conda-forge::r-knitr=1.20 - conda-forge::r-rmysql=0.10.13 + - conda-forge::r-doparallel=1.0.11 - bioconda::bioconductor-bsgenome=1.46.0 - bioconda::bioconductor-rsamtools=1.30.0 - bioconda::bioconductor-shortread=1.36.0 @@ -43,4 +44,4 @@ dependencies: - bioconda::bioconductor-bsgenome.mmusculus.ucsc.mm10=1.4.0 - bioconda::bioconductor-org.mm.eg.db=3.5.0 - deeptools=3.0.2 - - bioconda::r-spp=1.15.2 \ No newline at end of file + - bioconda::r-spp=1.15.2 From 314ba215f6506978de1383c679f2a32a4c13e80a Mon Sep 17 00:00:00 2001 From: Tiago Chedraoui Silva Date: Wed, 30 May 2018 09:34:49 -0300 Subject: [PATCH 12/12] Revert docker file --- Dockerfile | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/Dockerfile b/Dockerfile index b1b2e017..303dd2c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,31 +4,5 @@ LABEL authors="phil.ewels@scilifelab.se" \ description="Docker image containing all requirements for the nfcore/ChIPseq pipeline" COPY environment.yml / -RUN conda update -n base conda -RUN conda update --all -RUN conda env update -n root --file environment.yml && conda clean -a -ENV PATH /opt/conda/envs/nfcore-chipseq-1.4dev/bin:$PATH - -ENV NGSPLOT_VERSION="2.63" -RUN curl -fsSL https://github.com/shenlab-sinai/ngsplot/archive/${NGSPLOT_VERSION}.tar.gz -o /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz && \ - tar xvzf /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -C /opt/ && \ - rm /opt/ngsplot_${NGSPLOT_VERSION}.tar.gz -ENV PATH=${PATH}:/opt/ngsplot-${NGSPLOT_VERSION}/bin -ENV NGSPLOT=/opt/ngsplot-${NGSPLOT_VERSION}/ - -RUN wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6SURYWW5XdUxnbW8" -O ngsplotdb_hg19_75_3.00.tar.gz && \ - echo y | ngsplotdb.py install ngsplotdb_hg19_75_3.00.tar.gz && \ - rm -rf ngsplotdb_hg19_75_3.00.tar.gz && \ - wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6S3E4dVprdlF2YW8" -O ngsplotdb_hg38_76_3.00.tar.gz && \ - echo y | ngsplotdb.py install ngsplotdb_hg38_76_3.00.tar.gz && \ - rm -rf ngsplotdb_hg38_76_3.00.tar.gz && \ - wget "https://drive.google.com/uc?export=download&id=0B5hDZ2BucCI6NXNzNjZveXdadU0" -O ngsplotdb_mm10_75_3.00.tar.gz && \ - echo y | ngsplotdb.py install ngsplotdb_mm10_75_3.00.tar.gz && \ - rm -rf ngsplotdb_mm10_75_3.00.tar.gz - -RUN git clone https://github.com/kundajelab/phantompeakqualtools && \ - mv phantompeakqualtools /opt/ && \ - echo 'library(caTools)' | cat - /opt/phantompeakqualtools/run_spp.R > temp && mv temp /opt/phantompeakqualtools/run_spp.R && \ - chmod 755 /opt/phantompeakqualtools/* && \ - echo 'alias run_spp.R="Rscript /opt/phantompeakqualtools/run_spp.R"' >> ~/.bashrc -ENV PATH=${PATH}:/opt/phantompeakqualtools \ No newline at end of file +RUN conda env create -f /environment.yml && conda clean -a +ENV PATH /opt/conda/envs/nfcore-chipseq-1.4dev/bin:$PATH \ No newline at end of file