Schematic RNA/DNA secondary structure visualization tool working entirely in your browser.
Some example structures
- 3Q1Q - my favorite structure
- 5B2R - my second favorite structure
- 6XRZ
- 6C0F - ribosomal subunit, might bet slow on some computers
- 2OM7
- 1H1K
Install npm_modules
yarn install
Compile wasm module
cd wasm/vienna-rna/ && ./compile_wasm.sh
To compile js assets
yarn build
To run project locally, start the vite dev server with the following command:
yarn dev
If you wish to generate secondary structures for RNA molecules, see Seoncdary Structures.
Dot-braket strings are used for generating secondary structure coordinates. Currently, dot-braket strings cannot be correctly generated in the browser environment and external dependencies are required. There are two ways to provide dot-braket strings for the app: by running included python script which will be queried for dot-braket automatically, or by providing the dot-braket strings manually (from servers such as RNAPDBee or other sources).
RNA secondary structures information generation currently uses Forgi Library v1.0 and requires globally available MC-Annotate executable with python3. Make sure you have these dependencies installed on your system. To start the secondary structure generator, run the following command:
python3 ./wasm/coordinates_server.py
This command will start a minimal python http.server
on localhost:8001
. This endpoint is queried
for
dot-braket
structures which are later provided to the wasm module, which generates the secondary structure
coordinates that are required to display RNA secondary structures.
MC-Annotate can be installed from MC-Annotate repository. It requires you to have mmcore library installed on your system and cmake. Once you have mccore installed, make sure to include the correct paths to mmcore library in MC-Annotate FindMCCORE.cmake. After MC-Annotate executable is built, symlink or add it to your path and make sure to name it exactly MC-Annotate as forgi library is calling it by this name.
├── build - build directory
├── public - web assets
├── src - web app
└── wasm - naview algorithm extracted from ViennaRNA package and some other libraries used to generate secondary structures