oligo selection program

berschic at convex.rz.uni-duesseldorf.de berschic at convex.rz.uni-duesseldorf.de
Tue Dec 14 06:08:28 EST 1993


does anybody know a ftp-site where I can get a computer program for
choosing PCR and DNA sequencing primers (e.g. OSP-oligonucleotide
selection program).

Thanks Peter

----- End Included Message -----

Here is a (self) edited faq thar i recieved/obtained some time ago.  Although not yeyt used in anger, the two programs "primer" and "osp" appear to be rather good if you are using a unix (sunsparc) platform. 

Hope this is useful


Jenkins at uk.ac.nibsc.comp

Paul Wakenight writes:

>We are considering buying a program called OLIGOS - which estimates Tm, etc.
>for primers, etc.  Does anyone have experience with this program? Is there 
>some ugly, but functional Unix/Dox shareware that does the same stuff?

As this has become a FAQ I have put together the following information
on Primer generating programs.

There are, to my knowledge 4 programs which deal with pcr primer
construction which one can obtain by anonymous ftp and one which 
will be mailed to you by the author.
These programs are listed below in no particular order.

Pgen - for Dos only
Primer - Stanford - Sun Sparcstations only
Primer - Whitehead -Unix, Vms (and DOS and Mac if you can compile it)
Amplify - Mac only

OSP - Unix, X-windows, Vms, DOS, Mac - by snail-mail only.

Below is all the info I have on said programs.  Each description is
seperated by //////// if you'd like to skip through the article.

Hope this helps,

Dan Jacobson

Kudos go to the authors and the ftp site maintainers.


An excerpt from the PrimerGen's documentation:

PrimerGen searches strings of amino acid residues in order to reverse-translate
oligonucletide primers of a desired range of lengths and maximum number of

PrimerGen only works on IBM-PC(TM), XT, AT, PS/2 and compatibles with
EGA or VGA graphics adaptors.  It will not work on computers with CGA or
Hercules(TM) graphics cards.  This is because the program alters the
screen fonts which cannot be done on the latter types of graphics
adaptors.  I have no access to XGA card-driven computers, so I don't
know what happens there!  A hard drive is NOT required and PrimerGen will
fit on a 360K 5.25" floppy disk.

You need to input:
	- the appropriate amino acid sequence,
	- the minimum size of desired primers,
	- the maximum size of primers (important for codon preference -
	  generated primers),
	- the maximum acceptable number of mismatches,
	- desired codon preference table (if required).

The program will also supply the melting temperature of the primer. You may
input the Na or K cation concentration used in the melting temperature

PrimerGen contains a sequence editor, where amino acid residues are entered.
The amino acid sequence must be ONE fragment and cannot be longer than 70
residues.  The sequence must be in the ONE LETTER CODE and cannot contain
any UNKNOWNS.  After the desired amino acid sequence has been entered have the
option of saving the sequence to a disk.  PrimerGen will also accept and
re-edit previously saved sequence files, and also contains a codon preference
table editor.

anonymous ftp from ftp.bio.indiana.edu in the molbio/ibmpc directory.

Priner - Stanford 

The program 'primer' is written by Don Faulkner. It helps to find potential
mispriming sites (primer sequences should be designed before running the
program!).  The program allows to give higher weights to matches at the 3'
end of the primer, linearly decreasing them towards the 5' end (the default
is weight=10 for 3' nucleotide decreasing to 1 at nucleotide # 8 from the 3'
end). The program can be used when amplifying *long* fragments from a known

The program is written in "C" and runs on Sun workstation (Unix).
To get the program running:
%ftp          or jmullins.stanford.edu
logon: anonymous
send your ID as a passwd
cd pub
set binary
get primer.tar
%tar xvf primer.tar
%make primer
.... and you should get the sample run, presented below.
Stuff deleted

------------ end of sample run ----------------------------


Primer - Whitehead

