VAMSAS Interoperation

Jalview can interact with other applications using "the VAMSAS Interoperation framework" which is an experimental model for interoperation between bioinformatics applications (Visualization and Analysis of Molecular Sequences, Alignements and Structures). Currently, the only other VAMSAS enabled application is TOPALi - a user friendly program for phylogenetics and evolutionary analysis.

VAMSAS enabled applications access a shared bioinformatics dataset containing sequences, alignments, annotation and trees, which can be represented by an XML document analogous to a Jalview Project Archive.

Connecting to a VAMSAS session
The VAMSAS functionality in Jalview is accessed through the Desktop's Vamsas menu. The options available in this menu depend on whether the application is currently interacting with a VAMSAS dataset in a VAMSAS session. When the application is not connected to a session is active, the menu options are as follows:

VAMSAS and Firewalls: VAMSAS uses sockets to communicate between different programs. This means that after starting a session, your firewall software may ask you whether to allow the java executable access to the internet (port 53782). If you do not allow this, messages will not be exchanged with other VAMSAS applications.

Once you have successfully connected to a VAMSAS session, any data made available by other VAMSAS applications will be automatically imported into Jalview. However, in order to share the data in Jalview with other VAMSAS applications, you must manually select the Vamsas→"Session Update" entry that is visible when a session is active. Selecting this option will update the VAMSAS session document, with the data loaded into Jalview. Any new alignments, trees and annotation will be written to the session, in addition to any edits you have made to data originally stored in the document.
Saving the current session
You can save the current session as a VAMSAS Session archive using the Vamsas→"Session Update". The file contains a snapshot of the current VAMSAS session, including data from any other applications connected to the session. Leaving a VAMSAS session
A session can be disconnected from at any time using the Vamsas→"Stop Session" option. Selecting this option will only disconnect Jalview from the session - any other applications will remain connected to the session. If Jalview is the only application connected to the session and you have not yet saved the VAMSAS session then you will be prompted with an optional 'Save VAMSAS session...' dialog box, allowing the session to be saved and returned to at a later date.
VAMSAS Session Persistence
VAMSAS sessions are persistent - this means that they exist independently of any VAMSAS applications that are connected to them. This means that if something goes wrong with a VAMSAS application and it crashes or otherwise fails, the VAMSAS session it is connected to will (hopefully) be unaffected. For instance, if Jalview is killed or crashes whilst it is still connected to a session, that session can be recovered in a new Jalview instance using the Vamsas→"Existing session" sub menu.

A quick Demo
Jalview can talk to itself through VAMSAS. Simply start two copies of the application, create a new vamsas session in one, and connect to the new session in the other. Then load your data into one of the applications, and use the Vamsas→"Session Update" menu entry to try to propagate the data to the other application.
Data Sharing Capability Jalview Version
Alignments, sequences and annotation, trees, database references, cDNA/protein mappings. 2.4
Mouseover location across linked DNA, protein and structure positions. 2.4
Jalview project settings (Multiple views, groups, tree partitions, colouring, window positions) 2.5
Sequence region and column selections 2.5

Version 0.2 of the VAMSAS client library is used in Jalview 2.5. For further details about the VAMSAS framework, please check the VAMSAS website. The VAMSAS framework is implemented as a Java 1.4 Library and depends on a number of other open source projects. Its source is released under the LGPL license.