Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/s-will/sparsemfefold

Space-efficient sparse minimum free energy prediction of RNA secondary structure
https://github.com/s-will/sparsemfefold

Last synced: about 1 month ago
JSON representation

Space-efficient sparse minimum free energy prediction of RNA secondary structure

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/s-will/SparseMFEFold.svg?branch=master)](https://travis-ci.org/s-will/SparseMFEFold)

SparseMFEFold
============================================================

Space-efficient sparse MFE folding of RNAs with sparse traceback
------------------------------------------------------------

Implementation of the method presented in the manuscript Sparse RNA
folding revisited: space-efficient minimum free energy structure
prediction by Sebastian Will and Hosna Jabbari

Software written by Sebastian Will

The program demonstrates space-efficient sparsification including
trace-back of an RNA (loop-based) free energy minimization algorithm,
which performs RNA folding equivalent to RNAfold -d0.

Trace-back from a space efficiently sparsified algorithm is
non-trivial, since the DP-matrices are never completely stored during
the forward evaluation of the DP recursions. Thus, the trace-back
requires recomputation. However, since many matrix entries can not be
efficiently recomputed in trace back, we store trace arrows to such
entries. To save space, trace arrows are gc'ed and trace arrows to
candidates are omitted and reconstructed in trace back.

Installation
========================================

Please install from source. The package is easy to compile and install via autotool's ./configure; make; make install.
After cloning of downloading the archive from github, this requires to set
up the autotools system by
```
auoreconf -i
```
If the Vienna RNA package is installed in a non-standard path ```$VIENNA_RNA_HOME```, one would
typically go on to install in ```$INSTALLDIR``` by
```
./configure --prefix $INSTALLDIR PKG_CONFIG_PATH=$VIENNA_RNA_HOME/lib/pkgconfig
make
make install
```

Dependencies:
- RNA library of the Vienna RNA package 2.x
- gengetopt

Help
========================================

```
Usage: sparsemfefold[options] [sequence]
```

Read RNA sequence from stdin or cmdline; predict minimum
free energy and optimum structure using the time- and
space-efficient MFE RNA folding algorithm of Will and
Jabbari, 2015. The results are equivalent to RNAfold -d0,
but the computation takes less time (for long sequences) and
much less space.

```
-h, --help Print help and exit
-V, --version Print version and exit
-v, --verbose Turn on verbose output
-m, --mark-candidates Represent candidate base pairs
by square brackets
```

The input sequence is read from standard input, unless it is
given on the command line.

Examples
========================================

Call with sequence from stdin in default mode (compatible with RNAfold -d0)
---------------------------------------------------------------------------

```
$ echo UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA \
| SparseMFEFold
UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA
.(((((..(..(((.(((((((...))))))).)))...)..))))).... (-6.00)
```

Call with sequence on command line, mark candidates, report trace arrow and candidate counts (verbose)
------------------------------------------------------------------------------------------------------

```
$ echo UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA \
| SparseMFEFold -m -v
UAACUUAGGGGUUAAAGUUGCAGAUUGUGGCUCUGAAAACACGGGUUCGAA
.[[(((..(..[((.[[[([[[...]]])]]].))]...)..)))]].... (-6.00)

TA cnt:165
TA max:167
TA av:167
TA rm:6

Can num:109
Can cap:118
TAs num:165
TAs cap:169
```