Git Product home page Git Product logo

ribodraw's Introduction

RiboDraw

Semiautomated layout of RNA tertiary structure diagrams

(C) Rhiju Das, Stanford University, 2017-2019

Please e-mail questions to [email protected]

Citation

If you use RiboDraw, please cite:

Rhiju Das, Andrew M Watkins, RiboDraw: semiautomated two-dimensional drawing of RNA tertiary structure diagrams, NAR Genomics and Bioinformatics, Volume 3, Issue 4, December 2021, lqab091, https://doi.org/10.1093/nargab/lqab091

Getting Started

Installation of RiboDraw

Ribodraw has been tested on MATLAB R2016a and MATLAB 2017b. Some functionality makes use of the Mapping Toolbox and maybe other Toolboxes.

Download RiboKit either by cloning this repository:

git clone https://github.com/RiboKit/RiboDraw.git 

or check for the latest release at:

https://github.com/RiboKit/RiboDraw/releases

Then add the RiboDraw/scripts/ directory to your MATLAB path using the command pathtool or Set path... from the menu. Make sure to use the option to include all subdirectories.

Rosetta

You'll need Rosetta's rna_motif executable to extract information on sequence, secondary structure, noncanonical pairs, motifs, etc. Grab the latest release at RosettaCommons and follow the installation instructions at RosettaCommons. Alternatively, you can run a rna_motif job via the rna_info ROSIE server.

Tutorial

Follow the Tutorial, which teaches you how to make a nice layout of the P4-P6 domain of the Tetrahymena group I self-splicing intron:

1gidA RiboDraw drawing

It takes about 30 minutes (or more, depending on how much you want to refine the drawing).

A brief account of key steps in the tutorial is available on YouTube; click the thumbnail below!

video thumbnail.

Eterna

It is also possible to use RiboDraw to generate customLayout's for Eterna puzzles -- this is a preliminary solution for conveying 3D information and resolving overlaps in ribosome-scale problems in Eterna. Here's an example for P4-P6,

1gidA RiboDraw eterna theme

available in this drawing, and how this looks inside Eterna at the Eterna P4-P6 development puzzle. Special information on using Ribodraw to prepare Eterna puzzles is available at eterna_tutorial.md.

Documentation

Documentation

Documentation of all MATLAB source code is compiled into HTML format at docs. It doesn't directly display in GitHub (yet), but if you open this README.md on your local machine, double click on scripts/docs/menu.html

Format

The core format for RiboDraw 'drawing' files was originally JSON-like to allow for eventual reading and writing with versions of RiboDraw in other languages or other kinds of software, but MATLAB's tools to read/write JSON are currently very slow. The fields are described here. The format can therefore also be saved to .mat MATLAB workspace files, which are very fast to read/write. Drawings can be exported to .png, .jpg, .ps, and .pdf format for manipulation with other software.

For developers

  • Ribodraw is Open Source. Want to improve RiboKit's MATLAB interface? Port to JavaScript? Check out our Issues page on GitHub. Feel free to fork and make pull requests.
  • Running unit tests Go to RiboDraw/unittests and type runtests. Add your own tests to RiboDrawTest.m
  • Its easy to generate HTML docs We are currently using M2HTML to quickly generate docs for MATLAB scripts. . Download it here, and run the generate_ribodraw_docs command in MATLAB to update docs.

ribodraw's People

Contributors

rhiju avatar everyday847 avatar kkappel1 avatar rkretsch avatar ramyarangan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.