Copyright © 1992-1997 by D.G. Gilbert

All rights reserved.
This program may be used and distributed for free
as long as this copyright notice is retained.

version 2.02, alpha, August 1997
email: software@bio.indiana.edu
Biocomputing office, Biology Dept.
Indiana University, Bloomington, IN 47405


Fetching and Installing
Installing MacOS, MSWindows, Unix and others
Input Data
Editing Data
Drawing Loops, Editing Loops
Loop Styles
Undo and Redo
Saving and Printing
Citing, Bugs and History
How to Use LoopDloop
by James W. Brown (written for an earlier version)
What is LoopDloop?
Editing the first draft.
Polishing the structure for publication.
Other useful functions in LoopDloop.


loopDloop is a tool for drawing RNA secondary structures in molecular biology.

loopDloop will read files that include biosequence data with base pairing information. It will display graphical views of the sequence's secondary molecular structure. Various options allow one to modify, adorn and edit the structure. Standard application functions to save, print, edit and manage preferences are included. This program will not estimate nor produce the base pairings needed for secondary structure. For that, other software such as RNAFOLD, MulFOLD, and multiple sequence alignment editors may be used.

LoopDloop is now written as a Java application. This means that it will run on most personal computers and workstations as a standard program or application. It works without any network connection, without use of Netscape or other Web browser. It can save and load files from your computer, it will be able to print (as soon as the developers of the Java recognize that printing is a useful function :), it will be able to save preferences, and have flexibility that a smaller applet would not.

Note: This is a work in progress; it is unfinished software.

Starting with the release of loopDloop in December 1996, it has been converted to the Java language and its cross-platform development library. The current release is lacking several features of prior Macintosh releases, notably most of the editing features have not yet been implemented. In this preliminary Java version, one can open data files in two standard formats (see below) and display the molecule's secondary structure. There are a few basic display options and adornment options. One can save or print the structure to a Postscript file.

Perhaps the largest problem with the current release is that Java is still in preliminary stages as a cross-platform application model. The current distribution of loopDloop provides the Java p-code, but one must fetch and install a Java runtime application and library to use it. This runtime application can be obtained freely on the Internet (see below), however fetching and installing it adds such complexity that makes me think only a small portion of interested users may have the time to deal with this.

Fetching and Installing

Perhaps the most annoying problem to me with this software is the complexity of fetching and installing it. If you use Netscape or other Java enabled Internet browsers, you can use a Java applet just by clicking your way to a WWW page that has one embedded. This software is more complex than is suitable for an applet; for one thing it reads and writes files on your computer like any average program, but which applets cannot yet do. I believe that over the coming year, advances in Java technology will make this fetch/install problem all but disappear.


The current state of Java applications on computer systems means that you will need to fetch a Java runtime system as well as the files for this specific application. If you have other Java applications on your computer (not applets that run within an http browser like Netscape), you may already have the Java runtime system needed.

LoopDloop is available over the Internet at

The essential files and folders that make up this application are
For Macintosh and MSWindows users, you will find a (large) package that includes all files needed for this application and the Java runtime system. Though this runs to about 5 megabytes for the Macintosh version, the bulk of this code is the runtime system that may well be used for other Java applications.

Macintosh users will find these files in the archive file loopDloop.sit.bin. MSWindows users will find program files in the archive file loopDloop.zip. Unix and others will find just the program files in the archive file loopDloop.tar.gz. You likely will need to fetch (see below) and install the Java runtime for your system. Newer operating systems (MacOS 8, Warp) include java runtime systems; though you may want to update them to current versions.

As I've learned with other multi-platform applications that I make available to the bioscience community, there are difficulties involved in the time it takes me to update multiple archives for different computer systesm. The simplest way for me to distribute and update this software is to provide it as separate files, e.g., the pictures and documents and p-code files, and to update each one individually as needed. For example, I update this document after I've already produced some of the archive files. So I will also provide the most current version of this software in its un archived form. Within program folders,the folder called local/ has those items specific to each computer system. With a bit more programming effort, I hope to have the application do some of its own updating as needed (see below Updates).

