Provided by: exonerate_2.2.0-6_amd64 bug

NAME

       exonerate-server - a sequence comparison server for exonerate

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 identifiers.  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.

       --input <index file>
              Specify  the  index  file  to  be used when the server is started.  This option is mandatory.  The
              index file is a .esi file generated by the esd2esi utility.

       --preload <boolean>
              By default the  indices  contained  in  the  .esi  file,  and  the  sequences  referenced  in  the
              corresponding  .esd  file are loaded into memory when the server is started.  This is necessary to
              achieve fast performance that would otherwise be hampered by frequent disk accesses.  This  option
              allows  the  index  and  sequence preloading to be turned off, which allows the server to run much
              more slowly, but with faster startup and a smaller memory 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 simultaneously.  For good performance, it should not be set to more than the
              number of CPUs on the machine on which the server is running.

       --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 messages 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 warning: 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
       Reply:    dbinfo: <type> <masked> <num_seqs> <max_seq_len> <total_seq_len>

                 The  dbinfo  command returns information about the database loaded on the server.  The returned
                 fields are:

                 <type>          either dna or protein
                 <masked>        either softmasked or unmasked
                 <num_seqs>      the number of sequences in the database
                 <max_seq_len>   the length of the longest sequence in the database
                 <total_seq_len> the total length of all the sequences in the database

       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>
       Reply:    ok: <set | ignored>

                 The set parameter command sends parameters from the exonerate command line to the server.  This
                 commands can all be ignored by the client for a basic implementation, but cannot be ignored for
                 optimal performance.

       Command:  get hsps
       Reply:    hspset: <iid> { <query_pos> <target_pos> <length> }
       Or:       hspset: empty

                 The  get  hsps  command  is  the  main command for getting sets of hsps.  The server may return
                 multiple hspsets.  The returned fields are:

                 <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
       hspset: 29148 0 116 61
       hspset: 25849 15 445 22
       hspset: 93938 26 265 34
       % exit
       Connection closed by foreign host.

ENVIRONMENT

       Not documented yet.

EXAMPLES

       1.   Example  of  creating  a  translated index and running a fast protein2genome search using exonerate-
       server

       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.2.0 of the exonerate package.

AUTHOR

       Guy St.C. Slater.  <guy@ebi.ac.uk>.  See the AUTHORS file accompanying the source  code  for  a  list  of
       contributors.

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.

SEE ALSO

       exonerate(1),

exonerate-server                                  January 2008                               exonerate-server(1)