OnWorks favicon

exonerate-server - Online in the Cloud

Run exonerate-server in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command exonerate-server that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



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


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.


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

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
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 protein2genome search using

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.

Use exonerate-server online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 2
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • 3
    UNetbootin allows you to create bootable
    Live USB drives for Ubuntu, Fedora, and
    other Linux distributions without
    burning a CD. It runs on Windows, Linux,
    and ...
    Download UNetbootin
  • 4
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM is an easy to use
    ERP and CRM open source software package
    (run with a web php server or as
    standalone software) for businesses,
    Download Dolibarr ERP - CRM
  • 5
    SQuirreL SQL Client
    SQuirreL SQL Client
    SQuirreL SQL Client is a graphical SQL
    client written in Java that will allow
    you to view the structure of a JDBC
    compliant database, browse the data in
    Download SQuirreL SQL Client
  • 6
    Brackets is a free, modern open-source
    text editor made especially for Web
    Development. Written in HTML, CSS, and
    JavaScript with focused visual tools and
    Download Brackets
  • 7
    Free Pascal Compiler
    Free Pascal Compiler
    A 32/64/16-bit Pascal compiler for
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS and DOS;
    semantically compatible wi...
    Download Free Pascal Compiler
  • More »

Linux commands