Primer Design


This program is designed to make simple the work of selecting primer pairs for the exploitment of Polymerase Chain Reaction®.

Mode of operation

This program uses a window for allow the input of the sequence containing the insert to be primed, and then several fields to allow the setting of all the parameters needed to identify suitable candidates. The output is graphical and textual, and provides the user with complete view on all the priming pairs which are available at the chosen conditions. In order to use this program, the following steps must be performed:
  • Parameters setting
  • Compute
    Once the parameters have been chosen, by pressing the "COMPUTE" button, then the primers are designed and the combinations found are displayed on a clickable chart.

    A Java-enabled browser would have in this place a window similar to this:

    Upon typing all the parameters, and after the search is completed, a interactive figure similar to the following will appear

    and if the dots are clicked, then here is shown how more information is returned

    If one then wants to see the complete list of results, having JavaScript enabled and LiveScript operational (only for Netscape browsers) then a window similar to the following shall appear

    How to understand its output

    In the following section, the terminology "forward" and "reverse" primers will be used 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
    While the program will be searching for appropriate primers, three subsequent "status" indicators will be showing how much percentage of the search has been done. This is reported both graphically (using red and green combination, changing from left to right by approaching completion) and with digits.

    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.


    The results obtained with this Applet coincided exactely with those obtained using the 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 benchmark used the sample files distributed with Primer0.5. The PPC version of Primer0.5 as available at the 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.

    The comparison is 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 run time of Primer0.5, Java versus C implementations running on different JVMs
    versions Original C code Metrowerks 9.0 Applet Viewer Applet Viewer JDK1.02 Netscape Navigator 3.0.1, JavaScript disabled Netscape Navigator 3.0.1, JavaScript enabled MacOS Runtime for Java 1.0b1 Microsoft Internet Explorer 3.0b1
    time (sec)22121651201327272
    The run time differed radically between the C and the Java implementations. The difference, however, is dramatically dependent upon the kind of Java Virtual Machine that is used to interprete the Java bytecodes. It is interesting to note how the fastest JVM be the one originating from Sun JDK1.02, followed closely by the MacOS Runtime 1.0b1, and used by the MIE 3.0b1. Netscape and Metrowerks JVM seems to be the less performant, with a non-negligible detrimental effect of the JavaScript option.

    In conclusion, the Java implementation of the algorithm described in Primer0.5 is between 3 and 6 times slower then the native C version, with differences largely given by the Java Virtual Machine that interprete the bytecodes.

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

    This applet can be called automatically, using the following parameters:


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

    Primer 0.5 had been originally developed by Lincoln,S.E., Daly,M.J. and Lander,S.E. at the MIT Center for Genome Research, Whitehead Institute for Biomedical Research,

    Author:Luca I.G. TOLDO, Edition date: 28 February 1997