• Do you have a print-out of your sequence with the position of the primers pencilled in?
  • Are you using Excel to maintain a list of your oligos?
  • Have you just moved from working on one gene to working on a similar one and wonder which primers you can still use for your PCR?
  • Do you subclone and rearrange sequences and somewhere along the line lost track on which primer to use where?
  • Have you started in a new lab, inherited a box of oligos and a folder full of printouts that came with them but no information on what they were ordered for?
  • Have you ordered and waited for primers because you don't know which of the ones available you can use with your sequence?

If any of these sound familiar then OligoChecker might be for you.

OligoChecker – manage oligos, check which ones are suitable for PCR on a given sequence, run simulated PCR

What OligoChecker is:

A program to let you check which of your oligos you can use in a PCR for any given template (on my 1 GHz Powerbook it checks my 409 oligos against a 2 kB template in about 1.5 seconds).

Upon selecting two oligos for a PCR it will show the sequence (and inverted sequence) and size of the PCR product as well as the alignment of the oligos with the template.

What OligoChecker is not:

It is not a program to help you design oligos - there are already programs out there which do this (e.g. the $1,200 Oligo, or online with Primer3).

Neither is it 's main purpose to run a PCR simulation - there are PCR programs available which are superior to OligoChecker when it comes to actually running a PCR simulation (I have a link to the Amplify website in OligoChecker). However while running a PCR simulation is a nice thing to have in the lab most of the time the question is not "how will my PCR look at the end" but "which oligos can I use for this template to begin with".

What OligoChecker can do:

Help you find out quickly which oligos are suitable to run a PCR on a given template.

Help you organise and utilise your oligos more efficiently, avoid spending money on more oligos and waiting for them to arrive if you already have another suitable one in your oligo box.

Open or import a list of oligos from a tab delimited Excel file (a template is provided) - the data are automatically parsed and the relevant items added to your preference files (e.g. the names of people ordering oligos, the Institute/department they were ordered for, the scale, purity etc).

Oligos can be assigned a quality setting (A = green = good to E = red = bad) and are automatically coloured accordingly (giving instant feedback on which oligos to prefer).

Export your list of oligos for subsequent use in Amplify.

You can select two oligos for PCR and see the resulting PCR products - just keep in mind that OligoChecker currently uses a very primitive recognition algorithm which only checks for the longest match at the 3’ end.


A new version of OligoChecker (2.40) is available.

This will be the last version for the classic MacOS 9 and probably also for Win98 as I want to move to a new compiler version which no longer supports the old systems. This is necessary as the old compiler shows more and more graphical artefacts on modern systems.

If you still require OligoChecker on a computer running MacOS 9 or Win98 then drop me a line and I will see what I can do to accommodate you.

Update: Upon request I will continue an OS9 & Win98 version for now.

I’ have split the compiled versions into the following:

a MacOS 9 version can be downloaded from here

a MacOS X (universal binary) version can be downloaded from
a MacOS X (Intel) version can be downloaded from
a MacOS X (PowerPC) version can be downloaded from

a Win98/Me/2000/XP version from

Short instructions on how to use OligoChecker are included with the downloads.
OligoChecker version 2 is shareware:

As I’m currently unemployed version 2 of OligoChecker is no longer Donationware (e.g. donations are entirely voluntary) but has now become Shareware - this means that if you find it useful and use it in your work you are morally obliged to pay a modest shareware fee for it’s use.

The fees are:
Students: $19.95 €14.95 £9.95
PostDocs and technicians: $49.95 €29.95 £24.95
Lab licence: $99.95 €59.95 £49.95
Departmental licence: $199.95 €129.95 £99.95
Institutional licence: $299 €199.95 £149.95
Business licence: $499 €299.95 £249.95
Campus wide licence: $399 €249.95 £199.95
University wide licence: $499.95 €299.95 £249.95


I found it most useful to give each oligo a unique number and keep my stocks in numerical order.

