From: Sasha Sherstnev Date: Wed, 23 Oct 2013 12:23:05 +0000 (+0100) Subject: Changes to text on the website X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=62f0311ee16ac52e1854635196c152ed6ccdddb3;p=jabaws.git Changes to text on the website --- diff --git a/website/contacts.html b/website/contacts.html index a046c99..dc50044 100644 --- a/website/contacts.html +++ b/website/contacts.html @@ -29,7 +29,7 @@ Home Getting Started Manual - Download + Download Usage Statistics Services Status Contact Us @@ -54,7 +54,7 @@

- + diff --git a/website/index.html b/website/index.html index 4865866..137f7aa 100644 --- a/website/index.html +++ b/website/index.html @@ -28,7 +28,7 @@ Home Getting Started Manual - Download + Download Usage Statistics Services Status Contact Us @@ -79,7 +79,7 @@ computing resources.

For Users

- The Server: JABAWS Virtual Appliance: (440M) + The Server: JABAWS Virtual Appliance: (440M) or JABAWS on Amazon Webservices Cloud
The Main Client: Jalview (18M)

To use JABAWS web services on most operating systems, just download and install @@ -93,7 +93,7 @@ computing resources.

For System Administrators

- The Server: JABAWS Web + The Server: JABAWS Web Application aRchive (55M)

JABAWS requires a Servlet 2.4 compatible servlet container like Apache Tomcat @@ -106,11 +106,11 @@ computing resources.

For Bioinformaticians/Developers

-The Server: JABAWS Web Application aRchive (55M) +The Server: JABAWS Web Application aRchive (55M)
The Client: - Command Line Client binary | source + Command Line Client binary | source

You can either use the JABAWS Virtual Appliance or the JABAWS Web Application aRchive (WAR) from your own computer or a lab server. @@ -125,7 +125,7 @@ Check out the quick start guide for furt

Public JABAWS Server

-

You can access our public JABAWS web services with our command line client, +

You can access our public JABAWS web services with our command line client, Jalview, or with your own program. Jalview version 2.8 or later is fully compatible with JABAWS 2.1. The latest versions of Jalview are configured to use public JABAWS server by default.

    @@ -136,7 +136,7 @@ title="http://www.compbio.dundee.ac.uk/jabaws/ClustalWS?" rel=

These web services accept submissions of less than one thousand sequences. Should you find this to be insufficient for your needs, or if you are concerned about privacy or on an unreliable network connection, then you can - download and run the JABAWS Server on your own hardware.

+ download and run the JABAWS Server on your own hardware.

@@ -160,7 +160,7 @@ Multiple Sequence Alignment - JABAWS:MSA" Bioinformatics doi: 10.1093/bioinformatics/btr304.

- +
diff --git a/website/jabaws_funding.html b/website/jabaws_funding.html index 27c009c..6af833b 100644 --- a/website/jabaws_funding.html +++ b/website/jabaws_funding.html @@ -28,7 +28,7 @@ Home Getting Started Manual - Download + Download Usage Statistics Services Status Contact Us @@ -62,7 +62,7 @@ Geoff Barton. Further support comes from Wellcome Trust Strategic Grant: 100476.



