README
VIBING
Varna Implemented as a Browser Interface for Nucleic acid Graphing
Ved's attempt at using Typescript to write a pure Javascript RNA secondary structure drawing app. Play around with it here: https://vedtopkar.github.io/vibing
Demo
Use the GUI
Using the following inputs:
AAAAAGGGGGAAGGGGAAACCCAAGGGGAAACCCACCCCCAAAAAAAAAAGGGGGGAAAAAAACCACCCAAAAA
.....(((((..(((....)))..(((....))).)))))..........(((((........)).))).....
We get:
Use as CLI utility
You can install this package with npm. First, install node.js. On MacOS you can just do a quick brew install node
.
Once you have node (and thus npm) installed, you can install this package as a global CLI utility by running:
npm install -g vibing
Local Development
Clone:
git clone https://github.com/vedtopkar/vibing.git
Install npm module dependencies:
cd vibing && yarn install
For development, start the parcel
server with yarn
:
yarn watch
Your page will reload every time you hit save on a modified .ts
or .html
file.
Dependencies
Feature TODOs
Implement pan mouse functionality- Figure out robust vertical text centering for nucleotides
Implement interactive flipping stems around baselineScale up terminal loop radius for large-sequence loopsAbstract away global variables for drawing configSplit up drawing scripts for each element typeUpdate stem drawing for arbitrary anglesImplement drawing bulgesImplement drawing internal loopsImplement drawing multi-loopsImplement zoom mouse functionalityImplement interactive stem moving at bulgesImplement interactive stem moving at internal loopsImplement interactive stem moving at multi-loops