# RiboSketch

## RNA and DNA Secondary Structure Image Production

Enter file name for download:

## Secondary Structure Input:

ct (Connect)
dbn (Bracket)
bpseq (Column)
rs (Save file)
nts (From json)

Paste your secondary structure input into the text area below:

## Save File Output:

Command/Ctrl-a to select all, then copy and paste to a local file for future use

## Add Bonds:

Enter a comma separated list of bonds, formatted with the Leontis and Westhof nomenclature

## Color Input:

Enter a space separated list of numbers to color bases on a gradient

#### NOTE:

#####

- The program must be activated (canvas outlined in blue) to use. Click within the box to activate the program.
- Make sure the view-zoom of the browser window is set to 100%, or default. The program will be out of focus if you are zoomed in or out.
- If this online version gives you issues, try downloading the program from our homepage.
- Please cite our publication if you use RiboSketch for your work.

RiboSketch Homepage

##### Visit our homepage for download links and more information

# What is RiboSketch?

#####

- RiboSketch is a drawing program for the production of RNA and DNA secondary structure images.
- The user provides an input file (.ct, .bpseq, .dbn, or the save file type .rs) containing the sequence and base-pairing of the strand(s).

## Features

#####

- Works with multiple strands, non-canonical interactions, hybrid RNA-DNA base-pairing, pseudoknots, and interstrand interactions
- Creates automatic layouts and circle diagrams
- Dynamic simulation mode
- Interactive editing is enabled through precise commands
- The user may save the state of the program and load previous save-states
- Actions may be undone and redone

# Using the Program

#####

- Load a secondary structure file (you can add additional bonds and non-canonicals once in the program)
- Default start state is the “Radial Layout”.
- Mouse over the top of the screen to access the MENU and to view COMMANDS.

## Mouse Commands

#####

- Click on (or drag a selection box over) bases to select them. Hold shift to multi-select or toggle the selection of bases.
- Drag selected nucleotides to move them.
- To select individual nucleotides, hold ALT/OPTION and click.
- To select one half of a helix, you can either:

- Select the helix, then shift click on the side you don't want to unselect it.
- Click and drag a selection box over one side of the helix.

- ROTATION: “m” rotates clockwise about the mouse cursor, “n” counterclockwise. Hold shift to rotate with a smaller angle.

## Menu Features

### Sliders

#####

- Base Size: Size of nucleotides
- Bond Length: Distance between base-paired nucleotides
- Chain Length: Effective only during simulation mode, controls distance between adjacent nucleotides
- Color Scheme: “Pastel”, “White”, "Light", “Bright”, “Grey", and special ones:

- Base Type: Each nucleotide type gets its own color
- Rainbow: Each individual base gets its own color
- Structure: Paired bases: Yellow, Unpaired: Blue
- Custom: User must input number values corresponding to each base

### Buttons

#####

- Save: Writes state of program into a text file (.rs), which can be loaded into RiboSketch.
- Load File: Read a new secondary structure file into the program.
- Load Bonds: Add new bonds from a text file of comma-separated entries with format: “firstID secondID bondType”

- Example: 3 20 cWW, 4 19 tHS, 6 30 cSS

- Load Colors: Color nucleotides based on a space-separated list of numbers (probing data) from a text file.
- Radial Layout: Position nucleotides with the NAView algorithm, expanded to accommodate multiple strands and pseudoknots.
- Circle Layout: Nucleotides are positioned in a circle with base pairs drawn as chords.
- Simulation Mode: Apply forces.
- Sim. Selected Mode: Only apply forces to selected nucleotides.
- Rigid Helices: Enforce right angles for helices.
- Rigid Loops: Circularize loops and straighten stems.
- Rigid Hairpins: Circularize hairpin loops. Only has effect when Rigid Loops is OFF.
- Zoom Reset: Return zoom to default.
- Outlines: Toggle drawing circles around nucleotides.
- Labels: Display numbering for every tenth nucleotide.
- PNG Screenshot: Saves a screen image to the folder of the input file.
- SVG Screenshot: Saves an SVG file of the screen to the folder of the input file.

## Keyboard Commands

### Editing

#####

- ROTATION: “m” rotates clockwise about the mouse cursor; “n” counterclockwise. Hold shift to rotate with a smaller angle.
- "z": UNDO. Shift-Z to REDO.
- "s": Turn on or off SIMULATION (forces)
- "S": Toggle the SIMULATION MODE to apply forces to selected nucleotides only or all nucleotides.
- “f”: FLIP the halves of a selected helix.
- “x” or “y”: Flips the selected bases over the X or Y-axis.
- "r": RELAX FORCES for selected nucleotides. Effective only in Simulation mode.

### Display

#####

- + / - : Zooms the screen in or out
- 0 : Resets the view scale
- Arrows : When no nucletodies are selected, the arrow keys translate the window view.
- 1 / 2 : Brings the selected bases to the front or back, akin to Powerpoint
- b / B : Base SIZE +/- (Same as slider)
- o : Toggle OUTLINE
- i : Toggle LETTERS
- l : Toggle LABELS (Same as button)
- k : View base number in secondary file
- v : Toggle ANNOTATIONS (5' and 3', strand number)
- c : Changes the color scheme of the nucleotides
- p : Saves a PNG SCREENSHOT (Same as the button)

## Adding and Deleting Bonds

#####

- Adding: Hold Spacebar, click first base, click second base.
- Non-Canonical: Click "Load Bonds" button to add bonds with specified type through text input (Ex: 3 25 cWW, 8 12 tHS)
- Deleting: Hold "d", click a base to delete its bonds.

## The "RS" Data Format

##### The state of the program can be saved using the "RS" format (RS stands for RiboSketch), a special case of the Java Properties format: In other words, a text file in which keys and values are separated by an equals ("=") character. Comment lines (preceded by the "#" character) are allowed. Recognized keys are:

1. sequences: semicolon-separated list of RNA or DNA sequence strings which are in upper or lower case respectively
2. starts: comma-separated list of zero-based indices of the first residue of each sequence
3. positions: semicolon-separated string of x,y,z positions of each residue. In the current version the z-values are set to zero.
4. radius: the radius of the residues in pixel units
5. backbone_distance: target distance of two residues that are adjacent in sequence
6. basepair_distance: target distance of two base paired residues
7. color_scheme: an integer that stands for the color mode
8. outline: true/false indicating whether the residues are drawn with a black circle
9. movement: true/false indicating whether the simulation mode is on
10. labels: true/false indicating whether the residue labels are shown or not
11. rigid_helices: true/false indicating whether rigidifying helices is activated or not
12. rigid_loops: true/false indicating whether rigidifying loops is activated or not
13. rigid_hairpins: true/false indicating whether rigidifying hairpins is activated or not
14. relax_ids: comma-separated list of residues whose basepairs are not affected by forces
15. display_order: residues are displayed in this order. This is useful in order to achieve foreground/background effects
16. pair_table: residue partners for each base pair (-1 for unpaired bases). Similar to base pair column in a CT format file.
17. non_canonicals: extra information about non-canonical base pairs
18. base_colors: assignable colors for each base (comma-separated RGB values between 0 and 1)