From 524d0a2a7b279b3e344aa58ce58b2f94c8fd7e21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?F=C3=A1bio=20Madeira?= Date: Mon, 10 Apr 2017 18:01:06 +0100 Subject: [PATCH] JWS-116 Added the Sphinx generated documentation pages to website/docs. --- website/docs/_images/VMware_booted.png | Bin 0 -> 9498 bytes website/docs/_images/VMware_cpu.png | Bin 0 -> 33013 bytes website/docs/_images/folder-small.png | Bin 0 -> 6092 bytes website/docs/_images/usage_statistics_details.gif | Bin 0 -> 11448 bytes .../docs/_images/usage_statistics_job_details.gif | Bin 0 -> 17499 bytes website/docs/_images/usage_statistics_main.gif | Bin 0 -> 9016 bytes website/docs/_images/usage_statistics_month.gif | Bin 0 -> 27046 bytes website/docs/_images/vm_welcome_screen.png | Bin 0 -> 9481 bytes website/docs/_images/ws-structure.png | Bin 0 -> 19953 bytes website/docs/_sources/advanced.rst.txt | 473 + website/docs/_sources/changelog.rst.txt | 90 + website/docs/_sources/citations.rst.txt | 11 + website/docs/_sources/client.rst.txt | 118 + website/docs/_sources/develop.rst.txt | 635 ++ website/docs/_sources/getting_started.rst.txt | 160 + website/docs/_sources/included_tools.rst.txt | 58 + website/docs/_sources/index.rst.txt | 40 + website/docs/_sources/man/advanced.rst.txt | 471 + website/docs/_sources/man/changelog.rst.txt | 90 + website/docs/_sources/man/citations.rst.txt | 11 + website/docs/_sources/man/client.rst.txt | 106 + website/docs/_sources/man/develop.rst.txt | 625 ++ website/docs/_sources/man/getting_started.rst.txt | 137 + website/docs/_sources/man/included_tools.rst.txt | 58 + website/docs/_sources/man/va.rst.txt | 117 + website/docs/_sources/man/war.rst.txt | 75 + website/docs/_sources/stats.rst.txt | 171 + website/docs/_sources/va.rst.txt | 131 + website/docs/_sources/war.rst.txt | 80 + website/docs/_static/ajax-loader.gif | Bin 0 -> 673 bytes website/docs/_static/basic.css | 632 ++ website/docs/_static/comment-bright.png | Bin 0 -> 756 bytes website/docs/_static/comment-close.png | Bin 0 -> 829 bytes website/docs/_static/comment.png | Bin 0 -> 641 bytes website/docs/_static/css/badge_only.css | 2 + website/docs/_static/css/badge_only.css.map | 7 + website/docs/_static/css/theme.css | 5 + website/docs/_static/css/theme.css.map | 7 + website/docs/_static/doctools.js | 287 + website/docs/_static/down-pressed.png | Bin 0 -> 222 bytes website/docs/_static/down.png | Bin 0 -> 202 bytes website/docs/_static/file.png | Bin 0 -> 286 bytes website/docs/_static/fonts/FontAwesome.otf | Bin 0 -> 124988 bytes website/docs/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes website/docs/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes website/docs/_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes website/docs/_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes website/docs/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes website/docs/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes website/docs/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 76518 bytes website/docs/_static/fonts/fontawesome-webfont.svg | 685 ++ website/docs/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes .../docs/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../docs/_static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes website/docs/_static/jquery-3.1.0.js |10074 ++++++++++++++++++++ website/docs/_static/jquery.js | 4 + website/docs/_static/js/modernizr.min.js | 4 + website/docs/_static/js/theme.js | 169 + website/docs/_static/minus.png | Bin 0 -> 90 bytes website/docs/_static/plus.png | Bin 0 -> 90 bytes website/docs/_static/pygments.css | 69 + website/docs/_static/searchtools.js | 758 ++ website/docs/_static/underscore-1.3.1.js | 999 ++ website/docs/_static/underscore.js | 31 + website/docs/_static/up-pressed.png | Bin 0 -> 214 bytes website/docs/_static/up.png | Bin 0 -> 203 bytes website/docs/_static/websupport.js | 808 ++ website/docs/advanced.html | 629 ++ website/docs/changelog.html | 323 + website/docs/citations.html | 249 + website/docs/client.html | 325 + website/docs/develop.html | 749 ++ website/docs/genindex.html | 235 + website/docs/getting_started.html | 382 + website/docs/included_tools.html | 284 + website/docs/index.html | 359 + website/docs/jabaws_manual.pdf | Bin 0 -> 335556 bytes website/docs/objects.inv | Bin 0 -> 1758 bytes website/docs/search.html | 248 + website/docs/searchindex.js | 1 + website/docs/stats.html | 352 + website/docs/va.html | 330 + website/docs/war.html | 293 + 83 files changed, 22957 insertions(+) create mode 100644 website/docs/_images/VMware_booted.png create mode 100644 website/docs/_images/VMware_cpu.png create mode 100644 website/docs/_images/folder-small.png create mode 100644 website/docs/_images/usage_statistics_details.gif create mode 100644 website/docs/_images/usage_statistics_job_details.gif create mode 100644 website/docs/_images/usage_statistics_main.gif create mode 100644 website/docs/_images/usage_statistics_month.gif create mode 100644 website/docs/_images/vm_welcome_screen.png create mode 100644 website/docs/_images/ws-structure.png create mode 100644 website/docs/_sources/advanced.rst.txt create mode 100644 website/docs/_sources/changelog.rst.txt create mode 100644 website/docs/_sources/citations.rst.txt create mode 100644 website/docs/_sources/client.rst.txt create mode 100644 website/docs/_sources/develop.rst.txt create mode 100644 website/docs/_sources/getting_started.rst.txt create mode 100644 website/docs/_sources/included_tools.rst.txt create mode 100644 website/docs/_sources/index.rst.txt create mode 100644 website/docs/_sources/man/advanced.rst.txt create mode 100644 website/docs/_sources/man/changelog.rst.txt create mode 100644 website/docs/_sources/man/citations.rst.txt create mode 100644 website/docs/_sources/man/client.rst.txt create mode 100644 website/docs/_sources/man/develop.rst.txt create mode 100644 website/docs/_sources/man/getting_started.rst.txt create mode 100644 website/docs/_sources/man/included_tools.rst.txt create mode 100644 website/docs/_sources/man/va.rst.txt create mode 100644 website/docs/_sources/man/war.rst.txt create mode 100644 website/docs/_sources/stats.rst.txt create mode 100644 website/docs/_sources/va.rst.txt create mode 100644 website/docs/_sources/war.rst.txt create mode 100644 website/docs/_static/ajax-loader.gif create mode 100644 website/docs/_static/basic.css create mode 100644 website/docs/_static/comment-bright.png create mode 100644 website/docs/_static/comment-close.png create mode 100644 website/docs/_static/comment.png create mode 100644 website/docs/_static/css/badge_only.css create mode 100644 website/docs/_static/css/badge_only.css.map create mode 100644 website/docs/_static/css/theme.css create mode 100644 website/docs/_static/css/theme.css.map create mode 100644 website/docs/_static/doctools.js create mode 100644 website/docs/_static/down-pressed.png create mode 100644 website/docs/_static/down.png create mode 100644 website/docs/_static/file.png create mode 100644 website/docs/_static/fonts/FontAwesome.otf create mode 100644 website/docs/_static/fonts/Inconsolata-Bold.ttf create mode 100644 website/docs/_static/fonts/Inconsolata-Regular.ttf create mode 100644 website/docs/_static/fonts/Lato-Bold.ttf create mode 100644 website/docs/_static/fonts/Lato-Regular.ttf create mode 100644 website/docs/_static/fonts/RobotoSlab-Bold.ttf create mode 100644 website/docs/_static/fonts/RobotoSlab-Regular.ttf create mode 100644 website/docs/_static/fonts/fontawesome-webfont.eot create mode 100644 website/docs/_static/fonts/fontawesome-webfont.svg create mode 100644 website/docs/_static/fonts/fontawesome-webfont.ttf create mode 100644 website/docs/_static/fonts/fontawesome-webfont.woff create mode 100644 website/docs/_static/fonts/fontawesome-webfont.woff2 create mode 100644 website/docs/_static/jquery-3.1.0.js create mode 100644 website/docs/_static/jquery.js create mode 100644 website/docs/_static/js/modernizr.min.js create mode 100644 website/docs/_static/js/theme.js create mode 100644 website/docs/_static/minus.png create mode 100644 website/docs/_static/plus.png create mode 100644 website/docs/_static/pygments.css create mode 100644 website/docs/_static/searchtools.js create mode 100644 website/docs/_static/underscore-1.3.1.js create mode 100644 website/docs/_static/underscore.js create mode 100644 website/docs/_static/up-pressed.png create mode 100644 website/docs/_static/up.png create mode 100644 website/docs/_static/websupport.js create mode 100644 website/docs/advanced.html create mode 100644 website/docs/changelog.html create mode 100644 website/docs/citations.html create mode 100644 website/docs/client.html create mode 100644 website/docs/develop.html create mode 100644 website/docs/genindex.html create mode 100644 website/docs/getting_started.html create mode 100644 website/docs/included_tools.html create mode 100644 website/docs/index.html create mode 100644 website/docs/jabaws_manual.pdf create mode 100644 website/docs/objects.inv create mode 100644 website/docs/search.html create mode 100644 website/docs/searchindex.js create mode 100644 website/docs/stats.html create mode 100644 website/docs/va.html create mode 100644 website/docs/war.html diff --git a/website/docs/_images/VMware_booted.png b/website/docs/_images/VMware_booted.png new file mode 100644 index 0000000000000000000000000000000000000000..47401981f63d70d12d9e534e739457dad2f4d7a7 GIT binary patch literal 9498 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 TxJUiN3`k8$OR-$u>fOHqWt1Is literal 0 HcmV?d00001 diff --git a/website/docs/_images/VMware_cpu.png b/website/docs/_images/VMware_cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a7901e94c65b5b31563750d33727c1b984c195 GIT binary patch literal 33013 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 literal 0 HcmV?d00001 diff --git a/website/docs/_images/folder-small.png b/website/docs/_images/folder-small.png new file mode 100644 index 0000000000000000000000000000000000000000..1933f17c504ab670d97175aeb5198cd17340af1a GIT binary patch literal 6092 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
  • Dym?#0UwXhHdUy2U~;-i+ZC6xmDLO(GB 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 literal 0 HcmV?d00001 diff --git a/website/docs/_images/usage_statistics_main.gif b/website/docs/_images/usage_statistics_main.gif new file mode 100644 index 0000000000000000000000000000000000000000..d4b680a85a6597b2876ff27972da2ff02a9473a1 GIT binary patch literal 9016 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 literal 0 HcmV?d00001 diff --git a/website/docs/_images/usage_statistics_month.gif b/website/docs/_images/usage_statistics_month.gif new file mode 100644 index 0000000000000000000000000000000000000000..1568a75ca5c8fd6511333a418f94ce2741ef20a8 GIT binary patch literal 27046 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 VEX>19%*AZX$BfL$%nd;R06Qe+4}$;z literal 0 HcmV?d00001 diff --git a/website/docs/_images/vm_welcome_screen.png b/website/docs/_images/vm_welcome_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..274f109edecd7d25fbc2efefd809c72b32084f67 GIT binary patch literal 9481 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 EA6ahTt^fc4 literal 0 HcmV?d00001 diff --git a/website/docs/_images/ws-structure.png b/website/docs/_images/ws-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..791ad9a1084eb647869fbce93a7092fcf6730276 GIT binary patch literal 19953 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/bin/setenv.sh`` script to define which JVM to use and a memory settings for Tomcat server. Tomcat server startup script (``catalina.sh``) will execute ``setenv.sh`` on each server start automatically. + +.. code:: bash + + export JAVA_HOME=/homes/ws-dev2/jdk1.6.0_17/ + export JAVA_OPTS="-server -Xincgc -Xms512m -Xmx1024m" + + +------------ + +.. _jabaws_config_ce: + +Cluster Engine Configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Supported configuration settings: + +``engine.cluster.enable=true`` - enable or disable local engine true | false, defaults to false + +``cluster.tmp.directory=/homes/clustengine/testoutput`` - a directory to use for temporary files storage. The value must be an absolute path to the temporary directory. This is required. The value must be different from what is defined for local engine. This directory must be accessible from all cluster nodes. + +For the cluster engine to work, the SGE_ROOT and LD_LIBRARY_PATH environment variables have to be defined. They tell the cluster engine where to find DRMAA libraries. These variables should be defined when the web application server starts up, e.g. + +.. code:: bash + + SGE_ROOT=/gridware/sge + LD_LIBRARY_PATH=/gridware/sge/lib/lx24-amd64 + +Finally, do not forget to configure executables for the cluster execution, they may be the same as for the local execution but may be different. Please refer to the executable configuration section for further details. + + +------------ + +.. _jabaws_config_ec: + +Executable Configuration +~~~~~~~~~~~~~~~~~~~~~~~~ + +All the executable programs are configured in conf/Executable.properties file. Each executable is configured with a number of options. They are: + +.. code:: bash + + local.X.bin.windows= + local.X.bin= + cluster.X.bin= + X.bin.env= + X.--aamatrix.path= + X.presets.file= + X.parameters.file= + X.limits.file= + X.cluster.settings= + +Where X any of the bioinformatics tools available (e.g. clustalw, muscle, mafft, probcons, t-coffee, etc.). + +Default JABAWS configuration includes path to local executables to be run by the local engine only, all cluster related settings are commented out, but they are there for you as examples. Cluster engine is disabled by default. To configure executable for cluster execution uncomment the X.cluster settings and change them appropriately. + +By default limits are set well in excess of what you may want to offer to the users outside your lab, to make sure that the tasks are never rejected. The default limit is 100000 sequences of 100000 letters on average for all of the JABA web services. You can adjust the limits according to your needs by editing ``conf/settings/Limit.xml`` files. +After you have completed the editing your configuration may look like this: + +.. code:: bash + + local.mafft.bin=binaries/mafft + cluster.mafft.bin=/homes/cengine/mafft + mafft.bin.env=MAFFT_BINARIES#/homes/cengine/mafft;FASTA_4_MAFFT#/bin/fasta34; + 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 + mafft.cluster.settings=-q bigmem.q -l h_cpu=24:00:00 -l h_vmem=6000M -l ram=6000M + +Please not that relative paths must only be specified for the files that reside inside web application directory, all other paths must be supplied as absolute! + +Furthermore, you should avoid using environment variables within the paths or options - since these will not be evaluated correctly. Instead, please explicitly specify the absolute path to anything normally evaluated from an environment variable at execution time. + +If you are using JABAWS to submit jobs to the cluster (with cluster engine enabled), executables must be available from all cluster nodes the task can be sent to, also paths to the executables on the cluster e.g. ``cluster..bin`` must be absolute. + +Executables can be located anywhere in your system, they do not have to reside on the server as long as the web application server can access and execute them. + +Cluster settings are treated as a black box, the system will just pass whatever is specified in this line directly to the cluster submission library. This is how DRMAA itself treats this settings. More exactly DRMAA ``JobTemplate.setNativeSpecification()`` function will be called. + +For further details and examples of configuration please refer to the ``Executable.properties`` file supplied with JABAWS. + + +------------ + +.. _jabaws_config_env_exe: + +Defining Environment Variables for Executables +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +Environment variables can be defined in property + +.. code:: bash + + x.bin.env + +Where x is one of thw executables supported by JABAWS. Several environment variables can be specified in the same line. For example. + +.. code:: bash + + mafft.bin.env=MAFFT_BINARIES#/homes/cengine/mafft;FASTA_4_MAFFT#/bin/fasta34; + +The example above defines two environment variables with names ``MAFFT-BINARIES`` and ``FASTA_4_MAFFT`` and values ``/homes/cengine/mafft and /bin/fasta34`` respectively. Semicolon is used as a separator between different environment variables whereas hash is used as a separator for name and value of the variable. + + +------------ + +.. _jabaws_config_env_mafft: + +Configure JABAWS to Work with Mafft +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +If you use default configuration you do not need to read any further. The default configuration will work for you without any changes, however, if you want to install Mafft yourself then there is a couple of more steps to do. + +Mafft executable needs to know the location of other files supplied with Mafft. In addition some Mafft functions depends on the fasta executable, which is not supplied with Mafft, but is a separate package. Mafft needs to know the location of fasta34 executable. + +To let Mafft know where the other files from its package are, change the value of MAFFT-BINARIES environment variables. To let Mafft know where is the fasta34 executable set the value of FASTA_4_MAFFT environment variable to point to a location of fasta34 program. The latter can be added to the PATH variable instead. If you are using executables supplied with JABAWS, the path to Mafft binaries would be like ``/binaries/src/mafft/binaries`` and the path to fasta34 binary would be ``/binaries/src/fasta34/fasta34``. You can specify the location of Mafft binaries as well as fasta34 program elsewhere by providing an absolute path to them. All these settings are defined in ``conf/Executable.properties`` file. + + +------------ + +.. _jabaws_config_env_limit: + +Limiting the size of the job accepted by JABAWS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +JABAWS can be configured to reject excessively large tasks. This is useful if you operate JABAWS service for many users. By defining a maximum allowed task size you can provide an even service for all users and prevents waste of resources on the tasks too large to complete successfully. You can define the maximum number of sequences and the maximum average sequence length that JABAWS accepts for each JABA Web Service independently. Furthermore, you can define different limits for different presets of the same web service. + +By default limits are disabled. You can enable them by editing ``conf/Executable.properties`` file. You can adjust the limits according to your needs by editing ``conf/settings/Limit.xml`` files. + + +.. _war_precompiled_bin: + +Pre-compiled binaries +~~~~~~~~~~~~~~~~~~~~~ + +JABAWS comes with pre-compiled x86 Linux binaries, thus on such systems JABAWS should work straight out of the box. If you are in any doubts or experience problems you may want to make sure that the binaries supplied work under your OS. The source code for these programs is also provided so you can `recompile the binaries`_ for your own architecture and exploit any optimizations that your system can provide. + +To check if the bundled binaries are working in your system execute each binary, without any command line options or input files. If you see an error message complaining about missing libraries or other problems, then you probably need to `recompile the binaries`_. + +Alternately, if you have already got binaries on your system, then you can simply `reuse the existing binaries`_ by updating the paths in JABAWS's `configuration files`_ so these are used instead. If you have a different version of an executable (e.g. an alignment program) which you prefer, you could use it as long as it supports all the functions JABAWS executable require. This could be the case with more recent executable. If the options supported by your chosen executable is different from the standard JABAWS executable, then you need to edit the ``ExecutableNameParamaters.xml`` configuration file. + +You can try all the JABAWS functionality with the JABAWS test client or have a look at `deploying on Tomcat tips`_ if you experience any problems. + +.. note:: You may want to enable logging for testing different executables as described in section 'JABAWS Internal Logging' + + +------------ + +.. _war_recompile_bin: + +Recompiling binaries for your system +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +If you have a fully equipped build environment on your (POSIX-like) system, then you should be able to recompile the programs from the source distributions which are included in the JABAWS war file. A script called 'compilebin.sh' is provided to automate this task. + +1. In a terminal window, change the working directory to ``binaries/src`` +2. Execute the compilebin.sh script: + + .. code:: bash + + chmod +x compilebin.sh; compilebin.sh > compilebin.out; +3. Then run: + + .. code:: bash + + chmod +x setexecflag.sh; sh setexecflag.sh + + If any of the binaries was not recompiled, then a 'file not found' error will be raised. + +4. Finally, restart your Tomcat server (or JABAWS application only), and `test JABAWS`_ to check that it can use the new binaries. + + +If you couldn't compile everything, then it may be that your system does not have all the tools required for compiling the programs. At the very least check that you have gcc, g++ and make installed in your system. If not install these packages and repeat the compilation steps again. You should also review the compilebin.sh output - which was redirected to compilebin.out, and any errors output to the terminal. + + +------------ + +.. _war_reusing_bin: + +Obtaining or reusing binaries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You could search for pre-packaged compiled executable in your system package repository or alternately, download pre-compiled binaries from each alignment program's home page. Then, either replace the executables supplied with the downloaded ones, or modify the paths defined in ``executable.properties`` as described below. +.. Below are some suggestions on where you may be able to get the binaries for your system. + +If you would like to use the binaries you already have, then you just need to let JABAWS know where they are. To do this, edit: ``conf/Executable.properties`` + +When specifying paths to executables that already exist on your system, make sure you provide an absolute path, or one relative to the JABAWS directory inside webapps. For example, the default path for clustalw is defined as ``local.clustalw.bin=binaries/src/clustalw/src/clustalw2`` Alternatively, instead of changing ``Executable.properties`` you could also replace the executables bundled with JABAWS with the ones that you have, or make symbolic links to them. Then the default configuration will work for you. More information about the Executable.properties file is given in the JABAWS Configuration page. + + +------------ + +.. _jabaws_config_lb: + +Load balancing +-------------- + +If your cluster is busy and has significant waiting times, you can achieve a faster response by allowing the server machine to calculate small tasks and then reserve the cluster for bigger jobs. This works especially well if your server is a powerful machine with many CPUs. To do this you need to enable and configure both the cluster and the local engines. Once this is done decide on the maximum size of a task to be run on the server locally. Then, edit "# LocalEngineExecutionLimit #" preset in ``Limits.xml`` file accordingly. JABAWS server then will balance the load according to the following rule: If the task size is smaller than the maximum task size for local engine, and the local engine has idle threads, then it calculates task locally otherwise it submit the task to the cluster. + + +------------ + +.. _war_testing: + +Testing the JABAWS Server +------------------------- + +Access ``/ServiceStatus`` to test all web services. Each time you access this URL, all services are tested. For production configuration we recommend prohibiting requests to this URL for non authenticated users to prevent excessive load on the server. + +Alternatively, you can use a command line client (part of the client only package) to test your JABAWS installation as described here. If you downloaded a JABAWS server package, you can use ``/WEB-INF/lib/jaba-client.jar`` to test JABAWS installation as described here. If you downloaded the source code, then you could run a number of test suites defined in the build.xml Apache Ant file. + + +First of all make sure that Tomcat server is started successfully. If this was the case, then you should see JABAWS home page when you navigate to your Tomcat JABAWS context path in your browser (e.g. at ``http://myhost.compbio.ac.uk:8080/jabaws`` => ````) + +If you see it, then it is time to make sure that web services are working too. The easiest way to do this is to access Services Status page available from the main JABAWS web page menu. + +If you need to monitor web service health automatically when the best option is to use service checker that responds with the standard HTTP status code. To access this checker use the following URL: + +**Using JABAWS service status checker** + +If you see it, then it is time to make sure that web services are working too. The easiest way to do this is to access Services Status page available from the main JABAWS web page menu. + +If you need to monitor web service health automatically when the best option is to use service checker that responds with the standard HTTP status code. To access this checker use the following URL: ``/HttpCodeResponseServiceStatus`` or alternatively ``/man_serverwar.jsp`` + +This page returns code 200, and no page context if all services are operational, 503 if one of the services have problems. You can also check each web service individually by providing the name of the web service to check at the end of the service checker URL like this: ``/HttpCodeResponseServiceStatus/ClustalWS`` + + +Upon request, the service status checker will examine the health of the ClustalWS web service only. If the service name is not valid, then the service checker will return code 400. + +**Using command line client** + +Alternatively, you should be able to use the test program which can be found in ``/WEB-INF/lib/jabaws-client.jar`` file. To run the tests type: + +.. code:: bash + + java -jar jabaws-client.jar -h= + +For example to test all JABAWS web services on host myhost.compbio.ac.uk type: + +.. code:: bash + + java -jar jabaws-client.jar -h=http://myhost.compbio.ac.uk:8080/jabaws + + +You can choose a particular web server using -s option like this java -jar jabaws-client.jar -h=http://myhost.compbio.ac.uk:8080/jabaws -s=ClustalWS This command line assumes that java executable is in your path and jabaws-client.jar is located in the current directory. + +An example of the report testing tool produces for operating web service looks like this: + +.. code:: bash + + Connecting to service MuscleWS on http://myhost.compbio.ac.uk:8080/jabaws ... OK + Testing alignment with default parameters: + Queering job status...OK + Retrieving results...OK + Testing alignment with presets: + Aligning with preset 'Protein alignment(Fastest speed)'... OK + Aligning with preset 'Nucleotide alignment(Fastest speed)'... OK + Aligning with preset 'Huge alignments (speed-oriented)'... OK + Queering presets...OK + Queering Parameters...OK + Queering Limits...OK + Queering Local Engine Limits...OK + Check is completed service MuscleWS IS WORKING + +An example of the response of a web service which is deployed but is not operating is below: + +.. code:: bash + + Connecting to service ProbconsWS on http://localhost:8080/ws ... OK + Testing alignment with default parameters:FAILED + Service ProbconsWS IS NOT FUNCTIONAL + + +If the web server did not respond the message looks like following: + +.. code:: bash + + Connecting to service TcoffeeWS on http://localhost:8080/ws ... FAILED + + +------------ + +.. _war_logging: + +JABAWS internal logging +----------------------- + +JABAWS can be configured to log what it is doing. This comes in handy if you would like to see who is using your web services or need to chase some problems. JABAWS uses log4j to do the logging, the example of log4j configuration is bundled with JABAWS war file. You will find it in the ``/WEB-INF/classes/log4j.properties`` file. All the lines in this file are commented out. The reason why the logging is disabled by default it simple, log4j has to know the exact location of where the log files are stored. This is not known up until the deployment time. To enable the logging you need to define logDir property in the log4j.properties and uncomment section of the file which corresponds to your need. More information is given in the log4j.properties file itself. Restart the Tomcat or the JABAWS web application to apply the settings. + +After you have done this, assuming that you did not change the log4j.properties file yourself, you should see the application log file called activity.log. The file called activity.log. The amount of information logged can be adjusted using different logging levels, it is reduced in the following order of log levels TRACE, DEBUG, INFO, WARN, ERROR, FATAL. + +If you would like to know who is using your services, you might want to enable Tomcat request logging. + +------------ + +.. _war_logging_req: + +JABAWS requests logging +~~~~~~~~~~~~~~~~~~~~~~~ + +Enable Tomcat log valve. To do this uncomment the following section of /conf/server.xml configuration file. + +.. code-block:: xml + + + + +The following information will be logged: + ++--------------+------------------------------+-------------------------------+---------------+------------------------+ +| Remote IP | Date | Method server_URL protocol | HTTP status | Response size in bytes | ++==============+==============================+===============================+===============+========================+ +| 10.31.11.159 | [10/Feb/2010:16:51:32 +0000] | "POST /jws2/MafftWS HTTP/1.1" | 200 | 2067 | ++--------------+------------------------------+-------------------------------+---------------+------------------------+ + +Which can be processed in various programs for log analysis, such as WebAlizer, Analog, AWStats. + + +------------ + +.. _jabaws_config_ga: + +JABAWS and Google Analytics +--------------------------- + + +JABAWS reports web services usage to our group Google Analytics (GA) account. JABAWS usage statistics are collected for funding and reporting purposes, and no private information is collected. The data sent by JABAWS is as follows: + +1. The IP address of the JABAWS server machine (the server IP can anonymized see ``conf/GA.properties`` config file) +2. The name of the web service that was called. +3. A few details of the system such as JABAWS version, java version, user language, color depth, screen resolution and character encoding. + +Google Analytics can be disabled or adjusted by removing/editing ``conf/GA.properties`` Google Analytics (GA) settings file. We would appreciate it greatly if you could leave it on! + +All calls to GA are very lightweight, completed asynchronously, create very little overhead and do not influence the server response time or performance. + + +------------ + +.. _war_contents: + +JABAWS War File Content +----------------------- + ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Directory | Content description | ++=====================+==========================================================================================================================================================+ +| conf/ contains | configuration files such as Executable.properties, Engine.local.properties, Engine.cluster.properties | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| conf/settings | Contains individual executable description files. In particular XXXParameters.xml, XXXPresets.xml, XXXLimits.xml where XXX is the name of the executable | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ExecutionStatistics | The database for storing the execution statistics | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| statpages | Web pages for usage statistics visialization and webservices status queries | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| jobsout/ | Contains directories generated when running an individual executable. E.g. input and output files and some other task related data (optional) | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| binaries/ | Directory contains native executables - programs, windows binaries (optional) | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| binaries/src | Contains source of native executables and Linux i386 binaries | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| binaries/windows | Contains binaries for MS Windows operating system | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| binaries/matrices | Substitution matrices | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| WEB-INF | Web application descriptor | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| WEB-INF/lib | Web application libraries | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| WEB-INF/classes | log4j.properties - log configuration file (optional) | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| static | Static content such as CSS, JavaScript and Image files | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Help Pages** | | ++=====================+==========================================================================================================================================================+ +| / | help pages, index.html is the starting page | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| `dm_javadoc`_ | JavaDoc for the JABAWS Data Model | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| `full_javadoc`_ | JavaDoc for the complete JABAWS | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| `prog_docs`_ | Documentation for programs that are included in JABAWS | ++---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ + + + +.. links +.. _war file content table: advanced.html#jabaws_war_file_content +.. _dm_javadoc: http://www.compbio.dundee.ac.uk/jabaws/dm_javadoc/index.html +.. _full_javadoc: http://www.compbio.dundee.ac.uk/jabaws/full_javadoc/index.html +.. _prog_docs: http://www.compbio.dundee.ac.uk/jabaws/prog_docs/ +.. _test JABAWS: advanced.html#testing-the-jabaws-server +.. _deploying on Tomcat tips: war.html +.. _recompile the binaries: advanced.html#recompiling-binaries-for-your-system +.. _configuration files: advanced.html#jabaws-configuration +.. _reuse the existing binaries: advanced.html#obtaining_or_reusing_binaries diff --git a/website/docs/_sources/changelog.rst.txt b/website/docs/_sources/changelog.rst.txt new file mode 100644 index 0000000..37135b7 --- /dev/null +++ b/website/docs/_sources/changelog.rst.txt @@ -0,0 +1,90 @@ +Changelog +========= + + +.. _v2.2: + +Version 2.2 (Released XX April 2017) +------------------------------------ + +The website and documentation were improved: + +* `Sphinx`_ is now used to generate our documentation pages. +* Documentation was updated to reflect the latest changes introduced in the project. +* Downloading the JABAWS distributions no longer require 'sign in' or 'sign up' to a user account. +* The pre-configured JABAWS Amazon Machine Image (AMI), which allowed for JABAWS to be run in the Amazon EC2 cloud, is no longer provided due to very limited use by the scientific community peers. + +The versions of several application programs provided by JABAWS were bumped to the latest available. + +* Clustal Omega was updated to version 1.2.4 +* ClustalW was updated to version 2.1 +* Mafft was updated to version 7.3.10 +* T-Coffee was updated to version 11.00.8cbe486 +* Protein secondary structure prediction with Jpred (version 3.0.3) was dropped from the list of provided services, as the use of the dedicated Jpred REST API (Jpred 4) is encouraged and recommended. This is the version that is currently provided within Jalview 2.9 or later. + +.. note:: JABAWS version 2.2 is fully backward compatible with JABAWS v1.0 and v2.0. This means all JABAWS 1.0, 2.0, 2.0.1 and 2.1 clients should also be able to use JABAWS 2.2 services. + + +.. _Sphinx: http://www.sphinx-doc.org/en/stable/ + +------------ + +.. _v2.1: + +Version 2.1 (Released 1st Oct 2013) +----------------------------------- + +Several new web services are available in this version of JABAWS: + +* Two multiple sequence aligners (MSAprobs and GLprobs), both services return the standard Alignment object +* RNAalifoldWS returns RNAStructScoreManager, which is the standard ScoreManager objects with several additional methods +* JpredWS returns the JpredAligment object, which is the standard alignment with additional methods for extracting Jpred predictions. These predictions are supplied as additional sequences in the aligment + +Some bugs have been fixed and several improvements have been done: + +* WS status servlet returns version and some additional information on each web service +* a bug with path to help in the client +* Fix two bug with the Google Analytics library: no-stop due to running thread +* GoogleAnalytics gets proper JABAWS version + +------------ + +.. _v2.0.1: + +Version 2.0.1 (Released 2nd Jul 2013) +------------------------------------- + +JABAWS 2.0.1 includes several bug fixes and minor updates for JABAWS Version 2.0. These are listed below: + +* Disembl returned swapped strings for HOTLOOPS and REM465 +* Jronn failed to process jobs with more than 3 sequences +* JABAWS could not deal with FASTA records with '>' symbols in the record identificator +* Change of parameter description for AAcon: parameters have been replaced with options for calculation methods. This allows a user to get several AAcon's conservation scores in one call +* JABAWS never cleaned up job directories. Now JABAWS deletes the job directory if it exist longer than a period defined in Engine.properties +* Default web security has been incompatible with Tomcat 7.0.31 and newer +* Documentation has been updated + +------------ + +.. _v2.0: + +Version 2 (Released 16th Dec 2011) +---------------------------------- + +Compared to JABAWS 1, JABAWS 2 offers a greater number and diversity of web services, Amazon EC2 integration and improved ease of use. + +It now contains: + +* Updates for all multiple sequence alignment services +* Four new protein disorder prediction services +* Clustal Omega multiple sequence alignment web service +* Amino acid conservation service +* Web services execution statistics visualization +* Web services status check from a web page +* VirtualBox support was dropped in favour of VMware +* New WAR package for Mac users +* Amazon Machine Image (AMI) distributive to enable users to use JABAWS on the EC2 cloud +* Improved web services client API +* Simplified WAR package installation + +.. warning:: To access the analysis web services introduced in JABAWS 2.0, clients that were designed for JABAWS v1.0 must be updated. diff --git a/website/docs/_sources/citations.rst.txt b/website/docs/_sources/citations.rst.txt new file mode 100644 index 0000000..2dfcfc3 --- /dev/null +++ b/website/docs/_sources/citations.rst.txt @@ -0,0 +1,11 @@ + +Citations +========= + +.. Note:: It is important that you cite JABAWS when you use it. Citing us helps us funding the work we do and allow us to continue to improve the project further. + +.. _citations: + +Peter V. Troshin, James B. Procter and Geoffrey J. Barton - **Java Bioinformatics Analysis Web Services for Multiple Sequence Alignment - JABAWS:MS** Bioinformatics 2011. 27 (14): 2001-2002. doi: `10.1093/bioinformatics/btr304`_ + +.. _10.1093/bioinformatics/btr304: https://doi.org/10.1093/bioinformatics/btr304 diff --git a/website/docs/_sources/client.rst.txt b/website/docs/_sources/client.rst.txt new file mode 100644 index 0000000..aaa5b9e --- /dev/null +++ b/website/docs/_sources/client.rst.txt @@ -0,0 +1,118 @@ +Command Line Client (CLI) +========================= + +The JABAWS client is a Java application that lets you run the programs for which a JABAWS server provides web services. This command line application this is able to call any of the JABAWS web services on any instance of JABAWS Server available over the web. The basic client is useful if you would like to test or execute the programs provided by the JABAWS server in your own scripts, but you do not want to handle any web service specific details. The client is an open source software, so you can also use the source code to as an example how to manipulate with JABAWS web services in your own code. The JABA Web Services are `WS-I`_ compliant. This means that you can access them from any language that has libraries or functions for consuming interoperable SOAP web services. More information on how to develop software that access JABAWS services is provided in the `documentation pages`_. + +The command line client comes as a part of `client package`_ which you are welcome to download. The command line client can be used to align sequences using any of JABAWS supported web services. The client is OS independent and supports most of the functions which can be accessed programmatically via `JABAWS API`_. Using this client you could align sequences using presets or custom parameters, please see examples of this below. Here is the list of options supported by the command line client. + + +------------ + +.. _client_installing: + +Installing +---------- + +.. tip:: Check if you are running the recommended version of Java. + +You need Java 7 or higher installed in your machine to be able to run the JABAWS CLI client. +Please see the `Java` web site for up to date instructions and downloads. + +.. _Java: http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html + + +------------ + +.. _cli_usage: + +Usage +----- + +.. code:: bash + + java -jar jaba-client.jar + +:: + + Usage: + java -jar -h=host_and_context -s=serviceName ACTION [OPTIONS] + -h= - a full URL to the JABAWS web server including context path e.g. http://10.31.10.159:8080/ws + -s= - one of [MafftWS, MuscleWS, ClustalWS, ClustalOWS, TcoffeeWS, ProbconsWS, AAConWS, JronnWS, DisemblWS, GlobPlotWS, IUPredWS] + + + ACTIONS: + -i= - full path to fasta formatted sequence file, from which to align sequences + -parameters - lists parameters supported by web service + -presets - lists presets supported by web service + -limits - lists web services limits + Please note that if input file is specified other actions are ignored + + + OPTIONS: (only for use with -i action): + -r= - name of the preset to use + -o= - full path to the file where to write an alignment + -f= - the name of the file with the list of parameters to use. + + Please note that -r and -f options cannot be used together. Alignment is done with either preset or aparameters from the file, but not both! + + +------------ + +.. _cli_example: + +Example Usage +------------- + + +Align sequences from input.fasta file using Mafft web service with default settings, print alignment in Clustal format to console. + +.. code:: bash + + java -jar jabaws-min-client.jar -h=http://myhost.compbio.ac.uk:8080/jabaws -s=MafftWS -i=d:\input.fasta + +Content of input.fasta file is show below (please note sequences has been trimmed for clarity) + +:: + + >Foobar + MTADGPRELLQLRAAVRHRPQDFVAWL + >Bar + MGDTTAGEMAVQRGLALHQ + >Foofriend + MTADGPRELLQLRAAV + +Align as in above example, but write output alignment in a file out.clustal, using parameters defined in prm.in file + +.. code:: bash + + java -jar jabaws-min-client.jar -h=http://myhost.compbio.ac.uk:8080/jabaws -s=MafftWS -i=d:\input.fasta -o=d:\out.clustal -f=prm.in + +The content of the prm.in file is shown below + +:: + + --nofft + --noscore + --fastaparttree + --retree=10 + --op=2.2 + +The format of the file is the same for all JABAWS web services. Parameters are specified in exactly the same way as for native executables - alignment programs like Mafft etc. So parameters which you can use with command line version of an alignment program can be used with JABAWS. Most of the settings controlling alignment process are supported, but because any output has to be handled by JABAWS, settings controlling output are not allowed to be changed. For a list of parameters supported by a web service see the next example. In prm.in parameters are separated by the new line, and name of the parameter is separated from its value with an equals sign. This format is constant no matter which JABAWS web service is used. + +.. code:: bash + + java -jar jabaws-min-client.jar -h=http://myhost.compbio.ac.uk:8080/jabaws -s=MafftWS -parameters + +The same client can be used to access JABAWS on different hosts. Just point the client to the host you want to use by changing the value of -h key. + +For example you used ``-h=http://myhost.compbio.ac.uk:8080/jabaws`` server, now you want to use another server to ``-h=http://mylabserver.myuni.edu``. This comes handy if your favorite server is off and you need to do the job yesterday. + + +.. links +.. _Jalview: http://www.jalview.org/ +.. _Java: http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html +.. _client package: ../download.jsp#client +.. _documentation pages: develop.html#accessing-jabaws-from-your-program +.. _CLI documentation pages: client.html +.. _JABAWS API: http://www.compbio.dundee.ac.uk/jabaws/full_javadoc/index.html +.. _WS-I: http://www.ws-i.org/ diff --git a/website/docs/_sources/develop.rst.txt b/website/docs/_sources/develop.rst.txt new file mode 100644 index 0000000..538923c --- /dev/null +++ b/website/docs/_sources/develop.rst.txt @@ -0,0 +1,635 @@ +For Developers +============== + +.. _jabaws_source: + +Source Code +----------- + +.. note:: This is an open source project. If you want to contribute or report an issue have a look at our `Git-tracker`_. + +Publicly available Git repository: http://source.jalview.org/gitweb/?p=jabaws.git + +.. code:: bash + + git clone http://source.jalview.org/git/jabaws.git + + +------------ + +.. _jabaws_api: + +The API +------- + +`Data Model JavaDoc`_ - read this if your are coding against JABA Web Services + +`Complete JavaDoc`_ - for developers who want to use JABAWS framework and use Engines and Executables directly + + +------------- + +.. _jabaws_structure: + +Structure of the project +------------------------ + +| |folder| *binaries* contains native executables e.g. clustalw +| |folder| *src* contains sources of native executables +| |folder| *windows* contains pre-compiled Windows binaries +| |folder| *compilebin.sh* the script to complile binaries +| |folder| *setexecflag.sh* the script to set executable flag for the binaries +| |folder| *conf* contains JABAWS configuration files +| |folder| *ExecutionStatistics* the database for storing collected execution statistics +| |folder| *jobsout* a default folder for temporary job directories +| |folder| *statpages* the web pages for execution statistics display +| |folder| *WEB-INF* default +| |folder| *docs* contains the reStructuredText documentation files +| |folder| *website* contains the JABAWS web pages +| |folder| *archive* contains JABAWS packages, the WAR and JAR files +| |folder| *datamodel* contains the JABAWS datamodel +| |folder| *engine* contains the JABAWS engine - the code that abstract the execution environment and executes native binaries +| |folder| *runner* contains the JABAWS runners - thin wrappers for native binaries +| |folder| *webservices* contains the JABAWS SOAP web services +| |folder| *testsrc* contains the JABAWS unit tests + + +------------ + +.. _jabaws_code: + +The code structure +------------------ + +.. image:: ../website/static/img/ws-structure.png + :height: 414 + :width: 282 + :scale: 95 % + :align: left + + +Each source folder depends on the upper folders for compilation. For example, the datamodel is the top level folder so it has no other dependencies on other JABAWS code. The Engine level depends on the datamodel to compile etc. The web services folder is the bottom layer and depends on all the other source code. + +So the JABAWS project is split into 4 layers. From bottom-up the first layer consists from the value classes used by all other layers of the hierarchy, in particular web services. So, to be able to use JABAWS one needs to have these classes. At the same time classes on this layer does not have any dependencies on the layers above. + +The second layer contains code for execution of the wrappers, which are the abstraction describing native executables. JABAWS can execute tasks locally that is on the same machine as JVM and on the cluster. Thus currently code on this layer contain two engines. This layer depends on the layer underneath, the data model layer, but is completely independent from the code above. + +The third layer consists of the wrappers for the native executables and classes to handle their configuration. It depends on the engines and the data model, but know nothing about the web services. + +Finally, the upper layer contains the web services, that depend on all the layers below. + +The layer isolation is archived though specially designed compilation task which is executed sequentially in several stages so that the first layer compiles before any other layers, second layer compiles after that and process continies before all the code is compiled. Any violation of the layer boundaries results in the compilation failure. Use Ant "Compile" or "Complile_with_debug" tasks to perform the staged compilation. + +A client package contains only classes from data model layer and a simple web services client. Framework package is for anyone who want to use JABAWS framework for controlling native executables in local or cluster environments. Framework exclude the web services layer. Server package contains all the code. + + +------------ + +.. _jabaws_tests: + +Unit Testing +------------ + +JABAWS uses `TestNG`_ framework for testing. The test results for the JABAWS package offered for download can be found at: `Test Results`_ +JABAWS uses TestNG for testing. There is a TestNG plugin available for Eclipse which has functionality similar to JUnit. However, no plugins are necessary to run the test cases, as testng jar is supplied with JABAWS together with an ant tasks to run the test cases. + + +Several testing groups are supported: + +* All tests ('Test') +* Cluster tests ('Run_cluster_dependent_test') +* Cluster independent tests ('All_cluster_independent_tests') +* Windows only tests ('All_cluster_independent_windows_only_tests') +* Performance and stability tests ('Long_tests') +* Re-run failed tests ('Rerun_failed_tests') +* Run custom test ('CustomTest') + +To run the tests you need to download all sources from repository. Once you have done that, enter into the command line mode, change directory to the project directory and type: + +.. code:: bash + + ant -f build.xml + + +Make sure you have `Apache Ant`_ installed and path to ant executable is defined in your path environmental variable. Replace test group name with the one of the names given in the list above to run required group of tests e.g for running cluster only tests use the following command: + +.. code:: bash + + ant -f build.xml Run_cluster_dependent_test + + +If you work under Linux you could use a simple script from the root folder of repository called ``runtests.sh``. This script simply contains a collection of the test commands described above and paths to java home directory and an ant executable, which you can define once for your system and then reuse. + +A handy feature of TestNG is its ability to re-run failed tests. Failed test ant file is stored in ``test-output/testng-failed.xml``. and is used in the ant task called ``Rerun_failed_tests``. So re-running failed tests requires no more work than running any other test group and could be accomplished with the command: + +.. code:: bash + + ant -f build.xml Rerun_failed_tests + + +CustomTest runs the test defined in the project root directory file called ``temp-testng-customsuite.xml``. This file is generated by TestNG plugin every time you run the test from Eclipse. Thus an easy way to run a test in a different environment is to run it from Eclipse first and then from ant using a custom test procedure. + +For cluster execution make sure that the property ``LD_LIBRARY_PATH`` defined in build.xml points to cluster engine LD libraries directory in your local system. + + +------------ + +.. _jabaws_conn_services: + +Accessing JABAWS from your program +---------------------------------- + +.. _jabaws_conn_functions: + +Web services functions overview +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +All JABAWS multiple sequence alignment web services comply to the same interface, thus the function described below are available from all the services. + +Functions for initiating the alignment + +.. code:: bash + + String id = align(List list) + String id = customAlign(List sequenceList, List