-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1105 from Kincekara/quast
adds quast 5.3.0
- Loading branch information
Showing
2 changed files
with
143 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
ARG QUAST_VER="5.3.0" | ||
|
||
## Builder ## | ||
FROM ubuntu:focal as builder | ||
|
||
ARG QUAST_VER | ||
|
||
# define timezone to avoid build stalls | ||
ENV TZ=America/New_York | ||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | ||
|
||
RUN apt-get update && apt-get install --no-install-recommends -y \ | ||
wget \ | ||
python2 \ | ||
perl \ | ||
cpanminus \ | ||
g++ \ | ||
make \ | ||
openjdk-8-jre-headless \ | ||
r-base \ | ||
pkg-config \ | ||
libfreetype6-dev \ | ||
libpng-dev \ | ||
libboost-all-dev \ | ||
locales &&\ | ||
locale-gen en_US.UTF-8 &&\ | ||
cpanm Time::HiRes &&\ | ||
apt-get autoclean &&\ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# python dependencies | ||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python2 1 &&\ | ||
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py && python get-pip.py &&\ | ||
pip install --no-cache matplotlib simplejson joblib | ||
|
||
# install quast | ||
RUN wget https://github.com/ablab/quast/releases/download/quast_${QUAST_VER}/quast-${QUAST_VER}.tar.gz && \ | ||
tar -xzf quast-${QUAST_VER}.tar.gz && \ | ||
rm -rf quast-${QUAST_VER}.tar.gz && \ | ||
cd /quast-${QUAST_VER} && \ | ||
./setup.py install | ||
|
||
# add GRIDSS for SV detection | ||
ADD https://github.com/ablab/quast/raw/master/external_tools/gridss/gridss-1.4.1.jar /quast-${QUAST_VER}/quast_libs/gridss/ | ||
|
||
## App ## | ||
FROM ubuntu:jammy as app | ||
|
||
ARG QUAST_VER | ||
|
||
LABEL base.image="ubuntu:jammy" | ||
LABEL dockerfile.version="1" | ||
LABEL software="QUAST" | ||
LABEL software.version=${QUAST_VER} | ||
LABEL description="Genome assembly evaluation tool" | ||
LABEL website="https://github.com/ablab/quast" | ||
LABEL license="https://github.com/ablab/quast/blob/master/LICENSE.txt" | ||
LABEL maintainer="Curtis Kapsak" | ||
LABEL maintainer.email="pjx8@cdc.gov" | ||
LABEL maintainer2="Kutluhan Incekara" | ||
LABEL maintainer2.email="kutluhan.incekara@ct.gov" | ||
|
||
# define timezone to avoid build stalls | ||
ENV TZ=America/New_York | ||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone | ||
|
||
# install only necessary programs and libraries to run quast | ||
RUN apt-get update && apt-get install --no-install-recommends -y \ | ||
wget \ | ||
python3 \ | ||
python3-matplotlib \ | ||
perl \ | ||
openjdk-8-jre-headless \ | ||
r-base \ | ||
libidn12 \ | ||
locales &&\ | ||
locale-gen en_US.UTF-8 &&\ | ||
apt-get autoclean &&\ | ||
rm -rf /var/lib/apt/lists/* &&\ | ||
update-alternatives --install /usr/bin/python python /usr/bin/python3 1 &&\ | ||
ln -s /usr/lib/x86_64-linux-gnu/libidn.so.12 /usr/lib/x86_64-linux-gnu/libidn.so.11 | ||
|
||
# copy quast and compiled tools | ||
COPY --from=builder /quast-${QUAST_VER} /quast-${QUAST_VER} | ||
|
||
ENV LC_ALL=C \ | ||
PATH=$PATH:/quast-${QUAST_VER} | ||
|
||
CMD quast.py --help && quast-lg.py --help && metaquast.py --help | ||
|
||
WORKDIR /data | ||
|
||
## Test ## | ||
FROM app as test | ||
# test quast | ||
RUN quast.py --test-sv && mv ./quast_test_output/ ./quast_test_sv_output/ | ||
# test quast-lg | ||
RUN quast-lg.py --test && mv ./quast_test_output/ ./quast_test_lg_output/ | ||
# test metaquast | ||
RUN metaquast.py --test-no-ref | ||
# check logs | ||
RUN tail -n5 ./quast_test_sv_output/quast.log &&\ | ||
tail -n5 ./quast_test_lg_output/quast.log &&\ | ||
tail -n5 ./quast_test_output/metaquast.log | ||
|
||
# Note: libidn is required for makeblastdb. libidn.so.11 symlink is a temporary patch for this version. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# QUAST container | ||
|
||
Main tool: [QUAST](https://github.com/ablab/quast) | ||
|
||
Code repository: https://github.com/ablab/quast | ||
|
||
Additional tools: | ||
- gridss: 1.4.1 | ||
|
||
|
||
Basic information on how to use this tool: | ||
- executable: quast.py | ||
- help: --help | ||
- version: --version | ||
- description: Genome assembly evaluation tool | ||
|
||
Additional information: | ||
|
||
You may need a license key if you want to use GeneMark with Quast!<br> | ||
This key can be downloaded from http://exon.gatech.edu/GeneMark/license_download.cgi page (GeneMark is free for non-commercial use). | ||
You should choose GeneMarkS-T LINUX 64. Download your license key and add it to your data folder or another folder you will bind to the container. Inside the container, copy the key to your home folder. | ||
``` | ||
cp /data/gm_key_64 ~/.gm_key | ||
``` | ||
Full documentation: https://quast.sourceforge.net/docs/manual.html | ||
|
||
## Example Usage | ||
|
||
```bash | ||
# basic statistics without reference | ||
quast.py contigs.fasta | ||
# genome evaluation with reference | ||
quast.py contigs.fasta -r reference.fasta.gz -g genes.gff | ||
# metagenomic assemblies | ||
metaquast.py contigs_1 contigs_2 ... -r reference_1,reference_2,reference_3,... | ||
``` |