diff --git a/bin/run-vcfmix.py b/bin/run-vcfmix.py index 13cb9d5..4368a9c 100755 --- a/bin/run-vcfmix.py +++ b/bin/run-vcfmix.py @@ -12,7 +12,7 @@ def go(vcf_file): v = lineageScan() # assuming postfix of ".minos.vcf" - sampleid = vcf_file.replace(".minos.vcf", "") + sampleid = vcf_file.replace("_allelic_depth.minos.vcf", "") print(sampleid) res = v.parse(vcffile=vcf_file, sample_id=sampleid) diff --git a/config/containers.config b/config/containers.config index 7e44b62..383c4ed 100644 --- a/config/containers.config +++ b/config/containers.config @@ -33,10 +33,10 @@ process { } withLabel:clockwork { - container = "quay.io/pathogen-genomics-cymru/clockwork:0.9.9" + container = "quay.io/pathogen-genomics-cymru/clockwork:0.9.9r1" } withLabel:vcfpredict { - container = "quay.io/pathogen-genomics-cymru/vcfpredict:0.9.9" + container = "quay.io/pathogen-genomics-cymru/vcfpredict:0.9.9r1" } } diff --git a/docker/Dockerfile.clockwork-0.9.9r1 b/docker/Dockerfile.clockwork-0.9.9r1 new file mode 100644 index 0000000..af6fe38 --- /dev/null +++ b/docker/Dockerfile.clockwork-0.9.9r1 @@ -0,0 +1,131 @@ +FROM ubuntu:focal + + +LABEL maintainer="pricea35@cardiff.ac.uk" \ +about.summary="container for the clockwork workflow" + +ENV samtools_version=1.12 \ +htslib_version=1.12 \ +bcftools_version=1.12 \ +minimap2_version=2.17 \ +picard_version=2.18.16 \ +gramtools_version=8af53f6c8c0d72ef95223e89ab82119b717044f2 \ +vt_version=2187ff6347086e38f71bd9f8ca622cd7dcfbb40c \ +minos_version=0.11.0 \ +cortex_version=3a235272e4e0121be64527f01e73f9e066d378d3 \ +vcftools_version=0.1.15 \ +mccortex_version=97aba198d632ee98ac1aa496db33d1a7a8cb7e51 \ +stampy_version=1.0.32r3761 \ +python_version=3.6.5 \ +clockwork_version=2364dec4cbf25c844575e19e8fe0a319d10721b5 \ +gatk_version=4.6.0.0 + +ENV PACKAGES="procps curl git build-essential wget zlib1g-dev pkg-config jq r-base-core rsync autoconf libncurses-dev libbz2-dev liblzma-dev libcurl4-openssl-dev cmake tabix libvcflib-tools libssl-dev software-properties-common perl locales locales-all" \ +PYTHON="python2.7 python-dev" + +COPY bin/ /opt/bin/ +ENV PATH=/opt/bin:$PATH + +RUN apt-get update \ +&& DEBIAN_FRONTEND=noninteractive apt-get install -y $PACKAGES $PYTHON \ +&& curl -fsSL https://www.python.org/ftp/python/${python_version}/Python-${python_version}.tgz | tar -xz \ +&& cd Python-${python_version} \ +&& ./configure --enable-optimizations \ +&& make altinstall \ +&& cd .. \ +&& ln -s /usr/local/bin/python3.6 /usr/local/bin/python3 \ +&& ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip3 \ +&& pip3 install --upgrade pip \ +&& pip3 install 'cluster_vcf_records==0.13.1' pysam setuptools awscli \ +&& apt-get update + +#update jdk +RUN wget https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz +RUN tar -xvf openjdk-18_linux-x64_bin.tar.gz +RUN mv jdk-18* /opt/ +ENV JAVA_HOME=/opt/jdk-18 +ENV PATH=$PATH:$JAVA_HOME/bin + + +RUN curl -fsSL https://github.com/samtools/samtools/archive/${samtools_version}.tar.gz | tar -xz \ +&& curl -fsSL https://github.com/samtools/htslib/releases/download/${htslib_version}/htslib-${htslib_version}.tar.bz2 | tar -xj \ +&& make -C samtools-${samtools_version} -j HTSDIR=../htslib-${htslib_version} \ +&& make -C samtools-${samtools_version} -j HTSDIR=../htslib-${htslib_version} prefix=/usr/local install \ +&& rm -r samtools-${samtools_version} \ +&& curl -fsSL https://github.com/samtools/bcftools/archive/refs/tags/${bcftools_version}.tar.gz | tar -xz \ +&& make -C bcftools-${bcftools_version} -j HTSDIR=../htslib-${htslib_version} \ +&& make -C bcftools-${bcftools_version} -j HTSDIR=../htslib-${htslib_version} prefix=/usr/local install \ +&& rm -r bcftools-${bcftools_version} + + +RUN curl -fsSL minimap2-${minimap2_version}.tar.gz https://github.com/lh3/minimap2/archive/v${minimap2_version}.tar.gz | tar -xz \ +&& cd minimap2-${minimap2_version} \ +&& make \ +&& chmod +x minimap2 \ +&& mv minimap2 /usr/local/bin \ +&& cd .. \ +&& rm -r minimap2-${minimap2_version} \ +&& wget https://github.com/broadinstitute/picard/releases/download/${picard_version}/picard.jar -O /usr/local/bin/picard.jar + + +RUN git clone https://github.com/atks/vt.git vt-git \ +&& cd vt-git \ +&& git checkout ${vt_version} \ +&& make \ +&& cd .. \ +&& mv vt-git/vt /usr/local/bin \ +&& pip3 install tox "six>=1.14.0" \ +&& git clone https://github.com/iqbal-lab-org/gramtools \ +&& cd gramtools \ +&& git checkout ${gramtools_version} \ +&& pip3 install . \ +&& cd .. \ +&& pip3 install cython \ +&& pip3 install git+https://github.com/iqbal-lab-org/minos@v${minos_version} + + +RUN git clone --recursive https://github.com/iqbal-lab/cortex.git \ +&& cd cortex \ +&& git checkout ${cortex_version} \ +&& bash install.sh \ +&& make NUM_COLS=1 cortex_var \ +&& make NUM_COLS=2 cortex_var \ +&& cd .. \ +&& mkdir bioinf-tools \ +&& cd bioinf-tools \ +&& curl -fsSL http://www.well.ox.ac.uk/~gerton/software/Stampy/stampy-${stampy_version}.tgz | tar -xz \ +&& make -C stampy-* \ +&& cp -s stampy-*/stampy.py . \ +&& curl -fsSL https://github.com/vcftools/vcftools/releases/download/v${vcftools_version}/vcftools-${vcftools_version}.tar.gz | tar -xz \ +&& cd vcftools-${vcftools_version} \ +&& ./configure --prefix $PWD/install \ +&& make && make install \ +&& ln -s src/perl/ . \ +&& cd .. \ +&& git clone --recursive https://github.com/mcveanlab/mccortex \ +&& cd mccortex \ +&& git checkout ${mccortex_version} \ +&& make all \ +&& cd .. \ +&& cp -s mccortex/bin/mccortex31 . \ +&& cd .. \ +&& git clone https://github.com/iqbal-lab-org/clockwork \ +&& cd clockwork \ +&& git checkout ${clockwork_version} \ +&& cd python \ +&& pip3 install . \ +&& chmod +x scripts/clockwork + +RUN wget https://github.com/broadinstitute/gatk/releases/download/${gatk_version}/gatk-${gatk_version}.zip -O /tmp/gatk-${gatk_version}.zip\ + && unzip /tmp/gatk-${gatk_version}.zip -d /opt/ \ + && rm /tmp/gatk-${gatk_version}.zip -f + +ENV CLOCKWORK_CORTEX_DIR=/cortex \ +PATH=${PATH}:/clockwork/python/scripts:/opt/gatk-${gatk_version} \ +PICARD_JAR=/usr/local/bin/picard.jar + +ENV LC_ALL en_US.UTF-8 \ +LANG en_US.UTF-8 \ +LANGUAGE en_US.UTF-8 + + diff --git a/docker/Dockerfile.vcfpredict-0.9.9r1 b/docker/Dockerfile.vcfpredict-0.9.9r1 new file mode 100644 index 0000000..4d34444 --- /dev/null +++ b/docker/Dockerfile.vcfpredict-0.9.9r1 @@ -0,0 +1,27 @@ +FROM ubuntu:20.04 + +LABEL maintainer="pricea35@cardiff.ac.uk" \ +about.summary="container for the vcf predict workflow" + +#add run-vcf to container +COPY bin/ /opt/bin/ +ENV PATH=/opt/bin:$PATH + +ENV PACKAGES="procps curl wget git build-essential libhdf5-dev libffi-dev r-base-core jq" \ +PYTHON="python3 python3-pip python3-dev" + +ENV vcfmix_version=d4693344bf612780723e39ce27c8ae3868f95417 + +#apt updates +RUN apt-get update \ +&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata \ +&& apt-get install -y $PACKAGES $PYTHON \ +&& apt-get install -y python3-packaging \ +&& git clone https://github.com/whalleyt/VCFMIX.git \ +&& cd VCFMIX \ +&& git checkout ${vcfmix_version} \ +&& pip3 install recursive_diff \ +&& pip3 install awscli \ +&& pip3 install . \ +&& cp -r data /usr/local/lib/python3.8/dist-packages \ +&& cd ..