Skip to content

Commit

Permalink
adding SciServer image commits
Browse files Browse the repository at this point in the history
  • Loading branch information
tmehoke committed Dec 15, 2020
1 parent 01fb6ad commit a604198
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 63 deletions.
69 changes: 21 additions & 48 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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/
Expand All @@ -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
13 changes: 2 additions & 11 deletions bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 3 additions & 1 deletion pipeline.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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
Expand Down
4 changes: 1 addition & 3 deletions src/ivar.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit a604198

Please sign in to comment.