Exonerate-server manual

SYNOPSIS

       exonerate-server [ options ] <index path>

DESCRIPTION

       exonerate-server  is a multi-threaded server for the exonerate sequence alignment program. It uses a set of sequences and a corresponding index file to allow fast of large datasets.

OVERVIEW

Firstly, an .esd file must be made from the sequence files. The .esd file is an Exonerate Sequence Dataset file, and can be  used  to  group together any set of sequences where each sequences containing unique identifers.
This is done by using the fasta2esd utility. fasta2esd genome.fasta genome.esd Next, an .esi file my be made from the .esd file. The .esi file is an Exonerate Sequence Index file, and contains an index or set of indices corresponding to a particular dataset. This is done by using the esd2esi utility. esd2esi genome.esd genome.esi Once the .esi file has been generated, the exonerate-server may be started. exonerate-server genome.esi While the server is running, exonerate may be used to query the server by replacing the target sequences in the command line with the name of the server and port number.
The default port number for the exonerate-server is 12886. exonerate query.fasta localhost:12886

OPTIONS

Some of the command line options for the exonerate-server are the same as for the exonerate client, and these are documented in the man page for exonerate. The other options which are specific to exonerate- server are documented here. --port <port> Specify the port on which the server should listen. By default, exonerate-server will listen on port 12886, but alternative ports may be specified with this option. ory footprint. It is not advised to turn preloading off unless testing or debugging the server. --maxconnections <count> The server is multithreaded. This option sets the number client processes which are allowed to connect to the server simultane- ously. For good performance, it should not be set to more than the number of CPUs on the machine on which the server is run- ning. --verbosity <level> Set the verbosity level for the server. If it is zero, the server will be silent, and the higher the number, the more mes- sages are reported by the server about what is happening.

INTERFACE

       This section documents the communication interface between  the  client
       and  server.   The  interface is documented for people wishing to write
       their own custom server to sit behind exonerate -  for  normal  use  of
       exonerate, it is not necessary to know this.

       The  interface works by the client sending simple command lines and the
       server sending simple reply lines over a socket.  All the commands  and
       replies are simple lines of ASCII text, so it is possible to use telnet
       as a client for testing a server.

       Any command is a single line of text, but  a  reply  may  contain  many
       lines of text.  The replies are in the form of <tag>: <message>

       Any reply can include lines with the tag warning: or error: These warn-
       ing: and error: tags are echoed by the client, and the client will exit
       after receiving any error: reply.

       When  the  server  is  returning a multiline reply, the first line must
       show the number of lines in the whole reply as: linecount: <count>  For
       examples,  see  the  replies  from the get hsps commands in the example
       session below.

       The client will only open a single connection to any server, although a
       multithreaded server is obviously required to allow multiple clients to
       connect simultaneously.


   Commands and replies used in for the interface.
       Command:  version
       Reply:    version <server name> <server version>

       Command:  exit
       Reply:    ( no reply - server closes connection )

       Command:  dbinfo
       Command:  lookup <eid>
       Reply:    lookup: <iid>

                 The lookup command is used to map an external  identifier  to
                 an internal identifier.

       Command:  get info <iid>
       Reply:    seqinfo: <len> <checksum> <eid> [ <def> ]

                 The  get info command returns information about a sequence in
                 the database.  The returned fields are:

                 <len>           the sequence length
                 <checksum>      a gcg format checksum (see below)
                 <eid>           the external id (eg. from fasta header)
                 <def>           a description line  for  the  sequence  (also
                                 from   the   fasta  header),  this  field  is
                                 optional an may be ommitted.

       Command:  get seq <iid>
       Reply:    seq: <seq>

                 The get seq command returns a whole sequence on one line.

       Command:  get subseq <iid> <start> <len>
       Reply:    subseq: <sequence>

                 The get subseq command returns part of a sequence.  The start
                 of the sequence is position zero.  eg. get subseq 0 0 10 will
                 return the first 10  bases  of  the  first  sequence  in  the
                 database.

       Command:  set query <seq>
       Reply:    ok: <len> <checksum>

                 The seq query command is used to send a query sequence to the
                 server.  It returns the length of  the  sequence  and  a  gcg
                 checksum

       Command:  revcomp <query | target>
       Reply:    ok: <query | target> strand <forward | revcomp>

                 The revcomp query command makes the server reverse complement
                 the query.  This is to save  the  bandwidth  of  sending  the
                 query twice.

                 The revcomp target command is to tell the server to treat the
                 database as its reverse complement.  The  client  only  sends
                 this  command  when  searching a translated database, so need
                 not be implemented for most types of search.

       Command:  set param <name> <value>

                 <iid>           The  internal  id  of the target sequence for
                                 these HSPsets.
                 <query_pos>     The hsp query start position
                 <target_pos>    The hsp target start position
                 <length>        The hsp length

                 The last three fields represent an HSP, and may  be  repeated
                 many times on one hspset: reply line.


   A simple example client server dialog.
       % telnet localhost 12886
       Trying 127.0.0.1...
       Connected to localhost.localdomain.
       Escape character is '^]'.
       % version
       version: exonerate-server 2.0.0
       % dbinfo
       dbinfo: dna softmasked 100000 1701 38113579
       % lookup AA159529.1
       lookup: 88065
       % get info 88065
       seqinfo: 62 2028 AA159529.1 zo72g05.s1 Stratagene pancreas (#937208) Homo sapiens cDNA
       % get seq 88065
       seq: NAACTCATCNTTTTCTGCTGNATCCTCTTCACCAGTTTGGGGGANGGCCTGCACTTCCANAG
       % get subseq 88065 10 20
       subseq: TTTTCTGCTGNATCCTCTTC
       % set query NAACTCATCNTTTTCTGCTGNATCCTCTTCACCAGTTTGGGGGANGGCCTGCACTTCCANAG
       ok: 62 2028
       % get hsps
       linecount: 15
       hspset: 12423 1 349 41
       hspset: 44900 1 356 47
       hspset: 61781 1 358 41 36 392 26
       hspset: 70065 1 349 41 36 383 26
       hspset: 88065 1 1 61
       hspset: 91032 1 357 41 36 391 26
       hspset: 91442 1 350 41 36 384 26
       hspset: 92971 1 348 41 36 382 26
       hspset: 94311 1 375 41
       hspset: 95381 1 346 41 36 380 26
       hspset: 96808 10 385 32 36 410 26
       hspset: 88449 18 11 22
       hspset: 91036 6 6 56
       hspset: 93736 36 400 26
       % revcomp query
       ok: query strand revcomp
       % get hsps
       linecount: 6
       hspset: 12564 0 64 26 20 83 41
       hspset: 61780 0 266 61
       fasta2esd human.genomic.fasta human.genomic.esd esd2esi --translate yes
       human.genomic.esd  human.genomic.trans.esi exonerate-server --port 1234
       human.genomic.trans.esi exonerate pep.fasta localhost:1234 --model  p2g
       --seedrepeat 3 --geneseed 250

VERSION

       This documentation accompanies version 2.1.0 of the exonerate package.

AVAILABILITY

       This source code for the exonerate package is available under the terms
       of the GNU general public licence.

       Please see the file COPYING which was distrubuted with this package, or
       http://www.gnu.org/licenses/gpl.txt for details.

       This package has been developed as part of the ensembl project.  Please
       see http://www.ensembl.org/ for more information.