Skip to content


Subversion checkout URL

You can clone with
Download ZIP
DNA, Amino Acid and RNA Tests
C++ Tcl Perl Python C Scheme Other
Branch: master


DART: DNA/Amino/RNA Tests

The primary documentation for DART is on

See in particular the pages listed in doc/index.html



Type "./configure; make all".

See INSTALL file for more info.



DART is a collection of application programs for doing
probabilistic bioinformatics using evolutionary models
and stochastic grammars.

As well as the primary packages (Handel, Stemloc, XRate etc),
DART contains various utilities related to the primary datatypes:
DNA, RNA and protein sequence.

The package was mostly written by Ian Holmes <>
with contributions by Gerton Lunter, Oscar Westesson, Rob Bradley,
Lars Barquist, and others.
For a full list of contributors see

Some free packages from external sources are included in the distribution:
	dart/src/newmat          [Newmat, by RB Davies]
	dart/src/randlib         [randlib, from UTexas Biomath dept] 
	dart/src/Weighbor        [Weighbor, by Bill Bruno & Nick Socci]
	dart/src/util/Regexp.*   [regexp library by Henry Spencer & others]

DART is released under the GNU Public License (GPL).


Supported packages

xrate: A package for training phylo-grammars using EM,
        and applying them to annotate alignments.

handalign: phylogenetic multiple alignment software.

stemloc: comparative RNA structure-finder using accelerated
          pairwise stochastic context-free grammars.

evoldoer: pairwise RNA alignment using an evolutionary model.

protpal: approximate phylogenetic alignment using sequence profiles.

Also included are various bioinformatics tools, tests and algorithms.

Longer (but not by much) package descriptions

** xrate

This is a package for training & annotation using phylogrammars.

See the following URL for documentation:

** handalign

This is a package for inferring multiple sequence alignment,
phylogeny, and ancestral sequences, under an evolutionary model for
substitutions and indels.

Since it uses a probabilistic (MCMC) approach, as well as "greedy"
heuristics (progressive alignment etc),	the program can generate
suboptimal alignments as well as looking for the best alignment.

See the following URL for more info:

** stemloc

This is a program for finding conserved motifs in RNA sequences,
using pairwise stochastic context-free grammars.

The algorithm simultaneously aligns and folds multiple RNA sequences,
and may be viewed as a constrained (and so accelerated) version of
the dynamic programming	method of Sankoff et al.

Due to the probabilistic nature of the approach,
the program can be "trained" directly from data, without the
need for expert knowledge to set the parameters.

See the following URL for a tutorial:

** evoldoer

Like stemloc, this is an RNA alignment program, but it only does
pairwise alignments, not multiple alignments. It is however
fully based on an evolutionary model for RNA structure,
called the TKF Structure Tree (TKFST), based on the TKF91 model.
TKFST models indels of whole substructures as well as point
(base) substitutions & indels and covariant (basepair)
substitutions & indels.

See the following URL for more info:

** protpal
Program for approximate statistical alignment and reconstruction.
Uses progressive alignment and sequence profile transducers.

See the following URL for more info:


For references see the following URL:
Something went wrong with that request. Please try again.