DRACO logo


RNA structures are highly diverse and dynamic. Inside the cell, the same RNA is present in multiple identical copies, and not all of them will fold into the same structure. Rather, many alternative structures (or conformations) for the same RNA coexist in a dynamic equilibrium. In addition to that, each conformation is not static over time, but it can interconvert between any other potential conformation for that RNA. This structurally heterogeneous set of RNAs is commonly referred to as an ensemble.

Deconvolution of RNA Alternative COnformations (or DRACO), is a method that, by using a combination of spectral deconvolution and fuzzy clustering, can deconvolute the number of coexisting RNA structural conformations in a biological sample, as well as reconstruct their relative stoichiometries and individual reactivity profiles, starting from mutational profiling (MaP) data.

In order to use DRACO, BAM files from mutational profiling experiments must be pre-processed into mutation map (MM) files using the RNA Framework.

For support requests, please post your questions to: https://github.com/dincarnato/draco/issues


Edoardo Morandi (emorandi[at]rnaframework.com) [Main developer]
Danny Incarnato (dincarnato[at]rnaframework.com)


Morandi et al., (2021) Genome-scale deconvolution of RNA structure ensembles (PMID: 33619392).


This program is free software, and can be redistribute and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Please see http://www.gnu.org/licenses/ for more information.


To compile the simulate_mm utility, Rust and Cargo are also needed (https://doc.rust-lang.org/cargo/getting-started/installation.html).


Clone the DRACO git repository:

git clone https://github.com/dincarnato/draco

This will create a "draco" folder.
To compile DRACO:

cd draco
mkdir build
cd build
make -jN

where N is the number of processors on your computer. The parameter CMAKE_INSTALL_PREFIX can be used to set the installation directory. For example, to install DRACO in /usr/local/bin, just set it to /usr/local.
The draco executable will be located under build/src/. To install it:

make install

To compile the simulate_mm utility:

cd extra/simulate_mm
cargo build --release

The simulate_mm executable will be located under target/release/.

Testing your installation

Under examples/ it is possible to find three sample MM files, each one containing simulated data for a single transcript, forming one, two, or three coexisting conformations.
To analyze these samples, simply run:

draco --mm 1conf.mm        # 1 conformation
draco --mm 2confs.mm       # 2 conformations
draco --mm 3confs.mm       # 3 conformations