Anonymous ftp from genome.wi.edu in the distribution/primer.0.4 directory.

PRIMER 0.5:   Questions and Answers

What exactly is PRIMER?

PRIMER is a computer program for automatically selecting PCR primers.  PRIMER te

PRIMER was written by Steve Lincoln, Mark Daly, and Eric Lander at the MIT Cente

What types of computers does PRIMER run on?

In short: just about anything which supports a standard C language compiler, inc

(1) IBM PC and compatibles.  A PC/AT (286) class machine or better with 640K of

(2) Apple Macintosh computers.  A Mac II series or SE/30 with a math coprocessor

(3) Most Unix workstations including Sun SPARCStation and DEC DECStation systems

(4) DEC VAX/VMS computers under VMS Version 5 with VAX C.

How do I get PRIMER?

PRIMER is available from a number of sources:

(A) You can get PRIMER from another user, provided you strictly follow the terms

(B) You can download the most recent version off the Internet via anonymous FTP

(C) You can send a request to:

"PRIMER c/o The Lander Lab,
Whitehead Institute/MIT
9 Cambridge Center, Cambridge, MA 02142.

Email to "primer at genome.wi.edu" (Internet),  or  FAX to 617-258-6505

Request a copy of PRIMER, specifying a 3 1/2" floppy disk for either SPARCStatio

Do I really need to compile PRIMER myself, and if so, how?

If you receive a ready-to-run version from us or another user, then you do not.

The C source code we distribute may be compiled using:

(1) Microsoft C 4.0 on IBM PC compatibles.  The file MAKEPC.BAT included execute

(2) Apple Macintosh computers with ThinkC 4.0.1.  A ThinkC project file has been

(3) DEC VAX/VMS computers under VAX C with VMS 5.x.  The file MAKEVAX.COM includ

may have to change the linking procedure depending on your system's configuratio

(4) Unix workstations including Sun SPARCStation and DEC DECStation Systems with

Before compiling the program, you may need to modify configuration information i

What's the fine print?

PRIMER and its documentation are copyright 1991 by the Whitehead Institute for B

PRIMER is available for free use for non-commercial purposes by basic research l

PRIMER may be freely redistributed to other scientists, provided that all of the

Primer is designed to select primers for PCR applications, although it may may a

PRIMER is supplied without any warranty or guaranteed support whatsoever.  The W



A new Macintosh application for use in PCR reactions was announce on the
info-mac list. Below I've included a text version of this programs 
documentation. You can obtain a copy of Amplify from 
sumex-aim.stanford.edu via anonymous ftp. Look for the file:


I'm sure the various molecular biology archive will be picking up the
Compactor archive of Amplify very soon. If you can't get to sumex I've
also put the amplify-10.hqx file on amber.mgh.harvard.edu in the mac
directory, ("cd mac" then "get amplify-10.hqx").

The author, Bill Engels, can be reached at WREngels at wisc.macc.edu

Amplify  (C) 1992  Bill Engels

I. Introduction

