although the polymerase chain reaction ( pcr ; [ 1 , 2 ] ) is the most widely used method , newer more sensitive techniques are favored for some applications  particularly diagnostic testing .
mediated isothermal amplification ( lamp ; ) is perhaps the most promising of these new methods .
lamp can quickly generate large quantities of amplicon from low abundance template without temperature cycling  thereby lowering the cost and complexity of necessary laboratory equipment .
in addition , lamp amplicons , unlike pcr amplicons , can be directly detected via a colorimetric chemical reaction [ 5 , 6 ] .  
unlike pcr which requires one pair of primers , lamp requires a minimum of two nested primer pairs .
generally , primers should be 1525 bases long with 4060% gc content ( annealing 5565c ) .
the amplicon defined by the outer primers should be 280 base pairs and the spacing between inner and outer primers including the outer primers 40 base pairs [ 5 , 7 ] .
primers are synthesized such that the reverse complements of the inner primers are connected to the outer primers by a linker ( usually five thymine residues ) .
optionally , additional sets of primers can be used to increase amplification efficiency [ 3 , 79 ] .
the quality of lamp primer / template match ( i.e. , the percent mismatched bases and the distribution of mismatches ) necessary for efficient amplification has not been studied , but there are studies of pcr primer / template match quality that suggest an exact 3 match of 2 - 3(4 ) bases is required for taq polymerase to extend the primer along the template [ 1014 ] and mismatches outside of the 3 end of the primer have little effect on amplification efficiency [ 10 , 14 ] .
although pcr and lamp have many similarities , different polymerases and extension temperatures are typically used .
it is not known to what degree the conclusions from these studies on pcr can be applied to lamp .
although lamp is increasingly used for diagnostic testing ( e.g. , [ 1519 ] ) , electronic tools for lamp are limited to primer design [ 20 , 21 ] .
one of the available tools , lava , can design lamp primers from aligned sequences and thus could be used to design either universal or selectively discriminatory primers . unfortunately lava can not be used to predict the activity of existing primer sets  useful when one wishes to determine if a newly discovered sequence variant can be amplified with existing primers .
electronic testing of primers allows researchers to quickly and inexpensively determine if newly designed primers will work with known sequence variants .
this is particularly useful when meaningful consensus sequences can not be used in primer design ( e.g. , difficult to align regions ) . because two , or more , nested primer sets are used , lamp can not be directly modeled with conventional pcr simulation software ( e.g. , re - pcr ) . here
we present elamp , a perl script that simulates lamp and outputs an estimate of amplification success given target sequence(s ) and primers .
by default , input template(s ) are evaluated only in the given orientation , but a user option allows evaluation of both orientations ( resulting in roughly double the analysis time ) .
input primers are checked for compliance with standard lamp design parameters  this can be overridden by the user .
the matching algorithm is the same for all primer pairs.each pair is divided into forward ( left ) and reverse ( right ) primers.the reverse primer is converted to its reverse-complement.exact matching .
if there are exact matches between the forward primer and the template , the reverse primer is used for additional exact matching .
otherwise approximate matching is initiated ( step 4).for each forward exact match , the reverse primer is checked against the template within an expected range ( by default 151  bp for inner , 81280 for outer primers , and 25  bp between adjacent inner and outer primers , other values may be specified by the user ; [ 3 , 5 , 7 ] ) . if a match is found , both primer - binding positions are stored .
if no exact match is found for the reverse primer , approximate matching is initiated ( step 4).approximate matching .
this procedure is triggered only if there are no exact matches , for both primers , and approximate matching parameters have been set .
the user specifies the number of exact 3 matches ( 13 ) and the percent of matching bases for the remainder of the primer.approximate matches between template and the forward primer are stored.if there are any forward matches , reverse primer approximate matches are identified and stored .
pairs of forward and reverse positions that would produce an amplicon within an expected range ( see step 3a ) are saved .
each pair is divided into forward ( left ) and reverse ( right ) primers .
if there are exact matches between the forward primer and the template , the reverse primer is used for additional exact matching . otherwise approximate matching is initiated ( step 4 ) . for each forward exact match
, the reverse primer is checked against the template within an expected range ( by default 151  bp for inner , 81280 for outer primers , and 25  bp between adjacent inner and outer primers , other values may be specified by the user ; [ 3 , 5 , 7 ] ) .
if a match is found , both primer - binding positions are stored . if no exact match is found for the reverse primer , approximate matching is initiated ( step 4 ) . for each forward exact match
, the reverse primer is checked against the template within an expected range ( by default 151  bp for inner , 81280 for outer primers , and 25  bp between adjacent inner and outer primers , other values may be specified by the user ; [ 3 , 5 , 7 ] ) . if a match is found , both primer - binding positions are stored . if no exact match is found for the reverse primer , approximate matching is initiated ( step 4 ) .
this procedure is triggered only if there are no exact matches , for both primers , and approximate matching parameters have been set .
the user specifies the number of exact 3 matches ( 13 ) and the percent of matching bases for the remainder of the primer .
approximate matches between template and the forward primer are stored.if there are any forward matches , reverse primer approximate matches are identified and stored .
pairs of forward and reverse positions that would produce an amplicon within an expected range ( see step 3a ) are saved .
approximate matches between template and the forward primer are stored . if there are any forward matches , reverse primer approximate matches are identified and stored .  
pairs of forward and reverse positions that would produce an amplicon within an expected range ( see step 3a ) are saved . for each template and primer set ,
if the predicted annealing positions of all constituent primer pairs are nested and appropriately spaced ( see step 3a ) , elamp predicts successful amplification .
the algorithm has been implemented as a gnu public license ( gpl ) perl script ( http://www.nybg.org/files/scientists/dlittle/elamp.html ) .
a graphic user interface  for mac os x , linux , and windows  is provided by perl / tk ( figure 1 ) .  
users of elamp specify a  .fasta file with template sequence(s ) and a comma - separated value ( .csv ) file of primers .
each cell of the  .csv file corresponds to a primer and each line to a primer set .
primer pairs are ordered from the innermost to the outermost . within each primer pair ,
the forward ( left ) primer should be followed by the reverse ( right ) .
the alternative fib / bip primer format can be used , but linkers must be delimited by hyphens ( e.g. ,  ttttt  ) .
output is a  .csv file : the first row indicates the primer set(s ) and the first column the template(s ) .
electronic amplification of the diagnostic glta / gltb region was attempted from all 40 complete staphylococcus genomes deposited in genbank ( table 1 ; median = 2,813,126 base pairs , iqr = 180,199 base pairs ) .
two similar and overlapping sets of primers designed to only amplify from s. aureus were used (;
lava f1 : 3-gga ata gtt tgt aag aca cct gc ca-5 , lava r1 : 3-caa aaa caa agc gaa ctg cca at-5 , lava f2 : 3-acc aac acc aaa aat cgg t-5 , lava r2 : 3-tgg cat tat tac ttg cca tca-5 , lava f3 : 3-gct aca att gca ggc gtt t-5 , lava r3 : 3-ttg atg tcg aaa aca ctg gaa-5 ; primerexplorer f1 : 3-tgt tgg aat agt ttg taa gac acc t-5 , primerexplorer r1 : 3-caa aaa caa agc gaa ctg cca ata-5 , primerexplorer f2 : 3-tta cca aca cca aaa atc gg-5 , primerexplorer r2 : 3-gca tta tta ctt gcc atc att g-5 , primerexplorer f3 : 3-gct aca att gca ggc gtt-5 , primerexplorer r3 : 3-tgt cga aaa cac tgg aac at-5 ) . reported times are the median of five sequential single - threaded executions on an intel pentium d 950 ( 3.4  ghz ) with 4  gb of 533  mhz ram running 64-bit ubuntu 12.04.1 lts .
all files were placed on a 256  mb ram disk ( a tmpfs volume ) prior to analysis .
elamp was instructed to evaluate the genome sequence in both possible orientations , to perform exact primer matching , and to perform approximate matching ( an exact match of 3 ultimate , penultimate , and antepenultimate bases and 75% similarity for the remaining bases ) .
the two primer sets behaved similarly ( table 1 ) : the exact matching procedure predicted , depending on the primer set , a lamp amplicon for 25 or 26 of the 31 s. aureus genomes .
approximate matching resulted in a predicted lamp amplicon for 29 of the 31 s. aureus genomes .
although the total predicted by approximate matching was the same for both primer sets , predictions for cp003166.1 and cp003194.1 varied by primer set .
no matter the primer set or the matching procedure used , none of the nine remaining genomes , representing six other staphylococcus species , were predicted to produce an amplicon .  
the s. aureus genomes not predicted to produce an amplicon have various mismatches : a single mismatch within the f1 primers of both primer sets ( cp001996.1 , fr821779.1 ) ; a single mismatch within the f1 primers of both primer sets , different from the above mismatch ( he681097.1 ) ; a mismatch at the penultimate 3 base of the lava f1 primer ( cp003166.1 ) ; a single mismatch within the f2 primers of both primer sets ( including the antepenultimate 3 base of the primerexplorer primer ) as well as a single mismatch within the lava r2 primer ( cp003194.1 ) ; and single mismatches within the f3 and r1 primers of both primer sets as well as multiple mismatches within both primer sets for the f1 ( including the ultimate 3 base of the primerexplorer primer ) , r2 ( including the penultimate 3 base of the primerexplorer primer ) , and r3 ( including the ultimate 3 bases of both primer sets ; fr821777.2 ) .
given the large number of mismatches and their distribution , elamp does not predict amplification of the s. aureus sequence fr821777.2 with either exact or approximate matching .
this sequence is from a highly divergent strain of s. aureus that could , arguably , be classified as a different species  s .
the sequences of 14 s. aureus genomes were considered when the lava and primerexplorer primer sets were designed (;
aj938182.1 , ap009324.1 , ap009351.1 , ba000017.4 , ba000018.3 , ba000033.2 , bx571856.1 , bx571857.1 , cp000046.1 , cp000253.1 , cp000255.1 , cp000703.1 , cp000730.1 , and cp000736.1 ) .
these genomes were predicted to produce a lamp amplicon for both primer sets under both matching procedures .
the s. aureus genomes that were , under various circumstances , predicted to not produce any amplification were not consulted when primers were designed ( cp001996.1 , cp003166.1 , cp003194.1 , fr821777.2 , fr821779.1 , and he681097.1 ) .
given the assumptions of match quality , neither primer set is entirely diagnostic of s. aureus  either the primers must be used in combination or , ideally , new primers that use less variable sites should be designed .
elamp with exact primer matching required 10.556 seconds and approximate matching required 9 minutes 18.608 seconds .
the graphical interface is simple  allowing easy use by nonspecialists  while the command - line interface is suitable for use in pipelines .
results , presented either in a single  .csv file or in a gui panel , are straightforward to interpret .
 we present elamp , a perl script , with tk graphical interface , that electronically simulates loop - mediated amplification ( lamp ) allowing users to efficiently test putative lamp primers on a set of target sequences . 
 elamp can match primers to templates using either exact ( via builtin perl regular expressions ) or approximate matching ( via the tre - agrep library ) . 
 performance was tested on 40 whole genome sequences of staphylococcus . 
 elamp correctly predicted that the two tested primer sets would amplify from s. aureus genomes and not amplify from other staphylococcus species . 
 open source ( gnu public license ) perl scripts are available for download from the new york botanical garden 's website . 
1. Introduction
2. Algorithm 
3. Implementation
4. Empirical Example
5. Conclusions