From a604198b1af916c94948874f3b2dca1a8236baae Mon Sep 17 00:00:00 2001 From: Thomas Mehoke Date: Tue, 15 Dec 2020 11:48:01 -0500 Subject: [PATCH] adding SciServer image commits --- Dockerfile | 69 ++++++++++++++++------------------------------------- bashrc | 13 ++-------- pipeline.sh | 4 +++- src/ivar.sh | 4 +--- 4 files changed, 27 insertions(+), 63 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8a3c414..be063c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,26 +7,11 @@ ENV PATH /opt/conda/bin:$PATH # Make RUN commands use `bash --login` (always source ~/.bashrc on each RUN) SHELL ["/bin/bash", "--login", "-c"] -# configure user/group permissions -# ARG USER_ID -# ARG GROUP_ID -# ARG ENVIRONMENT - -# RUN if [[ $ENVIRONMENT != "WIN" ]]; then addgroup --gid $GROUP_ID user; else addgroup --gid 1000 user; fi -# RUN if [[ $ENVIRONMENT != "WIN" ]]; then adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user; else adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user; fi - # install apt depedencies RUN apt-get update \ - && apt-get install -y git texlive-xetex curl apt-transport-https ca-certificates wget unzip bzip2 \ - && update-ca-certificates - -# install docker for sibling container usage: https://medium.com/@andreacolangelo/sibling-docker-container-2e664858f87a -RUN curl -sSL https://get.docker.com/ | sh \ - && usermod -aG docker root -# && usermod -aG docker user - -# free up space in image -RUN apt-get -qq -y remove curl \ + && mkdir /usr/share/man/man1 \ + && apt-get install --no-install-recommends -y git texlive-xetex apt-transport-https ca-certificates wget unzip bzip2 openjdk-11-jdk-headless \ + && update-ca-certificates \ && apt-get -qq -y autoremove \ && apt-get autoclean \ && rm -rf /var/lib/apt/lists/* /var/log/dpkg.log @@ -36,22 +21,19 @@ RUN conda install -y python=3 \ && conda update -y conda \ && conda clean --all --yes -# configure directory structure exactly as it is on SciServer for ease of transition -WORKDIR /home/idies/workspace/covid19/code - -# link global conda to expected sciserver location -RUN ln -s /opt/conda/ /home/idies/workspace/covid19/miniconda3 - +RUN mkdir /opt/nCovIllumina +WORKDIR /opt/nCovIllumina # clone VCF IGV repo and install local IGV RUN git clone https://github.com/mkirsche/vcfigv \ && wget https://data.broadinstitute.org/igv/projects/downloads/2.8/IGV_2.8.10.zip -P vcfigv \ && unzip -d vcfigv vcfigv/IGV_2.8.10.zip \ - && rm vcfigv/IGV_2.8.10.zip + && rm vcfigv/IGV_2.8.10.zip \ + && git clone --recurse-submodules https://github.com/connor-lab/ncov2019-artic-nf \ + && git clone https://github.com/mkirsche/VariantValidator.git \ + && git clone --recurse-submodules https://github.com/artic-network/artic-ncov2019 \ + && git clone https://github.com/artic-network/primer-schemes -# install nextflow pipeline -WORKDIR /home/idies/workspace/covid19/code/ -RUN git clone --recurse-submodules https://github.com/connor-lab/ncov2019-artic-nf \ - && conda env create -f ncov2019-artic-nf/environments/illumina/environment.yml +RUN conda env create -f ncov2019-artic-nf/environments/illumina/environment.yml # install nextstrain pipeline WORKDIR /home/idies/workspace/covid19/code/ @@ -65,26 +47,17 @@ RUN git clone https://github.com/cov-lineages/pangolin.git \ && conda activate pangolin \ && cd pangolin && python setup.py install -# install pipeline code -# WORKDIR /home/idies/workspace/covid19/code -# RUN git clone --recurse-submodules https://github.com/mkirsche/nCovIllumina -WORKDIR /home/idies/workspace/covid19/code/nCovIllumina -RUN conda install -c bioconda -y nextflow -COPY . . +COPY environment.yml . RUN conda env create -f environment.yml -RUN git clone https://github.com/mkirsche/VariantValidator.git \ - && git clone --recurse-submodules https://github.com/artic-network/artic-ncov2019 \ - && git clone https://github.com/artic-network/primer-schemes -# configure bash environment -ENV PATH="/home/idies/workspace/covid19/code/jdk-14/bin:${PATH}" -RUN cat /home/idies/workspace/covid19/code/nCovIllumina/bashrc >> ~/.bashrc +RUN conda install -c bioconda -y nextflow matplotlib + +COPY . . -# install missing dependencies -RUN source ~/.bashrc \ - && conda activate artic-ncov2019-illumina \ - && conda install -y -c bioconda matplotlib +RUN useradd idies \ + && mkdir -p /home/idies/workspace \ + && chown -R idies:idies /home/idies \ + && chown -R idies:idies /opt/nCovIllumina -# set default working directory -WORKDIR /home/idies/workspace/covid19/code/nCovIllumina -#USER user +COPY bashrc /home/idies/.bashrc +USER idies diff --git a/bashrc b/bashrc index bca0739..6b0da02 100644 --- a/bashrc +++ b/bashrc @@ -21,14 +21,5 @@ source /opt/conda/etc/profile.d/conda.sh conda activate artic-ncov2019-illumina -# compile java libraries -javac "/home/idies/workspace/covid19/code/nCovIllumina/VariantValidator/src"/*.java -javac "/home/idies/workspace/covid19/code/vcfigv/src"/*.java - -# deal with primer scheme rename bugs -#primer_schemes=/home/idies/workspace/covid19/code/nCovIllumina/artic-ncov2019/primer_schemes - -#samtools faidx "$primer_schemes/SARS-CoV-2/V3/nCoV-2019.reference.fasta" -#for f in "$primer_schemes/SARS-CoV-2/V3/"*; do ln -sf "$f" "${f/nCoV-2019/SARS-CoV-2}"; done -#ln -sf "$primer_schemes/SARS-CoV-2" "$primer_schemes/nCoV-2019" -#ln -sf "$primer_schemes" "/home/idies/workspace/covid19/code/nCovIllumina/artic-ncov2019/primer-schemes" +javac "/opt/nCovIllumina/VariantValidator/src"/*.java +javac "/opt/nCovIllumina/vcfigv/src"/*.java diff --git a/pipeline.sh b/pipeline.sh index 90a9629..4b8f93c 100755 --- a/pipeline.sh +++ b/pipeline.sh @@ -10,6 +10,7 @@ else fi # Load parameters from config +source $BINDIR/bashrc source $BINDIR/config/illumina.txt # Set up script parameters based on config setup @@ -63,6 +64,7 @@ then javac $BINDIR/src/ParseIvarConfig.java extraargs=`java -cp $BINDIR/src ParseIvarConfig $BINDIR/config/illumina.txt` echo 'Running ivar' + conda activate artic-ncov2019-illumina $BINDIR/src/ivar.sh $FILTEREDINPUTDIR $extraargs fi @@ -71,7 +73,7 @@ fi ## Call variants # Load necessary conda environment -source /home/idies/workspace/covid19/code/nCovIllumina/bashrc + conda activate ncov_illumina # Call variants diff --git a/src/ivar.sh b/src/ivar.sh index 5259d43..d3a72f7 100755 --- a/src/ivar.sh +++ b/src/ivar.sh @@ -8,6 +8,4 @@ DATADIR=$1 #fi EXTRAARGS=`echo "${@:2}"` echo 'Extra args: ' $EXTRAARGS -source /home/idies/workspace/covid19/code/nCovIllumina/bashrc -conda activate artic-ncov2019-illumina -nextflow run connor-lab/ncov2019-artic-nf --with-docker ncovillumina --illumina --prefix test --directory $DATADIR $EXTRAARGS +nextflow run connor-lab/ncov2019-artic-nf --illumina --prefix test --directory $DATADIR $EXTRAARGS