simPCR: a computerized simulation of PCR with complex template

down

BACKGROUND
In an attemp to study the specificity of PCR, we developed a mathematical model of unspecific amplification which results from chance occurance of annealing sites. The model predicted fully stringent reactions (i.e. with no mismaych tolerance) are highly ulikely to give unspecific products. Getting such products can be explained in one of two ways: either genomic DNA is not as simple as we represented it in our model, or PCR reaction is more tolerant to mismatches than some researchers belive. To check this, we simulated the PCR reaction on BIG templates, the sequence databases (Genbank and EMBL). That was the original purpose of simPCR, and it is reflected in some of the options incorporated into the program (and in the user-unfriendliness).
The program was written during my undergraduate studies, and since I am not a programmer, the source may be non-standard and hard to read. I would love to improve it, and comments will be most welcome.

ALGORITHM
This version of the program treats PCR as a very simple reaction. It assumes any pair of annealing sites which occur in the right orientation (head to head) and within a certain distance limit will give a PCR product. Stringency is represented by mismatch tolerance limits, which is the maximal (and minimal) number of mismatches in each annealing sites which are sustained.
The program works in three steps. First, the program Findpatterns from GCG package is run with the primers as patterns, using the -mis option to define maximal mismatch tolerance. This program produces a finds file, which contains a detailed description of all the sites in which each of the primers was found (i.e. might anneal). This finds file it than translated to a more compact and machine-readable form, which is called the hits file. Finally, the simPCR program scans the hits file for pairs of annealing sites which would give a product. In the stand-alone version of the program, parameters are suplied in the command line, but this web interface is simpler. some options which can be applied through command line were not implemented in the web interface

WARNINGS
The program is not very user friendly (we're working on it...) but can be used with some practice. The web server is now working, so that pairs of primers can be tested through the web. In any case, I will be happy to assist in aquiring the program, in running it, or in any other way.

SPECIAL REQUEST
Since we did some work on PCR specificity, we are looking for examples of unspecific PCR. If you have an example of PCR products which were sequenced and found not to be what you ment to amplify, please contact me.

Hope you enjoy the program, and find it usefull.


Additional info:
More help files:
  • how to run the program
  • how to read the output
    Full algorithm description:
  • flowchart1 - a graphic overview of the program structure.
  • flowchart2 - a graphic representation of the rutine that identify PCR products (analyze last entry).

    simPCR home | Web interface | get simPCR sources