Dear T.D. Houfek, this morning I was thinking how to integrate Sight and Alkahest. >From your page it is seen that Alkahest has a system to store and display the results of analysis. This side of Sight is comparatively less developed. Possibly the Sight robot application can be used as Alkahest annotation module. Alkahest annotates the sequences. Hence it could call the pre- assembled Sight application in order to get some sequence annotations. It must submit the sequence (protein or RNA), and could expect the list of sequence features (starting position, ending position, feature name, possibly some extra information). Alkahest would need to have some way to plug-in the pre-assembled Sight application. Now I started to think how to do this. Alkahest is written on Perl, and Sight is written on Java. How to call Java from Perl? Perl could launch the whole application from the command line. But java starts slowly, and it is not wise to restart its applications frequently. The bridge through DLLs could be imaginable. But these tricks will make the approach platform dependend, maybe even platform version dependend. Also bad. Finally I decided that Alkahest and Sight could communicate via client-server interface using http protocol. I know that Perl can also connect a server with the given http address and simulate the filling of some web form. So it can also connect the local host on some unused port (say 4525) and initiate the standard http POST session (GET does not fit, as the length of the submitted sequence would be very limited). Sight can create an application that could listen on this port as a http server, accept the call and perform the analysis. Then it will return a response. I think, this response should be in XML. It will contain something like <?xml version="1.0"?> <Sight_response> <annotation from="12" to="16"> <name>Sequence feature name</name> <database_id>88888<database_id> <...... all your suggestions here > </annotation> <annotation from="212" to="216"> <name>Sequence feature name</name> <database_id>88889<database_id> <...... all your suggestions here > </annotation> <annotation from="312" to="316"> (and so on) </Sight_response> Alkahest must then read this response and make some use from it. We must make agreements about its content when error occurs, something like <Error id="111">Message</Error>. The advantage of this could be that Sight application can be easily tested by submitting the request from a web browser, using prepared html document. This document must contain a form with just one field ('sequence') and the 'Submit' button. To realise this, Sight application must: 1) Be able to start in a server mode on a local host on an unusual port. 2) Accept http POST request, initiate the analysis and, when finished, return the mentioned response. The response will be created by the special new type of the agent, "Server listener". I will think how to do it better. The Alkahest, however, must: 1) Accept the user option that Sight server must be called in a certain host and using a certain port to annotate a sequence. The Sight server the most probably will not be very remote, but it can be on another machine nearby. 2) For each sequence to annotate, send a server the POST request that must look like that: POST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Host: 134.60.49.124:4525 Content-Length: 85 Connection: Keep-Alive Cache-Control: no-cache sequence=atatatatatatataatatatatatatatat........ 3) Receive the xml document in response, parse it and do something useful (probably store the annotation into database and display as a sequence feature). If you agree to initiate your side of colaboration, I can implement the needed Sight additional features till the next of this week. Please let me known that you think about this Audrius Meskauskas