This current release is based on the Java Developer Kit 1.0.2. To run it, you should have installed the runtime compatible with JKD1.0.2. This can be found through Javasoft, and at various mirror sites around the world.

For Java runtimes for various operating systems, see

A newer Java version, 1.1, became available in 1997. I will provide an update to this program with this new Java version, perhaps by the start of 1998. For now, Java version 1.0.2/1.0.3 runtimes are needed to run the application.


The program is installed as follows. Also used by the program are picture files in the data/pix folder. Sample RNA structures are in the data/samples folder. On all systems, the following files specific to the application should be in one folder:
data/ folder
Various Java runtime system accessory files need to be placed as per your computer system.

Installing for MacOS

There are various Java runtime systems available for Macintosh. For development, I use one from Metrowerks. But for general use, the Macintosh Runtime Java (MRJ) produced by Apple Computer is the easiest, and in many ways the best. It still has some annoying bugs, as do all Java runtime systems.

1. Keep in the same folder whereever you prefer, the application LoopDloop, the LoopDloop.jcode Java class archive, and the data folder.

2. Use the MRJ installer from Apple Computer to install this Java runtime software. If you have MacOS 8, this is included as part of the OS. However, at the first release of MacOS 8, the MRJ included is an early, slower version. You should upgrade to the MRJ 1.5 release.

3. Put the contents of "->System/Extensions" into System Folder:Extensions:

DClap-MRJ-68K.shlb (for 68K macs)
DClap-MRJ-PPC.shlb (for PowerPC macs)
These extensions enable the link from this app to Netscape and other Internet software.

4.Install the Internet Config application, if you don't have it. MacOS 8 includes this program. This free, widely used program enables links among Internet aware applications. This application uses it to call others like Netscape to open network links and the help document.

Installing for MSWindows

The file names used are long file names. It has only been tested with MSWin32 (Win95/NT), and may not work with Win3. When you unzip the archive file, use a current unzipper that preserves long file names.

1. Keep in the same folder whereever you prefer, the program batch file LOOPDLOOP.BAT, the LoopDloop.jcode Java class archive, and the data folder.

2. Install a Java Runtime system for MS Windows. Install it in a standard location, which will be entered in the LOOPDLOOP.BAT file. A recommended Java runtime is found at http://www.javasoft.com/products/jdk/1.0.2/installation-win32-x86.html You may want to install this in the same folder as you store LoopDloop (and other java applications). Or you may want to install this in a general MSWindows folder, perhaps C:\WINDOWS\JAVA. I don't know of a prefered location yet on MS Window systems for Java runtime files. You will need to edit the batch file (step 3) to account for this location.

3. Edit the LOOPDLOOP.BAT file to make the path names match the file locations on your computer.

          set base=\djava
          set appclass=%BASE%\loops\LoopDloop.jcode
          set java=%BASE%\java

These three lines should be matched to folders on your system. The base path locates Java runtime and the LoopDloop data files. If you want, these can be in separate folders; in that case, remove the BASE specifier for appclass and java path settings.

For the application to link properly to Netscape or other Internet browser, you may need to edit the preferences file. You can do this from within the application; see the Options/Edit Framework ... Menu. Or you can edit the file dclap.ini which will be created in the \java\ folder. In either case, you want to enter the variable name user.openurl= then the full path to your browser to be sure that it works properly. This path may well be the same on your system as mine, which is as follows. Note the quote marks (due to space in name) and the double backslashes \\ which are required to insert one \.

user.openurl="C:\\Program Files\\Netscape\\Navigator\\Program\\netscape.exe"

If you use the Edit prefs menu, after editing close the window. You should be prompted to save changes; do so.

Installing for Unix and others

Besides the application files, you will need a Java runtime system for your operating system. Some of these are listed at http://www.javasoft.com/products/jdk/jdk-ports.html.

