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, starting from mutational profiling (MaP) data, as well as reconstruct their relative stoichiometries and individual reactivity profiles.
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
For a complete documentation, please refer to: https://draco-docs.readthedocs.io/en/latest/
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 v9.850.1 or greater (http://arma.sourceforge.net)
- Boost v1.66 or greater (https://www.boost.org)
- dlib v19.4.0 or greater (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 /usr/local
.
The draco
executable will be located under build/src/
.
To compile the simulate_mm
utility:
cd extra/simulate_mm
cargo build --release
The simulate_mm
executable will be located under target/release/
.
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