diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..e806df88b5abe2cbac1093faa8df1394fb8ffa30 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,67 @@ +##### BASE ##### +FROM rocker/r-ver:4.2.1 + +##### METADATA ##### +MAINTAINER zavolab-biozentrum@unibas.ch +LABEL base.image="rocker/r-ver:4.2.1" +LABEL version="1" +LABEL software="ascii_alignment_pileup.R" +LABEL software.version="1.0.1" +LABEL software.description="Generates an ASCII-style pileup of read alignments in one or more BAM files against one or more regions specified in a BED file" +LABEL software.website="https://git.scicore.unibas.ch/zavolan_group/tools/ascii-alignment-pileup" +LABEL software.documentation="https://git.scicore.unibas.ch/zavolan_group/tools/ascii-alignment-pileup" +LABEL software.license="https://spdx.org/licenses/Apache-2.0" +LABEL software.tags="bioinformatics" +LABEL maintainer="zavolab-biozentrum@unibas.ch" +LABEL maintainer.organisation="Biozentrum, University of Basel" +LABEL maintainer.location="Spitalstrasse 41, CH-4056 Basel, Switzerland" +LABEL maintainer.lab="Zavolab" +LABEL maintainer.license="https://spdx.org/licenses/Apache-2.0" + +##### INSTALL ##### +RUN \ + apt-get update -y \ + && apt-get install -y --no-install-recommends \ + apt-transport-https \ + curl \ + libbamtools-dev \ + libbz2-dev \ + libcurl4-gnutls-dev \ + liblzma-dev \ + libssl-dev \ + libxml2-dev \ + software-properties-common \ + zlib1g-dev \ + && apt-get autoremove -y \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +RUN \ + install2.r \ + --error \ + --skipinstalled \ + -r "https://cran.rstudio.com" \ + -r "http://www.bioconductor.org/packages/release/bioc" \ + -r "https://bioconductor.org/packages/3.15/data/annotation" \ + optparse \ + rtracklayer \ + && rm -rf /tmp/downloaded_packages/ + +##### VARIABLES ##### +ARG WORKDIR="/home/bioc/" +ARG USER="bioc" +ARG GROUP="bioc" +ENV PATH="${WORKDIR}:${PATH}" + +##### COPY ##### +COPY ./ascii_alignment_pileup.R ${WORKDIR} +COPY ./tests ${WORKDIR}/tests + +##### USER ##### +RUN groupadd -r ${GROUP} && useradd --no-log-init -r -g ${GROUP} ${USER} + +##### ENVIRONMENT ##### +WORKDIR ${WORKDIR} +RUN chown -R ${USER}:${GROUP} ${WORKDIR} \ + && chmod 700 ${WORKDIR} +USER ${USER} + diff --git a/README.md b/README.md index 8dd3711a33661be4280e0218795a41775d7bf56a..6f0038523f0524a6ff9bf34f7d0ec8d9b58c4983 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,17 @@ ascii_alignment_pileup.R [-hv] [OPTIONS] bed bam [bam2 ...] ## Requirements -* R 3.6.0 -* GenomicAlignments 1.20.0 -* optparse 1.6.2 -* rtracklayer 1.44.0 -* tools 3.6.0 +* `R` 3.6.0 / 4.2.1 +* `optparse` 1.6.2 / 1.7.1 +* `rtracklayer` 1.44.0 / 1.56.1 + +The script was successfully tested with the indicated versions. Other versions +may work as well, but have not been tested. + +For convenience, you can build a container with all required software from the +provided `Dockerfile` with `docker build .`. Alternatively, you can also pull a +prebuilt Docker image from +<https://hub.docker.com/repository/docker/zavolab/ascii-alignment-pileup>. ## Input files diff --git a/ascii_alignment_pileup.R b/ascii_alignment_pileup.R index c2b92deaded2112961950edda345c430aa31d236..802b871744552dcbeecce1888df511435fcaa28d 100644 --- a/ascii_alignment_pileup.R +++ b/ascii_alignment_pileup.R @@ -12,33 +12,6 @@ #==================# -#========================# -# SESSION INFO START # -#========================# -# TESTED WITH: -# -# R version 3.6.0 (2019-04-26) -# Platform: x86_64-pc-linux-gnu (64-bit) -# Running under: CentOS Linux 7 (Core) -# -# attached base packages: -# [1] tools stats4 parallel stats graphics grDevices utils -# [8] datasets methods base -# -# other attached packages: -# [1] GenomicAlignments_1.20.0 Rsamtools_2.0.0 -# [3] SummarizedExperiment_1.14.0 DelayedArray_0.10.0 -# [5] BiocParallel_1.18.0 matrixStats_0.54.0 -# [7] Biobase_2.44.0 rtracklayer_1.44.0 -# [9] GenomicRanges_1.36.0 GenomeInfoDb_1.20.0 -# [11] Biostrings_2.52.0 XVector_0.24.0 -# [13] IRanges_2.18.0 S4Vectors_0.22.0 -# [15] BiocGenerics_0.30.0 optparse_1.6.2 -#========================# -# SESSION INFO END # -#========================# - - #==========================# # PRE-REQUISITES START # #==========================# @@ -56,7 +29,7 @@ against one or more regions specified in a BED file.\n" author <- "Author: Alexander Kanitz" affiliation <- "Affiliation: Biozentrum, University of Basel" email <- "Email: alexander.kanitz@alumni.ethz.ch" -version <- "Version: 1.0.1 (29-SEP-2019)" +version <- "Version: 1.0.2" requirements <- c("optparse", "rtracklayer", "GenomicAlignments", "tools") requirements_txt <- paste("Requires:", paste(requirements, collapse=", "), sep=" ") msg <- paste(description, author, affiliation, email, version, requirements_txt, sep="\n")