Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
exonerate-server(1)	   sequence comparison server	     exonerate-server(1)

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  Ex-
     onerate Sequence Index file, and contains an index or set of indices corre-
     sponding  to a particular dataset.  This is done by using the esd2esi util-
     ity.

	    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  ex-
     onerate.  The other options which are specific to exonerate-server are doc-
     umented here.

     --port <port>
	    Specify the port on which the server should listen.  By default, ex-
	    onerate-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  per-
	    formance 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 re-
	    ported 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  data-
			       base
	       <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  im-
	       plemented 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  pro-
     tein2genome search using exonerate-server

     fasta2esd human.genomic.fasta human.genomic.esd esd2esi --translate yes hu-
     man.genomic.esd  human.genomic.trans.esi  exonerate-server  --port 1234 hu-
     man.genomic.trans.esi exonerate pep.fasta localhost:1234 --model p2g --see-
     drepeat 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=exonerate-server&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help