For Sun Solaris computers (SPARC and Intel):

For IBM Warp on Intel, IBM AIX, and MS Windows 3.1 computers:

For DEC Digital Unix computers:

For various Linux on Intel systems:

For Silicon Graphics IRIX computers:
SGI has hidden their Java runtime version 1.0.2. Sorry.
contact SGI for more details at http://www.sgi.com/

Whatever runtime system you install, it must be called with the LoopDloop.jcode file. See the file loopDloop which is a small shell script to do this on Unix. Edit that to suit your system needs.

You need to define the user.openurl= variable to find your Netscape or equivalent. You can do this from within the application; see the Options/Edit basic prefs... Menu. Or edit the file ~/.dclaprc directly to enter such a line. The variable line for my unix system is


Also, you might instead use a shell script (like the "netscape.sh" included). If you rename that to netscape, edit it to suit, and put in the folder with LoopDloop.jcode file, it may take the place of editing the preference file.

On all systems, you can define the user.print= variable to say what file name to "print" to. Currently Java 1.0.3 does not understand printing (a slight oversight due to the Xwindow history of Java). The current Print command just sends postscript of a drawing to the user.print file.

Updates and source Internet links

You can obtain new releases of this software through anonymous FTP to iubio.bio.indiana.edu, in folder /molbio/loopdloop/, or using WWW to iubio.bio.indiana.edu, in a folder called IUBio Software+Data/molbio/loopdloop/. Look in the Java subfolder for this current release.

This software is testing use of Java network methods to offer easy access to software source and updates. On the main splash-screen, the Updates button (on the "version" label) will check whether the software version you have is out-of-date. See also the File menu, Check updates command. These connect by Internet to the home archive for the software.

These options and the help command use an accessory program for opening URLs (Internet universal resource locators). Typically this accessory will be Netscape or the like software. In order to use this accessory program properly, it must be configured on your computer.

For Macintosh users, this involves installing Internet Config, a small free program used by many other Internet applications. Internet Config must be installed on your system, and you need to configure it to specify Helpers for at least the following protocols: ftp, file, http, mailto. These helpers may all be Netscape.

For Unix users, this involves setting the preference called "user.openurl" to the proper path to reach your prefered Internet HTML browser. See also the small shell script that can be used to customize this function.

For MsWindows users, this also involves setting the preference called "user.openurl" to the proper path to reach your prefered Internet HTML browser.

Java source code for loopDloop is available here to developers. A preliminary class application framework forms the basis for this source code, and may be of use in developing other applications for the biosciences. This framework is called DCLAP, as it is derived from the C++ framework the author has been working on for the last few years.

The file loopDloop.help is a plain text file which may be read from your favorite word processor.
Comments, bug reports and suggestions for new features (see below) may be addressed via e-mail to Software@Bio.Indiana.Edu

If you need to use land mail (e-mail is much preferred), send to
Don Gilbert
Biocomputing Office, Biology Department
Indiana University, Bloomington, IN 47405

Input Data

loopDloop accepts data in three forms:

In all cases, the text style of nucleotides, including color, size, font and text face will be copied into the secondary structure drawing.

CT Format
   75 ENERGY =   -21.2    DROTRE4        75 bp ss-tRNA 
    1 T       0    2   71    1
    2 C       1    3   70    2
    3 C       2    4   69    3
    4 C       3    5   68    4
    5 A       4    6   67    5
    6 T       5    7   66    6
    7 A       6    8   65    7
    8 T       7    9   64    8
    9 G       8   10    0    9
   10 G       9   11   25   10
   11 T      10   12   24   11
   12 C      11   13   23   12
   13 T      12   14   22   13
   14 A      13   15    0   14
   15 G      14   16    0   15
   16 T      15   17    0   16
   17 G      16   18    0   17
   18 G      17   19    0   18
   19 C      18   20    0   19
   20 T      19   21    0   20
   :          :