This software is for use in designing, analyzing, and simulating
experiments involving the polymerase chain reaction (PCR).  PCR is a
technique used by molecular biologists to amplify highly selected
segments of DNA.  If you never heard of PCR, you probably have no use
for this program.  If you want to know more about the process, you can
look up the book, PCR Technology, by H.A.  Erlich (1989, Stockton

Very briefly, PCR will take a short stretch of DNA (usually fewer than
3000 bp) and increase its copy number about a million fold so that one
can determine its size, DNA sequence, etc.  The particular stretch of
DNA to be amplified, called the target sequence, is identified by a pair
of DNA primers, which are even shorter pieces of DNA (usually about 20
bp) that have been synthesized in large quantities.  To use Amplify you
must supply the sequences of the primers and the target DNA.  The
software then analyzes the combination of primers and target sequence
you have chosen to determine what portions of the target are likely to
be amplified.  It also provides various bits of helpful information
about the reaction products, primer binding sites, etc., that can help
in planning a PCR experiment and designing primers. 

II. Quick Tutorial

1.  Boot up Amplify by double-clicking on the file Primers.pri.  You
should now be faced with a window showing the Amplify logo.  Close it to
reveal another window with a list of primers.  (This is just list of
primers that is currently available in my lab.) The primer sequences are
in the first column and their names are in the second. 

2.  Find the primer named 1700 and place the cursor anywhere in that
line.  Then select Use this Primer from the menu, or hit -1.  That will
open another window, and add primer 1700 to the list of primers that
will be used.  Then do the same for primer 2230. 

3.  Next, open a file of target DNA by selecting Open Target Sequence
from the File menu, or by hitting -O.  Find the file called
P Element.seq.  (This is the sequence of the P transposable element in
Drosophila melanogaster.  )

4.  You have now specified everything needed for a PCR experiment.  So
pick Run PCR ( -3) from the PCR menu.  A map showing the PCR products
will then be generated as follows:

5.  The arrowheads indicate points of primer binding (darker means a
better match), and the bars below the sequence are potential amplified
fragments (heavier bars are expected to amplify better).  Explore this
result by clicking on the various elements of the map.  In each case,
you will get an information screen with data about the item you clicked. 
Note that the lighter arrowhead for primer 1700 indicates a weak match
that is probably not desirable in the experiment.  Click on it to see
how well the primer matches the target sequence. 

6.  To get a closer look at just a portion of the sequence, you may zoom
in on any chosen section of the map.  To do this, hold the command ( )
key down and drag with the mouse to draw a rectangle around the region
of interest.  Then select Zoom In from the PCR menu.  You can repeat the
process any number of times to get even higher resolution, or else
select Zoom Out to get back to the original scale. 

III. Working With Primer Lists

To use Amplify you should keep a text file listing all the primers
available to you.  You can create such a list with Amplify, or else use
any word processing or spreadsheet program.  Each line of the list
should start with the sequence of the primer (Always in the 5+ to 3+
direction) followed by a tab and then the name of the primer.  The name
should be short so that it will fit on the map.  You can also append
additional information about the primer on the same line after another
tab.  Amplify can accept any text file as the primer list.  However, if
you wish to have a double-clickable file, you must create it with
Amplify's Save AsI command.  In addition, the name of the file should
end with .pri so that Amplify will know that it is not a target
sequence file. 

You can edit your primer list in Amplify's Primer List window just as
you would edit in any Macintosh text window.  In addition, you can use
the Edit menu to interchange between upper and lower case letters in
order to identify any particular part of the sequence.  You can also
reverse the polarity of any sequence: select the portion you want to
reverse, then pick Reverse Sequence from the Sequence menu.  This action
takes the complementary strand and displays it in the 5'->3' direction. 
Only the primers listed in the Primers In Use window will be involved in
the amplification.  You can move primers from the main list to the In
Use list by copying and pasting or by picking Use This Primer ( -1) with
the cursor on the primer you want to select.  To remove a primer from
the In Use list, you can use the Remove This Primer menu item in the
same way, or else simply erase it as you would any text. 

IV.  Working With The Target Sequence

  Amplify can read DNA sequence information from any text file.  If you
create a text file with Amplify's Save AsI command, it will have the
Amplify icon and be double-clickable to open the Amplify program. 

The target sequence text can have an optional header section before the
actual sequence starts.  This header can consist of anything you like
provided it ends with two periods (..).  Anything following the ..
is taken to be part of the sequence.  If you wish to use a header that
includes .. as part of the text, you can use the Preferences command
to change the header delimiter to any two-character string.  Whenever
you use the target sequence, Amplify attempts to put the DNA into a
standard format.  It removes any characters other than A, T, C and G,
plus the corresponding lower-case letters and arranges the sequence in
80-character lines.  This reformatting is done only to the sequence part
of the text, and not to the header.  You can change the number of
characters per line to something other than 80 with the Preferences

You can edit the target sequence window as you would any Macintosh text. 
You can also use the upper- and lower-case commands as well as the
Reverse Sequence command as described previously in part III. 

You can search the sequence using the Find Pattern ( -F) command.  This
command is better for searching sequences than the usual find command
available in most text editors, including the one in the Edit menu of
Amplify.  With the Find pattern command you can search in both
orientations if you wish, and line breaks are ignored in the search.  In
addition, you can specify a maximum number of allowable mismatches in
the search pattern.  Once you have found the pattern, you can find the
next occurrence with the Find again ( -G) command.  Use the Select
SequenceI command to select a stretch of sequence according to its
coordinates, and the Get sequence info ( -I) command to see size, base
composition, etc., of any selected portion of your sequence. 

V.  The Run PCR command

The Run PCR ( -3) command is what does the real work.  Before you use
this command, you must have loaded a target sequence and put at least
one primer into the Primers In Use window.  The Run PCR command performs
the following series of actions:

1.  The target sequence is formatted as described above.  If it has
already been formatted and no editing has been done since then, this
step is skipped. 

2.  Each selected primer is checked against itself and all the others to
determine if any are likely to form dimers. 

3.  The target sequence is searched in both directions for matches to
the primers you have selected.  Two criteria called primability and
stability are used to estimate how likely a given match is to
contribute to the amplification reaction.  More about these later. 

4.  Each primer match that qualifies under both criteria is used to
screen for possible amplified fragments.  Each such fragment is
evaluated to determine its probable degree of amplification depending on
the quality of the matches involved, the length of the sequence, it's GC
content, etc. 

5.  The results of this analysis are displayed graphically to show the
matches and the amplified fragments.  If any potential dimer-forming
pairs are identified, they are shown also. 

VI.  Working with the amplification map

Matches and Fragments

The target sequence is represented as a horizontal line with tick marks
every 100 bp.  Any matches between the primers and the target sequence
are shown as arrowheads.  Rightward-directed matches are above the line
and leftward ones below.  Segments of the target sequence that are
candidates for amplification are shown as bars below the target
sequence.  They are drawn starting with the RbestS fragments on top,
i.e., those expected to have the greatest abundance following the PCR. 
The primer matches and amplified fragments are drawn so that darker
fills and heavier lines correspond to better matches or amplification. 
This scheme is intended only as a rough guide to the quality of the
matches and strength of the amplifications.  Be sure to click on
anything of interest to get more information. 

Primer Dimers

If any potential dimer-forming pairs are found, they are listed below
the rightward matches and above the amplified fragments.  There is no
theory to predict with much confidence whether dimers will actually
form, but the ones identified by Amplify should include most of the
likely candidates.  The algorithm was designed to be conservative, so
that some potential dimers will be shown even though they will not cause
trouble in a real experiment.  Be sure to click on the dimer warnings to
see how the match is formed.  For example, clicking on one dimer warning
might bring up the following text:

      5+  2611 ATCAACATCGACGTTTCCAC.................       3+
      3+       .................GTGGCTTTGACGCCTGAAGA 2465  5+

This indicates that primers 2611 and 2465 can pair at their 3+ ends,
possibly allowing strand extension to form a dimer.  However, there are
only three base pair matches, and one of them is A-T.  Therefore, this
dimer might not be a problem.  One the other hand one like this:

      5+  2361 CCTTTGCCCAGTCGTACGAC................       3+
      3+       ................GCTGCGTTCCTCATCGGCTG 2360  5+

is potentially much more serious.  And this one:

      5+  2361 CCTTTGCCCAGTCGTACGAC..........       3+
      3+       ..........CAGCATGCTGACCCGTTTCC 2361  5+

will almost certainly kill the reaction. 

Amplify also includes the commands Check This Primer and Check all
Primers to help you in designing new primers.  If you place your cursor
on any primer in your main list and choose Check This Primer, it will
search for potential dimer-forming combinations between the selected
primer and all others in the list.  If you select Check All Primers, the
program will make a table of all potential dimer-forming pairs from your

You can change the parameters to make the dimer search more or less
sensitive by altering the values in the dialog box invoked with the
Change Dimer Parameters command.  The default settings are from
empirical rules based on results from my own lab.  You can set the
minimum length of the overlap required and the number of mismatches
allowed computed as a function of the number of matches. 

Changing the Resolution

In some cases you will want to increase the resolution of the map for a
certain area.  For example, it might happen that two primer matches are
so close together that their arrowheads overlap and their names are
difficult to read.  One thing you can do is click on them.  That will
put information about both matches in the Info window.  Another approach
is to use the Zoom In feature of Amplify.  To do this, you must hold
down the command ( ) key so that your cursor becomes a + sign.  Now
drag with the mouse to make a rectangle on the screen.  The left and
right sides of the rectangle will determine which section of the
sequence will be magnified in the close- up view.  (The top and bottom
of the rectangle are not important.) Now select Zoom In from the PCR
menu.  You can repeat this process to get as much resolution as you need
to distinguish the overlapping primer matches.  To return to the
original scale, select Zoom Out. 

Saving and Exporting Graphics

You can save the map as a PICT file or copy it to the clipboard for
pasting into another application.  However, you must choose Select All (
-A) with the graphics window open before you perform the Copy of Save
AsI operation.  Alternatively, if you want to copy just a portion of the
map and donUt object to a jagged picture, you can do the following:
First hold down the command ( ) key and drag with the mouse to draw a
rectangle around the portion you want to copy.  Then select Copy Pixels
from the Edit menu.  Note that this method copies a pixel map rather
than an object-oriented image. 

VII.  Primer Matches

Amplify uses two measures of the quality of a primer match.  Both depend
on how many G-C and A-T hydrogen-bonding pairs can form, but they weight
the pairs in different ways.  Primability gives most of the weight to
the pairs near the primerUs 3+ end.  Thus it is a measure of how easily
the DNA polymerase will be able to extend the sequence at that end. 
Stability is a measure of how tightly the primer and target are bound
irrespective of where the matching pairs lie.  For stability, G-C pairs
are counted more heavily than A-T pairs and runs of matches are given
more weight than singlets. 

Consider the match below, which is shown as it would appear in the Info

Primer: 2607
Primability of Match = 100%
  Stability of Match =  75%

                        5+                   3+                                 
                         |                  |                                   
                        35                  54                                  

The primability is 100% because all 20 nucleotides match.  The stability
is only 75% because not all of the pairs are G-C.  Here is another

Primer: 2402
Primability of Match =  73%
  Stability of Match =  42%

                       5+                    3+                                 
                           |  |||| |||| ||| |                                   
                        |                   |                                   
                       684                  704                                 

In this case there are several mismatches bringing the primability down
to 73%.  The most important one is the T-G mismatch in position 19.  The
stability is also reduced.  When Amplify scans the target sequence, it
keeps only matches in which both the primability and stability are above
a given cutoff point.  In my experience, setting the primability cutoff
point at 70% and the stability cutoff at 40% retains almost all matches
that work for PCR, and it eliminates the majority of the matches that
donUt work.  These values are used by Amplify as the default cutoff
points.  They tend to be on the conservative side, meaning that they are
more likely to let a non-working match be shown than to eliminate a
working match.  If you wish to change the settings, you can do so by
selecting the Set Match ParametersI item in the PCR menu.  You can also
experiment with the relative weights given to A-T and G-C pairs, the
progression of weights from 3+ to 5+ used by the primability measure,
and the relative weights given to runs of matches depending on the
length of the run for the stability measure.  However, remember that if
you change any of these settings they will not take effect until you
invoke the Run PCR command. 

VIII.  Miscellaneous

Window Settings

All the windows of Amplify can be size-adjusted and moved around the
screen to suit your tastes and hardware.  You can also change such
things as the tab settings with the Editor Setup command in the Edit
menu.  Use the Save Settings command to save your window arrangements
and settings for the next time you run Amplify.  Default Settings

You can change the default settings for primer matches, dimer checking,
formatting of the target sequence, etc.  by editing the STR# resource
(ID = 5001) with a resource editor such as ResEdit.  The first string in
the list names the parameters whose defaults are in the second string. 
The third string names the fourth, and so on. 


The current version of Amplify has the following upper limits:

  length of target sequence	30,000 bp
  number of primers in main list	1000
  length of primer sequence 	100 bp
  number of primer matches in each direction	30
  number of amplified fragments	100
  number of primer dimers displayed	10
  number of primers used for an amplification	20

On-Line help

A condensed version of this manual is available from within Amplify if
you need it.  Just select a topic from the Help menu. 

About Amplify

Amplify was written in Lightspeed Pascal using the programming modules
from FaceWare.  Support for its development was provided by Apple's Rota
project.  Beta tester Greg Gloor made many helpful comments and

I hope to add more features to Amplify when I get time.  These include
restriction site mapping, gel simulation, sequence searching with gaps
allowed, inverse PCR, and perhaps more accurate evaluation of primer
matches and dimer formers.  If you have any ideas or comments, you can
send them to me by e-mail: WREngels at wisc.macc.edu.  If you don't use
e-mail, send them to William Engels, Genetics Department, University of
Wisconsin, 445 Henry Mall, Madison, WI 53706.



  OSP (which was developed by LaDeana Hillier and me -- LaDeana
deserves most of the credit) is available for free, but the university 
lawyers here require that you sign a licensing agreement (primarily to
protect us from Perkin-Elemer/Cetus and malpractice lawsuits) and for
that reason don't want us to make it available by ftp.

Here is the abstract from our paper describing OSP, which appeared in 
PCR Methods and Applications 1, 124-128 (1991), along with information
on how to get the program.


OSP  (Oligonucleotide Selection Program) 
selects oligonucleotide primers for DNA sequencing and the
polymerase chain reaction (PCR).  The user can specify (or
use default) constraints for primer and amplified product lengths,
%(G+C), (absolute or relative) melting temperatures, and
primer 3' nucleotides.  To help minimize non-specific priming and
primer secondary structure, OSP screens candidate primer sequences,
using user-specifiable cutoffs, against potential base pairing with a
variety of sequences present in the reaction, including the primer
itself, the other primer (for PCR), the amplified product, and any 
other sequences desired (e.g., repetitive element sequences in genomic
templates, vector sequence in cloned templates, or other primer pair
sequences in multiplexed PCR reactions).  Base pairing involving the
primer 3' end is considered separately from base pairing involving 
internal sequences.  Primers meeting all constraints are ranked by a
``combined score'', a user-definable weighted sum of any of the above

OSP is being routinely and extensively used to select sequencing
primers for the  C. elegans genome sequencing project, and human
genomic PCR primer pairs for the Washington University Genome Center
mapping project, with success rates exceeding 96% and 81%
respectively. It is available for research purposes from the authors,
at no cost, in both text output and interactive graphics (X windows)


C language source code for OSP is available (for research purposesonly)
at no cost from the authors,  in either the text
output version (tested for VAX/VMS, PC, MAC, and SUN Sparcstations),
or interactive X windows graphics version (tested for SUN Sparcstations).

 To obtain OSP please send your postal address either to Phil Green by email,
(pg at genome.wustl.edu) or (preferably) by FAX to (314) 362-2985 c/o Paula,
the secretary handling OSP requests.  You must provide a signed licensing
agreement (which she will send you) and a stamped addressed mailer with
diskette before the program can be sent to you. Sorry for the formalities.

More information about the Info-gcg mailing list

Send comments to us at biosci-help [At] net.bio.net