JaMBW Chapter 5.2

Primer Design

Would you use a Java-capable WWW browser you will be able to run this applet that allow to find optimal primers for the polymerase chain reaction.

What is this applet for

This applet is designed to make simple the work of selecting primer pairs for the exploitment of Polymerase Chain Reaction. The terminology "forward" and "reverse" primers is as described by Lincoln et al. (1991) in Primer 0.5 documentation:

Given a DNA sequence, PRIMER adopts the following naming conventions:

                                  Reverse Primer
                              3'<-------GGAA---- 5'
                  Plus Strand           ||||
5'-----ATCG--------=========------------CCTT---- 3'
       ||||          Target             ||||
3'-----TAGC--------=========------------GGAA---- 5'
       ||||       Minus Strand
   5'--ATCG----> 3' 
   Forward Primer

How to use this applet

It is extremely easy: just paste in the sequence window your sequence (also in GCG format, just be sure of pasting everything after the "double dot" that is in the header of the GCG file), then fill in the parameters and then push the compute button.
Please fill in ALL the parameters, do not leave blank ones ! Also, just type in NUMBERS where required, and not in fractional notation (e.g. 13.4) or exponential (e.g. 1.0E+1) but just as integers ( e.g. 123). The area for the input sequence can be filled with both upper or lower or mixed case, it will only accept ATCGNX, where for N or X is meaning "anything".

How to interprete its behaviour

While the program will be doing the job you will notice: As soon as the search of primers is completed, the "status bar" will disappear and be replaced by a gridded field with dots of various color, ranging from red to green. That will be the indication of the completion of the search.

How to interprete the results

There are two paths to the interpretation of the results, either from the "textual list" (if you have JavaScript enabled in the Browser that you use, tested with Netscape Navigator 3.0.1 running on Macintosh OS):

Concordance of the results obtained with the Java version of Primer0.5

The results obtained with this Applet coincide exactely with the ones obtained using same parameters and the original C code of primer0.5. No differences were observed in the results when running the Applet using Netscape Navigator 3.0.1, AppletViewer JDK1.02, or Metrowerks 9.0 Java


The PPC version of Primer0.5 as available at the www.genome.wi.edu site was crashing on a PowerPC 7200/75 since probably had been compiled on a non PCI-bus architecture. Benchmarking had therefore been accomplished on a binary obtained by rebuilding the Mac version from the original C code. The binary so obtained (using Metrowerks 9.0 ) had been made with maximum optimization speed flags.

Since Primer0.5 does not have any graphical user interface, a plain comparison of the running time between the two implementations would not be completely fair to estimate the gain/loss in speed of the Java version versus the C one. Such evaluation, had been however performed and showed a 3-6 fold increase in running time for the Java versus the C version. Large differences, however, had been observed when running with and without the JavaScript code-generation option on Netscape 3.01, and even larger differences had been observed when using instead the AppletViewer from the JDK1.02. It is surprising to notice that the native AppletViewer of Metrowkers performs worse as the Sun implementation.

It will be interesting to repeat this benchmark when more versions of Java VM will be available for the Macintosh. Unfortunatley, currently both Microsoft Internet Explorer and the Hotjava browser are infact not yet available for the Macintosh platform. The comparison is therefore being performed using all the public available Applet Viewers for Macintosh OS as well as the one available commercially by Metrowerk. Results are shown in Table 1:
Table 1 Comparison of Java versus C running time on different Applet Viewers
versionsOriginal C codeMetrowerks 9.0 Applet ViewerJDKNetscape Navigator 3.0.1, JavaScript disabledNetscape Navigator 3.0.1, Javascript enabledMacOS Runtime for Java 1.0b1Microsoft Internet Explorer 3.0b1
time (sec)221216512013272??

Advantages of the Graphical User Interface, on the Primer Design problem

Hidden improvements versus Primer 0.5

This applet can be called automatically, using the following parameters: The application of this "automatic calling feature" can be in seen in conjunction with other automated analysis tools that make use of the WWW as presentation of results and as computing power.

Future Improvements / missing features

Author: Luca I.G. TOLDO

Date: 5 October 1996

This is a Java version of the algorithms used in PCR primer design as implemented by the software Primer 0.5.

Primer 0.5 had been originally developed by the MIT Center for Genome Research, www.genome.wi.edu.

This Java version had been completely implemented by Luca I.G. TOLDO.

, Developed using JDK1.02 and tested with Netscape 3.0.1 and JDK1.02 AppletViewer, running on a Macintosh PowerPC, System 7.5.3.