This format is generated by various other programs.

Pairing Format

!    Example_tRNA
  The following will text will create a "cloverleaf" structure 
  for Rhodospirillum rubrum tRNA Phe 

$ !sequence!
% !pairings!
   1  (((((((--((((--------))))
  26  ((((((-------))))))----((
  51  (((-------))))))))))))----
!--- OR this form --- !           

%   1  (((((((--((((--------))))

%  26  ((((((-------))))))----((

%  51  (((-------))))))))))))----

A dollar sign "$" signifies start of sequence, while a percent "%" signifies the start of pairing information. Pairing characters may be "()", "<>", "{}" or "[]". Comments may be inserted in the sequence when surrounded by exclamation points "!".

Olsen Format

!    Example_tRNA
  The following will text will create a "cloverleaf" structure for
  Rhodospirillum rubrum tRNA Phe 

Comments may be inserted in the sequence when surrounded by exclamation points "!".

Opening Data

loopDloop works with plain TEXT type files. These are usually created by another program, such as MulFOLD, or with a text editor. When you choose to Open a file, loopDloop will attempt to interpret it as one of the above formats and draw the structure.

Editing Data

The edit mode of loopDloop is similar to basics of many programs that process text. You can open a window from a text file of sequence data, or create a new one, edit it and save it.

Drawing Loops

When you have a text window open, you may choose the Loops menu item "Text to Loop" to convert the sequence into its secondary structure drawing. This creates a new picture window. Note: If you have selected a region of text, only that region will be converted to a loop drawing.

Editing Loops

The format menu currently provides drawing options for drawing style, and a drawing tool palette is available for the pictures.

€ The arrow tool lets you select objects (loops, shapes, bases) in the drawing, and move them around.

€ The needle & thread tool lets you create ties between any two bases. Click on one base with this tool, click and hold mouse down on the second base of a tie, and move that second base to position the tie. Move the tied base closer to the first base to shrink a loop, move it left or right to straighten a stem, etc. This will take practice to find how to best position loops.

Note that the most effective bases to tie are those which are at the base of a stem. Bases within a loop are often unaffected by ties, and bases further into a stem often result in bad displays when tied.

These ties are strictures on how the display can position. This is the main tool for modifying the orientation and internal loop and stemp positioning of a secondary structure. The Undo method is active; you will likely need to use it often to avoid excessive changes due to ties.

€ The scissors tool lets you cut a tie between bases. Click on the base at either end of the tie to cut it.

€ The pik tool lets you create bonds between two bases. [Not yet functional in current Java version]. In general, you should start with data file that already has stem base bonds in it. This software is not well suited to adding all stem bonds from scratch.

€ The knife tool, converse of the pik, cuts a stem bond between two bases. [Not yet functional in current Java version]

€ Standard shape drawing tools include Line, Rectangle, Circle/Oval, Round rectangle, Polygon and Text. These let you add adornment shapes to the drawing. [These are not fully functional in current Java version].

You can reposition loops and shapes in the window by clicking and dragging them. When selected by clicking with arrow tool on a shape, the methods in the Objects menu can be applied to that shape. The view may be magnified or reduced with selections in the Objects menu.

Loop Styles

The menu option Loop style lets you choose among loop construction methods. These include methods of calculating the positions for multi-stem loops, the position of inner loops, the precise calculation method, and whether to show the drawing ties (which is essential for editing, but not desired for final outputs).

Multi-stem loop construction styles
The positioning of multi-stem loops is where most of the leaway is on how an RNA secondary structure is displayed. To change dramatically the orientation of the molecule, you can add ties between stems coming out of a multi-stem loop.

The Polygon method for multi-stem loops is generally the best automatic method for loop construction. It is the default method. However, you cannot create ties that shape the loop with this method. So for editing your loop display, switch to the Multi loop Arc method.
The Arc method for multi-stem loops often looks better but generally requires editing to unravel overlapped stems.

