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.
- Linux system
- GCC v9 or higher (GCC v10 is recommended; https://gcc.gnu.org/gcc-10/), or
Clang v9 or greater (https://releases.llvm.org/download.html)
- CMake v3.8 or higher (https://cmake.org/download/)
- OpenBLAS (https://www.openblas.net)
- Armadillo (http://arma.sourceforge.net)
- Boost v1.66 or greater (https://www.boost.org)
- dlib (http://dlib.net)
- Intel oneAPI Thread Building Blocks (https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html)
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 cmake .. -DCMAKE_BUILD_TYPE=Release -DLINK_TIME_OPTIMIZATIONS=ON -DNATIVE_BUILD=ON -DARMA_NO_WRAPPER=ON 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
draco executable will be located under
build/src/. To install it:
To compile the
cd extra/simulate_mm cargo build --release
simulate_mm executable will be located under
Testing your installation
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