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

FreeBSD Manual Pages


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

       exonerate-server	- a sequence comparison	server for exonerate

       exonerate-server	[ options ] <index path>

       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.

       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

	      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

       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	gener-
	      ated by the esd2esi utility.

       --preload <boolean>
	      By default the indices contained in the .esi file, and  the  se-
	      quences  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  se-
	      quence  preloading  to be	turned off, which allows the server to
	      run much more slowly, but	with faster startup and	a smaller mem-
	      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-

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

       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 ex-
       onerate,	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
       Reply:	 dbinfo:  <type>  <masked>   <num_seqs>	  <max_seq_len>	  <to-

		 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
		 <total_seq_len> the  total length of all the sequences	in the

       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 op-
				 tional	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	 data-

       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

       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  ig-
		 nored 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
       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
       % get subseq 88065 10 20
       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.

       Not documented yet.

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

       This documentation accompanies version 2.2.0 of the exonerate package.

       Guy  St.C. Slater.  <>.  See the AUTHORS file accompanying
       the source code for a list of contributors.

       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 for details.

       This package has	been developed as part of the ensembl project.	Please
       see for more information.


exonerate-server		 January 2008		   exonerate-server(1)


Want to link to this manual page? Use this URL:

home | help