Inner loop construction styles

The Straight method for inner loops is generally the best automatic method for loop construction. It is the default method. However, you may need to switch to the Bulge method when editing loops, as this method imposes restrictions on the drawing.
The Bulge method for inner loops may be best when you are editing the loop and adding ties.

Undo and Redo

Standard application commands for undoing an operation that changes your document are available in several contexts. This can be very useful , as is common, you create a tie between bases that causes the molecule to change too radically. Use the undo option to return it to its pre-tie state.

Saving and Printing

You may save a loop drawing (see File menu Save item) in various formats. These include

This current release does not support direct printing, due to the lack of this feature in the Java 1.0 toolkit. For now, save your drawing in a graphic format and use another application to print it. A later release with newer Java support will allow direct printing.

A drawing is always printed at page magnification regardless of what view reduction you may have chosen. However, you can alter the page magnification with the Pag Setup dialog. You can also select your Drawing Size, i.e., the number of pages an entire window will span. The drawing size changes when you change page magnification.

Citing, Bugs and History

Citing this work

If you use results of this program in a publication, you may use these citations of this software, depending on the version you used:


The Java version of LoopDloop is still very preliminary, and lacks functions found in the precursor Macintosh version. In general, remember to save your work early and often.


LoopDloop was started Winter of 1989 as a modern tool with a good user interface, for drawing and editing RNA secondary structure, to replace a command-line, non-interactive program. This was LoopSol, written by Gary Olsen in the mid 1980's. loopDloop owes a good bit of it's secondary structure calculation algorithm to LoopSol. It also incorporates several additions to those calculations.

loopDloop has gone through several transformations. A preliminary version has been in limited distribution since 1989. A subset of loopDloop, lacking the editing operations, was released as LoopViewer in the Fall of 1990 .

Further programming work was delayed while the author converted to using the MacApp extensible Macintosh application development library. LoopDloop was been converted to a MacApp-based program, and its first public release (still with plenty of bugs) made in August 1992.

After a hiatus of a few years, in the Fall of 1996 the source in Object Pascal was converted to the C++-like Java language. The author undertook this in part to test whether the Java language and its Abstract Window Toolkit was robust enough to support a moderately complex application.

How to Use LoopDloop

by James W. Brown
(for an earlier version)

What is LoopDloop?

