JWS-122 Added a Dockerfile and some container image specific Executable.properties.
authorFábio Madeira <fmmarquesmadeira@dundee.ac.uk>
Mon, 26 Jun 2017 14:46:02 +0000 (15:46 +0100)
committerFábio Madeira <fmmarquesmadeira@dundee.ac.uk>
Mon, 26 Jun 2017 14:46:02 +0000 (15:46 +0100)
docker/Dockerfile [new file with mode: 0644]
docker/Executable.properties [new file with mode: 0644]

diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644 (file)
index 0000000..816b3a8
--- /dev/null
@@ -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 (file)
index 0000000..217b19f
--- /dev/null
@@ -0,0 +1,198 @@
+###########################################################################################
+#                                                                                         #
+#            THIS IS JABAWS EXECUTABLE CONFIGURATION FILE                                 #
+#                                                                                         #
+###########################################################################################
+
+### Properties supported by executables.
+### <execname> 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.<execname>.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.<execname>.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.<execname>.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.
+# <execname>.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.
+# <execname>.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.
+# <execname>.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.
+# <execname>.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;
+# <execname>.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.<execname>.bin,
+## local.<execname>.bin.windows properties are optional for these, if not
+## provided they will be replaced to the java executable path from JAVA_HOME
+## environmental variable.
+#<execname>.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