Provided by: exonerate_2.4.0-5_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 omitted.

       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),