- + diff --git a/website/man_about.html b/website/man_about.html index a2adadd..1257b60 100644 --- a/website/man_about.html +++ b/website/man_about.html @@ -132,7 +132,7 @@
  • RNAalifold from ViennaRNA (2.0)
  • -All these codes including Jronn and AAcon are available at the Download +All these codes including Jronn and AAcon are available at the Download section (registration is required). @@ -214,13 +214,13 @@ section (registration is required). JABAWS web services are WS-I basic profile compliant, which means they can be accessed using any programming language or system that can utilize standard SOAP web services. The WSDL for each service is published on the JABAWS home page, and you can use this to automatically generate service bindings for your program. If you use Java - you may wish to use our client package to access JABAWS. + you may wish to use our client package to access JABAWS. This package is based on the autogenerated source code produced by wsimport, which is the Java tool for creating web service bindings; but in addition, offers some additional methods which simplify working with JABAWS. For more information please refer to the data model javadoc.

    - + diff --git a/website/man_awscloud.html b/website/man_awscloud.html index ada42f4..c2e7d1d 100644 --- a/website/man_awscloud.html +++ b/website/man_awscloud.html @@ -68,7 +68,7 @@









    - + diff --git a/website/man_awscloud_bs.html b/website/man_awscloud_bs.html index 405184c..b58b419 100644 --- a/website/man_awscloud_bs.html +++ b/website/man_awscloud_bs.html @@ -78,7 +78,7 @@

     

    - + diff --git a/website/man_awscloud_ec2.html b/website/man_awscloud_ec2.html index 599f0c8..dce0982 100644 --- a/website/man_awscloud_ec2.html +++ b/website/man_awscloud_ec2.html @@ -96,7 +96,7 @@

     

    - + diff --git a/website/man_client.html b/website/man_client.html index 680be69..cf6b766 100644 --- a/website/man_client.html +++ b/website/man_client.html @@ -53,7 +53,7 @@

    JABAWS Command Line Client Usage

    -The command line client comes as a part of client package which you are welcome to download. +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. @@ -94,7 +94,7 @@ Please note that -r and -f options cannot be used together. Alignment is done wi 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.

    - + diff --git a/website/man_configuration.html b/website/man_configuration.html index 5498be2..e07ffc9 100644 --- a/website/man_configuration.html +++ b/website/man_configuration.html @@ -172,7 +172,11 @@ are commented out, but they are there for you as example. Cluster engine is disabled by default. To configure executable for cluster execution un comment 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/<X>Limit.xml files.
    +

    + 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/<X>Limit.xml files.
    After you have completed the editing your configuration may look like this:local.mafft.bin.windows=
    local.mafft.bin=binaries/mafft
    @@ -188,9 +192,11 @@ appropriately.

    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.

    +

    +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 @@ -255,15 +261,51 @@ by providing an absolute path to them. All these settings are defined in conf/Executable.properties file.

    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 waist 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/<X>Limit.xml files.

    +

    +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 waist 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/<X>Limit.xml +files.

    +

    Using a different version of the alignment program with JABAWS

    -

    JABAWS supplied with binaries and source code of the executables which version it supports. So normally you would not need to install your own executables. However, 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 supported. This could be the case with more recent executable. If the options supported by your chosen executable is different when the standard JABAWS executable, than you need to edit ExecutableNameParamaters.xml  configuration file.

    +

    + JABAWS supplied with binaries and source code of the executables which version it supports. So normally you + would not need to install your own executables. However, 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 supported. This could be the case with more recent executable. If the options supported + by your chosen executable is different when the standard JABAWS executable, than you need to edit + ExecutableNameParamaters.xml  configuration file. +

    +

    Load balancing

    -

    If your cluster is busy and have significant waiting times you can achieve a faster response by allowing the server machine to calculate small tasks and the 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 <ServiceName>Limits.xml file accordingly. JABAWS server then will balance the load according to the following rule: If the task size is smaller then the maximum task size for local engine, and the local engine has idle threads, then calculate task locally otherwise submit the task to the cluster.

    +

    + If your cluster is busy and have significant waiting times you can achieve a faster response by allowing + the server machine to calculate small tasks and the 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 <ServiceName>Limits.xml file accordingly. JABAWS server then + will balance the load according to the following rule: If the task size is smaller then the maximum task + size for local engine, and the local engine has idle threads, then calculate task locally otherwise submit + the task to the cluster. +

    +

    Testing JABA Web Services

    -

    Access <your_JABAWS_server_URL>/ServiceStatus to test all web services. Each time you access this URL, all services are tested. You can test a particular web service by adding its name at the end of this URL. For example http://localhost:8080/jabaws/ServiceStatus/MuscleWS will test MuscleWS webservice only. For production configuration we recommend prohibiting requests to this URL for non authenticated users to prevent excessive load on the server.

    +

    + Access <your_JABAWS_server_URL>/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 log4j.properties and uncomment section of

    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.

    - + diff --git a/website/man_dev.html b/website/man_dev.html index 0fc3a33..375ac5e 100644 --- a/website/man_dev.html +++ b/website/man_dev.html @@ -106,9 +106,16 @@

    Additional utility libraries this client depend upon is the compbio-util-1.3.jar and compbio-annotation-1.0.jar.
    Please refer to a data model javadoc for a detailed description of each class and its methods.

    + +

    Connecting to JABAWS

    -

    For a complete working example of JABAWS command line client please see compbio.ws.client.Jws2Client class. JABAWS command line client source code is available from the download page. Please note that for now all the examples are in Java other languages will follow given a sufficient demand.

    -

    Download a binary JABAWS client. Add the client to the class path. The following code excerpt will connect your program to Clustal web service deployed in the University of Dundee.

    +

    +For a complete working example of JABAWS command line client please see compbio.ws.client.Jws2Client class. JABAWS command line client +source code is available from the download page. Please note that for now all +the examples are in Java other languages will follow given a sufficient demand.

    +

    +Download a binary JABAWS client. Add the client to the class path. The following code excerpt will connect your program to Clustal +web service deployed in the University of Dundee.

    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.ws.Service;
    @@ -118,14 +125,18 @@ 3) QName qname = new QName(, "ClustalWS");
    4) Service serv = Service.create(url, qname);
    5) MsaWS msaws = serv.getPort(new QName(qualifiedName, "ClustalWSPort"), - MsaWS.class);

    -

    Line 1 makes a qualified name for JABA web services.
    - Line 2 - constructs the URL to the web services WSDL.
    - Line 3 makes a qualified name instance for Clustal JABA web service.
    - Line 4 creates a service instance.
    - Line 5 makes a connection to the server.

    -

    A more generic connection method would look like this

    + MsaWS.class); +

    +

    + Line 1 makes a qualified name for JABA web services.
    + Line 2 constructs the URL to the web services WSDL.
    + Line 3 makes a qualified name instance for Clustal JABA web service.
    + Line 4 creates a service instance.
    + Line 5 makes a connection to the server. +

    +

    + A more generic connection method would look like this +

    import java.net.URL;
    import javax.xml.namespace.QName;
    import javax.xml.ws.Service;
    @@ -139,40 +150,73 @@ QName qname = new QName(qualifiedServiceName, clustal.toString());
    Service serv = Service.create(url, qname);
    MsaWS msaws = serv.getPort(new QName(qualifiedServiceName, clustal
    - + "Port"), MsaWS.class);

    -

    Where Services is enumeration of JABAWS web services. All JABAWS multiple sequence alignment methods confirm to MsaWS specification, thus from the caller point of view all JABAWS web services can be represented by MsaWS interface. The full documentation of MsaWS functions is available from the javadoc.

    + + "Port"), MsaWS.class); +

    +

    + Where Services is enumeration of JABAWS web services. All JABAWS multiple sequence alignment methods confirm to + MsaWS specification, thus from the caller point of view all JABAWS web services can be represented by MsaWS + interface. The full documentation of MsaWS functions is available from the javadoc. +

    + +

    Valid JABAWS service names and WSDL files

    Multiple sequence alignment services

    - +

    Protein disorder prediction services

    +
  • IUPredWS (http://www.compbio.dundee.ac.uk/jabaws-dev/IUPredWS?wsdl)
  • +
  • GlobPlotWS (http://www.compbio.dundee.ac.uk/jabaws-dev/GlobPlotWS?wsdl)
  • +
  • DisemblWS (http://www.compbio.dundee.ac.uk/jabaws-dev/DisemblWS?wsdl)
  • +
  • JronnWS (http://www.compbio.dundee.ac.uk/jabaws-dev/JronnWS?wsdl)
  • +

    Amino acid conservation service

    -

    Please replace http://www.compbio.dundee.ac.uk/ with your JABAWS instance host name, and jabaws with your JABAWS context name to access your local version of JABAWS web services. For example http://localhost:8080/jabaws would be a valid URL for the default Apache-Tomcat installation and jabaws.war file deployment.

    +
  • AAConWS (http://www.compbio.dundee.ac.uk/jabaws-dev/AAConWS?wsdl)
  • + +

    Protein and RNA Secondary Structure Prediction

    + +

    +Please replace http://www.compbio.dundee.ac.uk/ with your JABAWS instance host name, and +jabaws with your JABAWS context name to access your local version of JABAWS web services. +For example http://localhost:8080/jabaws would be a valid URL for the default Apache-Tomcat +installation and jabaws.war file deployment.

    + +

    Aligning sequences

    -

    Given that msaws is web service proxy, created as described in "Connecting to JABAWS" section, the actual alignment can be obtained as follows:

    +

    +Given that msaws is web service proxy, created as described in "Connecting to JABAWS" +section, the actual alignment can be obtained as follows:

    1) List<FastaSequence> fastalist = SequenceUtil.readFasta(new FileInputStream(file));
    2) String jobId = msaws.align(fastalist);
    3) Alignment alignment = msaws.getResult(jobId);

    Line one loads FASTA sequence from the file
    Line two submits them to web service represented by msaws proxy
    - Line three retrieves the alignment from a web service. This line will block the execution until the result is available. Use this with caution. In general, you should make sure that the calculation has been completed before attempting retrieving results. This is to avoid keeping the connection to the server on hold for a prolonged periods of time. While this may be ok with your local server, our public server (www.compbio.dundee.ac.uk/jabaws) will not let you hold the connection for longer than 10 minutes. This is done to prevent excessive load on the server. The next section describes how to check the status of the calculation.
    + Line three retrieves the alignment from a web service. This line will block the execution until the result is available. + Use this with caution. In general, you should make sure that the calculation has been completed before attempting + retrieving results. This is to avoid keeping the connection to the server on hold for a prolonged periods of time. + While this may be ok with your local server, our public server + (www.compbio.dundee.ac.uk/jabaws) will not let you hold the connection + for longer than 10 minutes. This is done to prevent excessive load on the server. The next section describes how to check + the status of the calculation.
    Methods and classes mentioned in the excerpt are available from the JABAWS client library.

    Checking the status of the calculation

    -

    You may have noticed that there was no pause between submitting the job and retrieving of the results. This is because getResult(jobId) method block the processing until the calculation is completed. However, taking into account that the connection holds server resources, our public server (www.compbio.dundee.ac.uk/jabaws) is configured to reset the connection after 10 minutes of waiting. To work around the connection reset you are encouraged to check whether the calculation has been completed before accessing the results. You can do it like this:

    +

    You may have noticed that there was no pause between submitting the job and retrieving of the results. This is +because getResult(jobId) method block the processing until the calculation is completed. +However, taking into account that the connection holds server resources, our public server +(www.compbio.dundee.ac.uk/jabaws) is configured to reset the +connection after 10 minutes of waiting. To work around the connection reset you are encouraged to check whether the +calculation has been completed before accessing the results. You can do it like this:

    while (msaws.getJobStatus(jobId) != JobStatus.FINISHED) {
        Thread.sleep(2000); // wait two seconds, then recheck the status
    }

    @@ -207,14 +251,24 @@ Line eight and ten is the same as in previous examples
    Line nine submit an alignment request with the sequences and the parameters
    - The names of all the parameters supported by a web service e.g. "PAM300" can be obtained using options.getArguments() method. Further details on the methods available from RunnerConfig object are available from the javadoc.

    + The names of all the parameters supported by a web service e.g. "PAM300" can be obtained + using options.getArguments() method. Further details on the methods + available from RunnerConfig object are available from the + javadoc.

    Writing alignments to a file

    There is a utility method in the client library that does exactly that.

    Alignment alignment = align(...)
    FileOutputStream outStream = new FileOutputStream(file);
    ClustalAlignmentUtil.writeClustalAlignment(outStream, align);

    A complete client example

    -

    Finally, a complete example of the program that connects to JABAWS Clustal service and aligns sequences using one of the Clustal web service preset. Three is also a PDF version of this example with syntax highlighted. The text comments are commented by block style comments e.g. /* comment */, the alternatives given in the code are line commented // comment. You may want to remove line style comments to test alternatives of the functions. All you need for this to work is a JABAWS binary client. Please make sure that the client is in the Java class path before running this example.

    +

    +Finally, a complete example of the program that connects to JABAWS Clustal service and aligns sequences using +one of the Clustal web service preset. Three is also a PDF version of +this example with syntax highlighted. The text comments are commented by block style comments e.g. /* comment */, +the alternatives given in the code are line commented // comment. You may want to remove line style comments to +test alternatives of the functions. All you need for this to work is a +JABAWS binary client. +Please make sure that the client is in the Java class path before running this example.

     import java.io.ByteArrayInputStream;
     import java.io.FileNotFoundException;
    @@ -281,8 +335,7 @@ public class Example {
     		String qualifiedServiceName = "http://msa.data.compbio/01/01/2010/";
     
     		/* Make a URL pointing to web service WSDL */
    -		URL url = new URL(
    -				"http://www.compbio.dundee.ac.uk/jabaws/ClustalWS?wsdl");
    +		URL url = new URL("http://www.compbio.dundee.ac.uk/jabaws/ClustalWS?wsdl");
     
     		/*
     		 * If you are making a client that connects to different web services
    @@ -349,10 +402,14 @@ public class Example {
     
    For a more detailed description of all available types and their functions please refer to the data model javadoc.

    Building web services artifacts

    -

    JABAWS are the standard JAX-WS SOAP web services, which are WS-I basic profile compatible. This means that you could use whatever tool your language has to work with web services. Below is how you can generate portable artifacts to work with JABAWS from Java. However, if programming in Java we recommend using our client library as it provides a handful of useful methods in addition to plain data types.

    +

    +JABAWS are the standard JAX-WS SOAP web services, which are WS-I +basic profile compatible. This means that you could use whatever tool your language has to work with web services. Below is how you can +generate portable artifacts to work with JABAWS from Java. However, if programming in Java we recommend using our client library as +it provides a handful of useful methods in addition to plain data types.

    wsimport -keep http://www.compbio.dundee.ac.uk/jabaws/ClustalWS?wsdl

    - + diff --git a/website/man_server_dev.html b/website/man_server_dev.html index e182614..1c3354f 100644 --- a/website/man_server_dev.html +++ b/website/man_server_dev.html @@ -66,9 +66,9 @@

    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

    The source code

    -

    Private (most up-to-date) SVN source repository:https://svn.lifesci.dundee.ac.uk/svn/barton/ptroshin/JABA2_r1

    -

    The JABAWS public code repository containing the code for each JABAWS public release is located at https://jabaws.googlecode.com/

    -

    The repository contains a complete JABAWS Eclipse project.

    +

    Publicly available Git repository:http://source.jalview.org/gitweb/?p=jabaws.git;a=summary

    +

    Another publicly available JABAWS repository containing the code for each JABAWS public release is located at https://jabaws.googlecode.com/

    +

    The repositories contain a complete JABAWS Eclipse project.

    Of cause If you want to make a modification to the source code you would need to generate distributives yourself. To do that first generate JAX-WS artifacts using build-server task from wsbuild.xml ant script, than you could use build.xml tasks to generate any of the distributives you need.

    Structure of the project

    Testing JABAWS Server

    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 e.g. http://myhost.compbio.ac.uk:8080/jabaws

    @@ -235,7 +233,7 @@ modify the paths in If Tomcat still refuses to unpack the war file, unpack it manually into web application folder (the war file is just a zip archive). Restart the Tomcat. - + diff --git a/website/man_stats.html b/website/man_stats.html index 9420ad9..63e0657 100644 --- a/website/man_stats.html +++ b/website/man_stats.html @@ -68,7 +68,7 @@

    The table contains the number of jobs processed by JABAWS per month, for the whole period when the statistics was collected

    For each month the table contains the following information.