MutationOrder: Most likely order of mutation events in RNA

[ bioinformatics, gpl, library, program ] [ Propose Tags ]

Determine the most likely order in which single nucleotide mutations happened between two RNA sequences.

Developed to analyse the HAR 1 region.

As long as the two input RNAs are small enough enough (couple hundred nucleotides) and the number of mutations is small enough (around 20-26, since the algorithm is exponential in this number) the algorithm should work for similar problems without changes.

[Skip to Readme]
Versions [faq],,
Change log
Dependencies ADPfusion (==0.5.2.*), ADPfusionSet (==0.0.0.*), aeson (>=1.1), base (>=4.7 && <5.0), bimaps (==0.1.0.*), BiobaseXNA (==0.9.3.*), bytestring, cereal (>=0.5), cereal-vector (>=0.2), cmdargs (>=0.10), containers, deepseq (>=1.4), directory, DPutils (==0.0.1.*), filepath, FormalGrammars (==0.3.1.*), log-domain (>=0.10), MutationOrder, parallel (>=3.2), PrimitiveArray (==0.8.0.*), PrimitiveArray-Pretty (==0.0.0.*), serialize-instances (>=0.1), ShortestPathProblems (==0.0.0.*), text (>=1.0), unordered-containers (>=0.2.7), vector (>=0.11), vector-strategies (>=0.4), ViennaRNA-bindings (==0.233.1.*), zlib (>=0.6) [details]
License GPL-3.0-only
Copyright Christian Hoener zu Siederdissen, 2017
Author Maria Beatriz Walter Costa, Christian Hoener zu Siederdissen, 2017
Category Bioinformatics
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ChristianHoener at 2017-03-06T23:07:24Z
Distributions NixOS:
Executables MutationOrder
Downloads 2055 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2017-03-06 [all 1 reports]





Enable bounds checking and various other debug operations at the cost of a significant performance penalty.


Enable debug output, which spams the screen full of index information


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for MutationOrder-

[back to package description]

Build Status

Determine the most likely order of mutations from one RNA sequence to another.

  1. Walter Costa, Maria Beatriz and Hoener zu Siederdissen, Christian and Tulpan, Dan and Stadler, Peter F. and Nowick, Katja
    Uncovering the Structural Evolution of the Human Accelerated Region 1
    2017, submitted

Usage instructions

We assume that you have two Fasta files, from.fa and to.fa but they can be named however is convenient (say chimp.fa and human.fa). Each file has to contain exactly one sequence and both sequences have to be of the same length.

We then run

./MutationOrder --workdb from-to.json.gz --scoretype pairdistcen --onlypositive --outputprefix test

This will generate, test-edge.eps, and test-meaorder.eps. The file provides extensive output of the optimal path, the first-last probabilities, the edge probabilities, and the mea output. The two eps files give a graphical representation of the edge probabilities, for the meaorder in order of the path of maximum expected accuracy.

The --scoretype allows for mfe, centroid, pairdistcen, and pairdistmfe, which analyse possible evoluationary paths according to mfe energy, centroid energy, smallest base pair distances for each step in the centroid or mfe case.


Follow this link to the bottom of the page. Binaries are available for download and installation from sources via Haskell Stack are described.


Christian Hoener zu Siederdissen
Leipzig University, Leipzig, Germany