LoopDloop is a Macintosh application for drawing RNA secondary structures. The program, by Don Gilbert (Biology, Indiana University) was originally based on a non-interactive RNA drawing program by Gary Olsen (LOOPSOL) which ran on DEC microVAX computers and ran HP plotters. At this time, LoopDloop is NOT a finished application - although it works well enough to be useful, it contains a number of known "features" (bugs), and is not very stable. Some of the more predictable problems are described below. Likewise, many of the functions that will appear in the release version of the program are not yet incorporated. This description is for version 0.9d3, which is very similar to 0.8d97 (which can be found on the IU Biology file server Darwin's Mac). LoopDloop is available from Don Gilbert or Jim Brown, at the Department of Biology, Indiana University, Bloomington, IN 40405.

LoopDloop is an secondary structure drawing program - it is NOT an RNA folding program. The base pairings (i.e. secondary structure) are defined by the user, not predicted by the program. LoopDloop then allows the manipulation of the resulting secondary structure representation.

What will this "Help" file tell me?

This description of LoopDloop is not intended to be complete documentation for the program - Don Gilbert will have to deal with that when the program is closer to being finished. This documentation is a description of the basics of the program, how to get started, and how to use it to generate presentable secondary structures. Once you feel comfortable with the basics of the program, by all means explore and see what it can do.

System requirements.

LoopDloop requires a Macintosh II computer (II, IIx, IIcx, IIci, or IIfx - excludes the IIsi unless it has the optional math coprocessor) or an SE/30 that has a math coprocessor, and at least System v6.0.2. LoopDloop is compatable with System 7. The resulting secondary structures can be printed to QuickDraw or Postscript printers.

The LoopDloop disk files.

LoopDloop is a single application file - no accessory files, preference files, or data files are required. However, a variety of example data files are included with the program to demonstrate the text file input formats and how the program can be used to generate presentable secondary structures. An "About loopDloop" file contains an outdated brief description of the program.

Getting started.

Before starting LoopDloop, you need to have the sequence of the RNA to be drawn, and some representation of the secondary structure - a pencil sketch, for example. This data can be entered into LoopDloop by either of two methods: as an input file, or directly into the LoopDloop text editor. The data formats are the same in either case. You can use any text editor or word processing program to generate text-only (ASCII) files containing your data. LoopDloop will open these files with the "Open File" command, and translate them directly into "first draft" secondary structures. Alternatly, LoopDloop contains a built-in text editor that can be used to enter the data, which is translated into a secondary structure using the "Draw loops" command.

Data file formats.

LoopDloop uses text data files in one of two formats. The first format, which could be called the "Gary Olsen" format, is compatable with the original LOOPSOL microVAX program, and incorporates parenthesis within the sequence to define base pairings. For example:

Figure 1.

Notice that the 5' nucleotide of a base pair is followed by a right-facing parenthesis "(", whereas the 3' nucleotide of a base-pair is preceeded by a left-facing parenthesis ")". Thus, ....G(.....)C.... indicates pairing of these nucleotides. Stem-loops (i.e. UUCG in the above example) are therefore bracketed by the parenthesis of the last base pair of the stem. Returns () and spaces are ignored & can be placed anywhere in the sequence. Because LoopDloop (like most computer programs which deal with RNA secondary structures) cannot display structures with pseudoknots, there is no ambiguity in the pairings even of complex secondary structures containing stems within stems within stems. Any nucleotide which pairs with a nucleotide downstream is followed by "(", and any nucleotide which pairs with an upstream nucleotides is preceeded by ")". An example "Gary Olsen" data file for the Rhodospirillum rubrum tRNAPhe would be:


or, for clarities sake:

G(C(C(C(G(G(G( ! <-- 5' portion of the AA-acceptor stem !
UA ! <-- unpaired nucleotides !
G(C(U(C(AGCUGGUA)G)A)G)C ! <-- DHU stem/loop !
A(C(G(U(G(A(CUGAAAA)U)C)A)C)G)G ! <-- anticodon stem/loop !
UGUC ! <-- variable "stem" (no pairs in this case) !
G(G(U(G(G(UUCGACU)C)C)G)C)C ! <-- TYC stem/loop !
)C)C)C)G)G)G)C ! <-- 3' portion of the AA-acceptor stem !
ACCA ! <-- 3' CCA tail (unpaired) !

A more clear data file format, which could be called the "loopDloop" data file format, is conceptually the same, but the sequence and pairing information are separated into different lines of the input file:

Figure 2.

Lines containing sequence data are preceeded by dollar signs "$", and lines containing pairing data by percent signs "%". In this format, unpaired nucleotides MUST be indicted in the pairing data lines by dashes "-". In order to get the two lines of information to line up one beneath the other, use either Monaco or Courier fonts (in which all characters are the same width). An example of the R. rubrum tRNAPhe data file in this format whould be:

% (((((((--((((--------))))((((((-------))))))

% ----(((((-------))))))))))))----

Comments can be embedded into either type of format by flanking the comments with exclamation marks "!", for example:

! This is an example of a comment added to the file !
% ----(((((-------))))) ! this is also a comment !
This is another comment
added to the file, and
is also ignored.

LoopDloop draws helices clockwise by default; if you want a helix drawn counter-clockwise, use square brackets"[]" instead of paraenthesis, for example:

Figure 3.

Usually, however, it is easier to start out with all of the helices clockwise (i.e. use only regular parentheses), then invert helices later, as described below.

Drawing "first-draft" secondary structures.

Once you have a data file, either in the LoopDloop text editor mode or saved as a text-only file from different text editor/word processor, you're ready to generate the first draft of the secondary structure. Before you do, however, you need to specific the font and font styles you want in the secondary structure (Helvetica 10 point bold is good for laserprinters, but use Geneva 10pt bold for Imagewriters). If you're in the LoopDloop text editor mode, select the entire text, and choose your fonts & styles from the menus - note that if you're using the "LoopDloop" data format, the sequence and pairing information will most likely no longer line-up properly: that's OK. If you've created a text file with your data to be read into LoopDloop, run LoopDloop and choose the fonts & styles from the menus now. In either case, choose the "Loop Preferences" you want from the Loop menu item with the same name: try starting with "arc multiloop" and "arc inner loop" using the LoopDloop calculation method. Then be sure that the "Label" and "Flip stem" options in the Loop menu are unchecked, but the "Base", "Bonds" and "Ties" options are checked. Then draw the first-draft secondary structure by choosing "Draw loop" (if your data is in the LoopDloop text mode window) or by "Open"ing the text-only data file with LoopDloop. At this point, DON'T PANIC! The first draft structure will most likely look a mess, with helices overlapping & sticking out in all directions. For example:

Figure 4.

Editing the first draft.

The next step is to adjust the shape of the structure to eliminate overlapping regions and to orient the various parts of the structure for clarity. This is done using "ties", which come from the needle-and-thread tool located on the tool palette. The tie tool is used by first clicking on the first ("reference") nucleotide, then dragging the second nucleotide to the desired location. A tie will appear connecting the two nucleotides (which can be adjusting by clicking and dragging as before). To remove a tie entirely, select the scissors tool, and click on one of the bases that the tie connects. It is best to start by orienting the 5' and 3' ends of the RNA first, then work your way into the molecule (proximal to distal) from there. As an example, the above structure with one tie orienting the 5' and 3' ends is shown below:

Figure 5.

Notice the tie attaching nucleotides 1 (the reference) and 120 (the nucleotide dragged). Ties usually reorient everything between the two nucleotides connected by it. The program tries to draw the loops as circular as possible and the helices as linear as possible within the constraints of the ties. If it can't figure out how to accomadate the secondary structure with a tie, the tie is ignored (at best) or the program crashes (at worst). For example, if the tie between nucleotides 1 and 120 above were lengthened, the program could choke, because it isn't supposed to pull base-pairs apart and there's no slack left in the single-stranded region. Rule #1 of loopDloop - SAVE YOUR WORK TO DISK OFTEN! Rule #2 of LoopDloop - BE PATIENT! It takes a little experience to be able to identify the best ties to tie up a structure into a presentable form. Getting helices oriented exactly horizontal or vertical, for example, can be particularly exasperating - keep trying! Start by working with the nucleotides at the end of helices to adjust the relative orientation of the helices. The following examples demonstrate how some common structures can be arranged using ties:

Figure 6.

Figure 7.

An example of a finished structure for the original RNA example shown above, with the ties shown, is:

Figure 8.

Sometimes it can be difficult to eliminate overlapping of helices without making the structure look very strange; try "inverting" a helix that seems to get in the way. Likewise, the "standard" representation of some RNAs are not clockwise (i.e. tRNAs). To invert a helix, select all of the nucleotides in the stem/loop, then select "Flip stem" from the Loop menu:

Figure 9.

tRNAs are usually drawn counterclockwise in the standard "cloverleaf" secondary structure. This is the R. rubrum tRNAPhe from the example input files, shown with & without ties:

Figure 10.

If all you need is a rough version of the structure, all that's left to do is hide the ties (Un-checkmark the "Ties" from the Loop menu) and print the structure. Viola! Be sure to save your work - it is generally best to save your data in all three file formats - text, pict and data. If you want publication-quality structures, you'll need to polish up the structure, as described below.

Polishing the structure for publication.

Unfortunately, the ouput directly from loopDloop is rarely clean enough for publication - in particular, the dashes marking pairings are usually uneven, and nucleotides usually need to be nudged around microscopically to make them look nicer. The best way to do this is to "Save as..." your structure as a PICT file, which can be imported into MacDraw II, Canvas, Illustrator, or about any other Macintosh drawing program. When imported as PICT files, LoopDloop structures are saved in groups containing different types of information: the structure itself, the labels & numberings, and the ties. The "tie" group should be deleted. In order to adjust anything in the structure, "ungroup" each group so that you can work on the elements individually (see your MacDraw II manual for how to work with this program). The drawing will also have some "headings" at the top, which should be removed. Then go to it! With a little work, you can generate professional-looking figures of RNA secondary structures, such as that of the RNase P RNA shown on the last page. We use LoopDloop (in conjunction with MacDraw II) routinely in the preparation of secondary structure figures for publication in journals such as Science, Nucleic Acids Research, J. Bacteriology, PNAS, Biochemie, J. Biological Chemistry, etc.

Other useful functions in LoopDloop.

Although not generally required, there are a number of other useful features in LoopDloop so far that are noteworthy.

Although nucleotides can't be added or removed while editing secondary structures, pairings between nucleotides can be added or removed using the "pick" tool (to add) and the "knife" tool (to remove). To add a pair, select the Pick tool, then click on each of the nucleotides to be paired. If the pairing is valid (i.e. doesn't "cross-over" other pairings, forming pseudoknots or tertiary interactions), the pairing will be made. To remove a pairing, select the knife tool and click on either of the nucleotides in a pairing. In theory, therefore, you can enter in a sequence without any pairing information, and add all of the pairings using the Pick tool - the original ("first draft") structure will be drawn as a circle to which pairings are added one at a time. This is practical only for very small RNAs, however.

