Skip to content

Commit

Permalink
new vcf mix to deal with minos style
Browse files Browse the repository at this point in the history
  • Loading branch information
WhalleyT committed Sep 18, 2024
1 parent 690a443 commit f2b61d6
Show file tree
Hide file tree
Showing 4 changed files with 161 additions and 3 deletions.
2 changes: 1 addition & 1 deletion bin/run-vcfmix.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions config/containers.config
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
131 changes: 131 additions & 0 deletions docker/Dockerfile.clockwork-0.9.9r1
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
FROM ubuntu:focal


LABEL maintainer="[email protected]" \
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


27 changes: 27 additions & 0 deletions docker/Dockerfile.vcfpredict-0.9.9r1
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
FROM ubuntu:20.04

LABEL maintainer="[email protected]" \
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 ..

0 comments on commit f2b61d6

Please sign in to comment.