|
| 1 | +FROM ubuntu:jammy as app |
| 2 | + |
| 3 | +ARG VIGOR4_VER='4.1.20200702' |
| 4 | +ARG VIGOR4_COMMIT='23852472af871b6c05bd5abf2022d140b9cecd3b' |
| 5 | +ARG VIGOR4_DB_COMMIT='390582955049b9ddc989510672fbde90cf3387c7' |
| 6 | + |
| 7 | +LABEL base.image="ubuntu:jammy" |
| 8 | +LABEL container.version="1" |
| 9 | +LABEL dockerfile.version="1" |
| 10 | +LABEL software="VIGOR4" |
| 11 | +LABEL software.version="${VIGOR4_VER}" |
| 12 | +LABEL description="VIGOR - Viral Genome ORF Reader" |
| 13 | +LABEL website="https://github.com/JCVenterInstitute/VIGOR4" |
| 14 | +LABEL lisence="https://github.com/JCVenterInstitute/VIGOR4/blob/master/LICENSE.txt" |
| 15 | +LABEL maintainer="Erin Young" |
| 16 | +LABEL maintainer.email="eriny@utah.gov" |
| 17 | + |
| 18 | +RUN apt-get update && apt-get -y upgrade && apt-get -y --no-install-recommends install \ |
| 19 | + exonerate \ |
| 20 | + maven \ |
| 21 | + openjdk-11-jre-headless \ |
| 22 | + unzip \ |
| 23 | + wget && \ |
| 24 | + apt-get autoclean && \ |
| 25 | + rm -rf /var/lib/apt/lists/* |
| 26 | + |
| 27 | +#get VIGOR4 |
| 28 | +RUN wget -q https://github.com/JCVenterInstitute/VIGOR4/archive/${VIGOR4_COMMIT}.zip && \ |
| 29 | + unzip ${VIGOR4_COMMIT}.zip && \ |
| 30 | + mv VIGOR4-${VIGOR4_COMMIT} /VIGOR4 && \ |
| 31 | + rm ${VIGOR4_COMMIT}.zip && \ |
| 32 | + cd /VIGOR4 && \ |
| 33 | + mvn -DskipTests clean package && \ |
| 34 | + unzip /VIGOR4/target/vigor-${VIGOR4_VER}.zip && \ |
| 35 | + rm /VIGOR4/target/vigor-${VIGOR4_VER}.zip && \ |
| 36 | + # create temp directory |
| 37 | + mkdir -p /VIGOR4/tmp/vigor-temp && \ |
| 38 | + # make executable |
| 39 | + chmod 777 -R /VIGOR4/vigor-${VIGOR4_VER}/bin/vigor4 && \ |
| 40 | + #set paths for refs, exonerate, and tmp directory in the config file |
| 41 | + cd /VIGOR4/vigor-${VIGOR4_VER}/config && \ |
| 42 | + (echo "\nreference_database_path=/VIGOR_DB/Reference_DBs/\nexonerate_path=/usr/bin/exonerate\ntemporary_directory=/VIGOR4/tmp/vigor-temp\n" > vigor.ini) |
| 43 | + |
| 44 | +#get databases |
| 45 | +RUN wget -q https://github.com/JCVenterInstitute/VIGOR_DB/archive/${VIGOR4_DB_COMMIT}.zip && \ |
| 46 | + unzip ${VIGOR4_DB_COMMIT}.zip && \ |
| 47 | + rm ${VIGOR4_DB_COMMIT}.zip && \ |
| 48 | + mv VIGOR_DB-${VIGOR4_DB_COMMIT} /VIGOR_DB |
| 49 | + |
| 50 | +#set paths |
| 51 | +ENV PATH="/usr/bin/exonerate:/VIGOR_DB/Reference_DBs:/VIGOR4/vigor-${VIGOR4_VER}/bin/:$PATH"\ |
| 52 | + LC_ALL=C |
| 53 | + |
| 54 | +CMD vigor4 -h |
| 55 | + |
| 56 | +RUN mkdir /data |
| 57 | +WORKDIR /data |
| 58 | + |
| 59 | +# testing stage |
| 60 | +FROM app as test |
| 61 | + |
| 62 | +WORKDIR /test |
| 63 | + |
| 64 | +# checking help and version |
| 65 | +RUN vigor4 -h && vigor4 --version |
| 66 | + |
| 67 | +# list databases |
| 68 | +RUN ls /VIGOR_DB/Reference_DBs | grep -v ini |
| 69 | + |
| 70 | +# running on test files |
| 71 | +RUN vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/rtva/rtva.ungapped.fasta -o test_rtva_db -d /VIGOR_DB/Reference_DBs/rtva_db && \ |
| 72 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/rtvb/rtvb.ungapped.fasta -o test_rtvb_db -d /VIGOR_DB/Reference_DBs/rtvb_db && \ |
| 73 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/rtvc/rtvc.ungapped.fasta -o test_rtvc_db -d /VIGOR_DB/Reference_DBs/rtvc_db && \ |
| 74 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/rtvf/rtvf.ungapped.fasta -o test_rtvf_db -d /VIGOR_DB/Reference_DBs/rtvf_db && \ |
| 75 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/rtvg/rtvg.ungapped.fasta -o test_rtvg_db -d /VIGOR_DB/Reference_DBs/rtvg_db && \ |
| 76 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/sapo/sapo.ungapped.fasta -o test_sapo_db -d /VIGOR_DB/Reference_DBs/sapo_db && \ |
| 77 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/wnvI/wnvI.ungapped.fasta -o test_wnvI_db -d /VIGOR_DB/Reference_DBs/wnvI_db && \ |
| 78 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/wnvII/wnvII.ungapped.fasta -o test_wnvII_db -d /VIGOR_DB/Reference_DBs/wnvII_db && \ |
| 79 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/zikv/zikv.ungapped.fasta -o test_zikv_db -d /VIGOR_DB/Reference_DBs/zikv_db && \ |
| 80 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/flua/flua.ungapped.fasta -o test_flua_db -d /VIGOR_DB/Reference_DBs/flua_db && \ |
| 81 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/flub/flub.ungapped.fasta -o test_flub_db -d /VIGOR_DB/Reference_DBs/flub_db && \ |
| 82 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/fluc/fluc.ungapped.fasta -o test_fluc_db -d /VIGOR_DB/Reference_DBs/fluc_db && \ |
| 83 | + vigor4 -i /VIGOR4/src/test/resources/vigor4ReferenceOutput/veev/veev.ungapped.fasta -o test_veev_db -d /VIGOR_DB/Reference_DBs/veev_db && \ |
| 84 | + head test*.tbl |
0 commit comments