Use the Lasso tool to select large numbers of nucleotides, for example when getting ready to "Flip" a stem/loop. When selecting nucleotides one at a time, just click on them using the arrow tool.

Use the arrow tool also to drag the structure around the screen, by clicking down on the mouse within the structure (but not on any nucleotides) and dragging to the desired location.

Structures are numbered every 20 nucleotides by default. To un-number or number a nucleotide, select the nucleotides desired and choose "Label" from the Loop menu. Nucleotides can likewise be boxed, circled, hidden, or their font and font style changed.

Use "Page setup" and "Drawing size" to fit your structure on the page.

Known bugs and unusual "Features".

If ties are extended past the physical limits of the nucleotide chain lengths, the nucleotides between the ends of the tie will often not be shown. They're still there, however, and can be resurrected (usually) by shortening the tie. If the tie links either the 5'- or 3'-most nucleotides, expect strange results - the structure is usually shifted almost, but not quite, entirely off the top of the screen. Cut the tie (if you can) and try again.

When showing and hiding ties, sometimes the checkmark on the "Ties" menu item gets out of sync with whether or not the ties are really being shown. This doesn't seem to cause any trouble, however.

The program is unstable - expect crashes at unpredictable intervals for no apparent reason. The moral is, of course, SAVE YOUR WORK FREQUENTLY.

The Hand, Crosshair, Magnify, and Text tools are not yet functional.

When orienting a structure using ties, particularly at the 5' and 3' ends, the structure will seem to jump around the screen - you'll have to scroll around to get back to your current work-site. This is apparently caused by the programs attempts to keep the structure on the page defined by "Page Setup".

This can be disconcerting, but is really only an annoyance that is quickly overcome.

The LoopViewer program.

Loopviewer is a program which is a "subset" of LoopDloop, and allows .CT files generated by MULFOLD, FOLD, and SQUIGGLES to be viewed (but not edited) on the Macintosh screen. This program, which is finished and released, is available from Don Gilbert.

That's all!

LoopDloop is available directly from Don Gilbert. This documentation was prepared by James W. Brown on August 8, 1991.

Figure 11.