From Biowiki
Revision as of 08:48, 2 January 2017 by Base User Mapping 333 (talk | contribs) (Imported from TWiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Dart Library: XRate, Handel, Stemloc, EvolDeeds & more...

For instructions on how to get dart, go to this page: Downloading dart.

For installation, go here: Building dart.

What is DART?

The DART library includes a number of bioinformatics programs, including: stemloc for RNA alignment; xrate for phylo-grammars; phylocomposer, handalign and other statistical alignment programs in the Handel package; and more.

The programs use statistical algorithms (MCMC, EM, etc.) to impute multiple alignments, annotations and other unseen evolutionary parameters from sequence data. All are based on stochastic grammars or state-machine models of sequence mutation and natural selection.

Dart can be downloaded as a directory tree containing source files for the above programs, along with supporting code, tests, scripts and utilities.

What platforms does DART run on?

DART works for sure on Linux and Mac OS X. It can probably be coaxed to build on anything with GNU make and gcc.

Microsoft Windows? Possibly, e.g. with Cyg Win. Untested.

Andrew Uzilov adds (Dec. 17, 2007): just compiled DART on cygwin (gcc 3.4.4, cygming special, gdc 0.12, using dmd 0.125) on Microsoft Windows XP Home Edition (SP2) on a Dell Inspiron 1000 (w/Intel Celeron) with no problems! Only tried xrate, but it runs as intended. The bundled Perl (e.g. windowlicker) works fine also.

What do the individual programs do?

The various programs do a lot of different things including Phylogenetic Alignment; RNA structure prediction & multiple RNA alignment; stochastic grammars; evolutionary models, phylo-HMMs and phylo grammars; reconstruction of ancestral sequences; and phylogenomics.

Specific sub-packages address the following tasks...

Handel: evolutionary alignment & reconstruction with string transducers

The Handel Package allows MCMC sampling of multiple alignments, phylogenetic trees, evolutionary parameters & reconstructed indel/substitution histories.



  • phylocomposer (link) - tests phylogenetic transducer composition and inference

XRate: alignment annotation & ancestral reconstruction with phylo-SCFGs

Annotating conserved features; measuring rates; reconstructing substitution histories.


  • xrate (link) - estimate maximum likelihood substitution rate matrices by EM
    • xgram, xfold and xprot - analyze and annotate multiple alignments, phylogenetically, using evolutionary context-free grammars and EM

Stemloc: RNA multiple alignment with pair-SCFGs

Secondary structure-aware RNA multiple alignment; reconstruction of indels and changes in structure.


  • stemloc (link) - simultaneously
    1. align RNA sequences,
    2. predict secondary structure and
    3. infer evolutionary history

Evol Deeds: phylogenetic RNA alignment & reconstruction with tree transducers



  • indiegram (link) - three-way RNA alignment and reconstruction using tree transducers and the TKF structure tree


Scripts and modules

What file formats does DART understand?

Standard file formats include

Dart-specific file formats include

Dart also has a detailed logfile system.

How can I download it?

See Downloading Dart and Building Dart for information on how to download and install the programs.

Who (else) uses it?

Average: 30 anonymous downloads per month in 2007.

Why doesn't X, Y or Z work?

Check the known issues with DART page for bug reports, anecdotal usage info, etc. Browse other pages on this wiki for documentation. If feeling bold, turn on logging which may give some insight into your problem.

If none of that helps, mail to Ian Holmes, preferably after checking the DART bug reporting guidelines. (And there is an extra incentive to do this: see Booze For Bugs.)

What are the licensing terms?


Why is it called "dart"?

Originally named after a '66 Dodge Dart, now a backronym for DNA, Amino and RNA Tests.


Whose fault is all this?

The code and most of the documentation pages are maintained by Ian Holmes.

Contributors of code to date include Sean Eddy, Graeme Mitchison, Robert Davies, Bill Bruno, Ian Holmes, David MacKay, Gerton Lunter, Oscar Westesson, Pete Klosterman, Ariel Schwartz, Robert Bradley, Andrew Uzilov, Yuri Bendana, Sharon Chao, Kenny Duong, Avinash Varadarajan, Lars Barquist, Andreas Heger, Gabriel Wu and contributors to Rand Lib and LAPACK.

Testers include the contributors listed above, as well as Rahul Satija, Benedict Paten, Carolin Kosiol, Nick Goldman, Alex Bateman, Sam Griffiths Jones, Ryan Ritterson, Karsten Temme, Christopher Van Belle and others.

Contributors to the design include Richard Durbin, Ewan Birney, Guy Slater, David Haussler, Jotun Hein, Kevin Karplus, Gary Stormo, Chris Mungall, Benedict Paten and many others in the evolutionary bioinformatics community.

How do I get help/information/etc?

How do I reference dart?

For papers describing the software and algorithms, see the Paper Archive.