From be098623d7b5e3624e742cae70614f68770eb652 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fa=CC=81bio=20Madeira?= Date: Mon, 26 Jun 2017 15:46:02 +0100 Subject: [PATCH] JWS-122 Added a Dockerfile and some container image specific Executable.properties. --- docker/Dockerfile | 31 +++++++ docker/Executable.properties | 198 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 229 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/Executable.properties diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..816b3a8 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,31 @@ +### JABAWS 2.2 ### + +FROM tomcat:8.5 + +RUN apt-get update; apt-get -y install g++ && apt-get -y install make && \ + apt-get -y install libargtable2-dev && apt-get -y install gfortran + +RUN wget --no-check-certificate https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz && \ + tar -xzf Python-2.7.13.tgz && cd Python-2.7.13 && ./configure && make && make install + +ENV WAR http://www.compbio.dundee.ac.uk/jabaws22/archive/jabaws.war +RUN wget $WAR -O ./jabaws.war +RUN mkdir -p $CATALINA_HOME/webapps/jabaws +RUN unzip ./jabaws.war -d $CATALINA_HOME/webapps/jabaws + +ENV EXEC http://www.compbio.dundee.ac.uk/jabaws22/archive/docker/Executable.properties +RUN wget $EXEC -O ./Executable.properties +RUN mv ./Executable.properties $CATALINA_HOME/webapps/jabaws/conf/ + +RUN mkdir -p $CATALINA_HOME/webapps/jabaws/jobsout + +WORKDIR $CATALINA_HOME/webapps/jabaws/binaries/src/ + +# compile the binaries +#RUN chmod +x ./compilebin.sh && ./compilebin.sh +RUN chmod +x ./setexecflag.sh && ./setexecflag.sh + +WORKDIR $CATALINA_HOME + +EXPOSE 8080 +CMD ["catalina.sh", "run"] diff --git a/docker/Executable.properties b/docker/Executable.properties new file mode 100644 index 0000000..217b19f --- /dev/null +++ b/docker/Executable.properties @@ -0,0 +1,198 @@ +########################################################################################### +# # +# THIS IS JABAWS EXECUTABLE CONFIGURATION FILE # +# # +########################################################################################### + +### Properties supported by executables. +### is one of the available applications: +### [clustalw, mafft, muscle, propcons, tcoffee, iupred, jronn, globplot, disembl, aacon, jpred] + +### Path to the native executable on Windows must be either absolute, +### or relative to JABAWS web application +# local..bin.windows = binaries/windows/clustalw2.exe + +### Path to the native executable not on Windows (e.g. Linux, Mac) +### must be either absolute, or relative to JABAWS web application +# local..bin = binaries/src/clustalw/src/clustalw2 + +### Path to the native executable on the Cluster (must be accessible from all +### Cluster nodes which will run JABAWS jobs). The path must be absolute. +# cluster..bin = /home/jabaws/binaries/src/clustalw/src/clustalw2 + +### At least one of the path to the native executable should be defined. + +### If an application supports presets, the preset file can have either +### absolute or relative to the JABAWS web application path to the file. +### The file is optional. +# .presets.file = conf/settings/ClustalPresets.xml + +### If an application supports parameters, the parameter file can have either +### absolute or relative to the JABAWS web application path to the file. +### The file is optional. +# .parameters.file = conf/settings/ClustalParameters.xml + +## Application limits, absolute or relative to +## the JABAWS web application path to the file. Optional. +## Use this if you want to limit the size of the job to be accepted by a +## Webservice. The limits files we use in Dundee are provided with JABAWS. +# .limits.file=conf/settings/ClustalLimits.xml + +## Flags passed to the Cluster batch manager for the application. Optional. +## This example sets a maximum execution time to 24 hours and maximum amount of +## memory per task to 6Gb for SGE and OGE Cluster batch managers. +## Please note that all the examples of this parameter below are correct for +## Sun Grid Engine or Open Grid Engine (untested) only! If you use a different +## batch manager you would need to specify different flags. +# .cluster.settings = -l h_cpu=24:00:00 -l h_vmem=6000M -l ram=6000M + +## Environmental variables required by native executables. Optional. +## Format: VARIABLE_NAME1#VARIABLE_VALUE1;VARIABLE_NAME2#VARIABLE_VALUE2; +# .bin.env = MAFFT_BINARIES#binaries/src/mafft/binaries;FASTA_4_MAFFT#binaries/src/fasta34/fasta34; + +## Parameter supported by the executable Jar files, such as jronn and aacon, +## point to the location of the jar file. Also, local..bin, +## local..bin.windows properties are optional for these, if not +## provided they will be replaced to the java executable path from JAVA_HOME +## environmental variable. +#.jar.file = binaries/windows/bj3.0.4p-jronn.jar + +########################################################################################### +# CLUSTAL W CONFIGURATION # +########################################################################################### +local.clustalw.bin.windows = binaries/windows/clustalw2.exe +local.clustalw.bin = binaries/src/clustalw/src/clustalw2 +### This parameters specifies the directory where the matrices files are stored +clustalw.-matrix.path = binaries/matrices +clustalw.presets.file = conf/settings/ClustalPresets.xml +clustalw.parameters.file = conf/settings/ClustalParameters.xml +clustalw.limits.file = conf/settings/ClustalLimits.xml + + +########################################################################################### +# CLUSTAL OMEGA CONFIGURATION # +########################################################################################### +local.clustalo.bin.windows = binaries/windows/clustalo/clustalo.exe +local.clustalo.bin = binaries/src/clustalo/src/clustalo +### This parameters specifies the directory where the matrices files are stored +#clustalo.presets.file = conf/settings/ClustaloPresets.xml +clustalo.parameters.file = conf/settings/ClustaloParameters.xml +clustalo.limits.file = conf/settings/ClustaloLimits.xml + + +########################################################################################### +# MUSCLE CONFIGURATION # +########################################################################################### +local.muscle.bin.windows = binaries/windows/muscle.exe +local.muscle.bin = binaries/src/muscle/muscle +### This parameters specifies the directory where the matrices files are stored +muscle.-matrix.path = binaries/matrices +muscle.presets.file = conf/settings/MusclePresets.xml +muscle.parameters.file = conf/settings/MuscleParameters.xml +muscle.limits.file = conf/settings/MuscleLimits.xml + + +########################################################################################### +# MAFFT CONFIGURATION # +########################################################################################### +local.mafft.bin = binaries/src/mafft/scripts/mafft +# These paths will be converted to absolute if relative. +mafft.bin.env = MAFFT_BINARIES#binaries/src/mafft/binaries;FASTA_4_MAFFT#binaries/src/fasta34/fasta34; +### This parameters specifies the directory where the matrices files are stored +mafft.--aamatrix.path = binaries/matrices +mafft.presets.file = conf/settings/MafftPresets.xml +mafft.parameters.file = conf/settings/MafftParameters.xml +mafft.limits.file = conf/settings/MafftLimits.xml + + + +########################################################################################### +# TCOFFEE CONFIGURATION # +########################################################################################### +local.tcoffee.bin = binaries/src/tcoffee/t_coffee_source/t_coffee.sh +# This variable is required by tcoffee +tcoffee.bin.env = HOME_4_TCOFFEE#jobsout; +tcoffee.presets.file = conf/settings/TcoffeePresets.xml +tcoffee.parameters.file = conf/settings/TcoffeeParameters.xml +tcoffee.limits.file = conf/settings/TcoffeeLimits.xml + + +########################################################################################### +# PROBCONS CONFIGURATION # +########################################################################################### +local.probcons.bin = binaries/src/probcons/probcons +probcons.parameters.file = conf/settings/ProbconsParameters.xml +probcons.limits.file = conf/settings/ProbconsLimits.xml + + +########################################################################################### +# JRONN CONFIGURATION # +########################################################################################### +### If no local path is specified, Java is loaded from JAVA_HOME variable for local execution +### However, cluster.jronn.bin MUST be specified for running Jronn on the Cluster. +#local.jronn.bin.windows = D:\\Java\\jdk1.6.0_24\\bin\\java.exe +local.jronn.bin = /usr/bin/java +jronn.jar.file = binaries/windows/bj3.0.4p-jronn.jar +jronn.limits.file = conf/settings/JronnLimits.xml + + +########################################################################################### +# DISEMBL CONFIGURATION # +########################################################################################### +local.disembl.bin = binaries/src/disembl/DisEMBL.py +disembl.limits.file = conf/settings/DisemblLimits.xml + + +########################################################################################### +# GLOBPLOT CONFIGURATION # +########################################################################################### +local.globplot.bin = binaries/src/globplot/GlobPlot.py +globplot.bin.env = PYTHONPATH#/usr/local/tomcat/webapps/jabaws/binaries/src/globplot/biopython-1.50 +globplot.limits.file = conf/settings/GlobPlotLimits.xml + + +########################################################################################### +# IUPRED CONFIGURATION # +########################################################################################### +#local.iupred.bin.windows = binaries/windows/iupred/iupred.exe +local.iupred.bin = binaries/src/iupred/iupred +### This must point to the directory where iupred binary is, with other files it +### depends on. This path will be converted to absolute if relative at runtime. +iupred.bin.env = IUPred_PATH#binaries/src/iupred +iupred.parameters.file = conf/settings/IUPredParameters.xml +iupred.limits.file = conf/settings/IUPredLimits.xml + + +########################################################################################### +# AACON CONFIGURATION # +########################################################################################### +### This is just a path to the standard java executable +local.aacon.bin = /usr/bin/java +### Path to the AACon library +aacon.jar.file = binaries/windows/compbio-conservation-1.1.jar +aacon.parameters.file = conf/settings/AAConParameters.xml +aacon.presets.file = conf/settings/AAConPresets.xml +aacon.limits.file = conf/settings/AAConLimits.xml + + +########################################################################################### +# RNAALIFOLD CONFIGURATION # +########################################################################################### +local.rnaalifold.bin.windows = binaries/windows/ViennaRNA/RNAalifold.exe +local.rnaalifold.bin = binaries/src/ViennaRNA/Progs/RNAalifold +rnaalifold.parameters.file = conf/settings/RNAalifoldParameters.xml +rnaalifold.limits.file = conf/settings/RNAalifoldLimits.xml + +########################################################################################### +# MSAProbs CONFIGURATION # +########################################################################################### +local.msaprobs.bin = binaries/src/MSAProbs-0.9.7/MSAProbs/msaprobs +msaprobs.parameters.file = conf/settings/MSAprobsParameters.xml +msaprobs.limits.file = conf/settings/MSAprobsLimits.xml + +########################################################################################### +# GLprobs CONFIGURATION # +########################################################################################### +local.glprobs.bin = binaries/src/GLProbs-1.0/glprobs +glprobs.parameters.file = conf/settings/GLprobsParameters.xml +glprobs.limits.file = conf/settings/GLprobsLimits.xml -- 1.7.10.2