It is not necessary to manually set up the preferences (like the lists for "ordered by", "institute", "scale", "supplier" etc) in OligoChecker - when you open or import a tab delimited oligo list then OligoChecker will automatically parse the data and add any value it does not know yet to the respective list (of course if you have the data in the wrong place they end up in the wrong position - use the supplied Excel template if in doubt, and DON'T move the columns around).


The recognition algorithm is pretty basic - it just checks the longest match length of the primer (at the 3' end) against the sequence - and therefore will not recognise suitable primers with mismatches in the last 12 bases.

"Matchlength" refers to the longest matching sequence at the 3' end of the oligo (e.g. a 30 bp primer with a mismatch at position 18 from the 3'end would read as a 17 bp match).

It will not recognise more than one target (e.g. will not deal with duplications in your sequence).

It will only recognise the four standard bases GATC - not degenerate or modified ones like R, Y, N, 5 (for 5-methylCytosine) etc
Plans for improvements in future versions:
  • A much improved recognition algorithm which overcomes all the aforementioned shortcomings.
  • Display of PCR products.
  • Display of restriction sites in the PCR product.
  • Display of PCR products on agarose gel.
  • Read different DNA sequence files
  • Statistics on the database.
  • "Find" function (e.g. to find all primers with an EcoRI site, all primers ordered by one person, all primers from one company, etc).
  • Print-out of sequence with primers marked
  • Internationalisation (e.g. versions in german, french, italian, spanish, chinese, japanese)


I'm grateful for suggestions. As my work takes me to different places every few years I've set up a separate hotmail account - you can reach me there even when my address has changed. Please send any suggestions you have to

Shareware fees:

I'm grateful to the people who have registered OligoChecker to support the future development of this software. They not only help me pay back my student loan but are also an indication of how valuable OligoChecker is in the lab. You can send payment online via PayPal to
Questions & Answers:

Q: Why did you write OligoChecker?

In my experience big projects (like the HumanGenomeProject) have all the IT support they need, and their grants specifically authorise the purchase of software and hardware. And if something is not available they have the experience and manpower to write it themselves.
Normal labs do not have access to these resources and their grants usually specifically exclude the purchase of computer equipment and software. Consequently there is not only a lack of suitable software but of the expertise to write what is needed as well.
OligoChecker is written with these labs in mind, and version 1 is to be given away for free in support of these labs. Version 2 is shareware and requires payment of a modest fee.

Q: If it's running under windows, linux and mac, is it written in Java, or a compiled language?

OligoChecker is a normal compiled program. I used RealBasic which is an outstanding development environment - it combines the simplicity of Basic with the object orientation of C++ and allows me to compile for Mac, Windows and Linux. For more informationt read what I wrote about it on my REALbasic page or go to the REALsoftware website.

Q: What sort of data security is provided? First for data integrity, and secondly for secure storage and communications of sequences?

OligoChecker is not a database.
While it would have been just as easy to implement it as a database with data integrity checks (e.g. require entry of certain data etc) in many cases data are simply incomplete. Like me you might start in a new lab and inherit a batch of oligos with half the data sheets missing, part of the label unreadable, etc (Tip: contact the manufacturer - they can usually send the info again) - with OligoChecker you can still enter the data you have and fill in the blanks later (when the people who ordered oligos in the first place finally - and after considerable pestering - look up the info and send it to you).
Even more important for me in writing the software was access to the data across platforms and system versions - I considered the SQL Database but while it supports Mac OS X, Windows and Linux, it is not supported on Mac Classic. It would be unacceptable if one couldn't access the data anymore after switching to a different platform or after upgrading to a new Windows or Mac version. Consequently there were only two options: XML and plain text. As most people are not familiar with XML but can use plain text (e.g. with Word and Excel) I went with a plain text format for storage.
When OpenDocument becomes a well established standard I will probably port the file format over and include a converter for old files.

Q: What is the maximum size of the dataset? We have customers that order tens of thousands of oligos a year and we interact with a SQL database.

The maximum size is limited only by memory/virtual memory. If you have many oligos and use the classic MacOS (8 or 9) then you might want to increase the memory allocation.

Q: How extensible is it? Can I add to it?

No. It is a self-contained program. However I have plenty of ideas on how to improve it and make it even more useful, and suggestions are always welcome.

Q: You said version 1 is free. Is it GPL?

No. Version 1 is free because I want to give it away for free to support other researchers on limited budgets. Version 2 is shareware and required a small payment if you continue to use it.

Q: I found a bug!

Then please report it. I do my best to fix bugs as quickly as possible (usually within 24-48 h), but I can't do it if I don't know about it. And that was not a question.

My thanks to the good folks at
RealBasic for their powerful and easy to use programming environment. And of course the excellent user community who are there 24/7 for support, advice, and sometimes a shoulder to cry on ;-)

Conditions of use:

You are entitled to download/copy/install/distribute OligoChecker as you see fit. As a matter of fact I positively encourage distribution. Send the original file to you colleagues, friends, students - whomever you think might benefit from it.
If you find it useful then please support the shareware concept by paying for shareware you use. Shareware is “Try before you buy” - it is not free.

Legal mumbo jumbo:

OligoChecker is provided "as is" without warranty of any kind, either expressed or implied. The entire risk arising out of use or performance of OligoChecker remains with you.