biological and biotechnology research is creating a strong demand for custom synthesis of rna sequences to study the behavior of non - coding rna molecules in cells and viruses and to design novel rnas that modulate translation , genome editing , silencing and other biological processes ( 1,2 ) .
compared to chemical synthesis of rna , strategies that leverage primer assembly of dna templates and subsequent in vitro transcription by t7 rna polymerase are rapid and cost - effective , and rna lengths up to hundreds of nucleotides are readily achievable ( 35 ) . creating rnas via this route
requires preparing dna templates , which can be assembled at low cost from mixtures of short primers with lengths up to 60 nucleotides via the polymerase chain reaction ( pcr ) .
this problem can be challenging particularly if one wishes to avoid primer 3 ends that might misprime into incorrect locations and be extended by dna polymerase into undesired products and if one is not allowed to change the sequence ( as is sometimes possible for gene - coding sequences , but not for non - coding rnas ) ( 6 )
. there has been substantial work on developing algorithms for designing primers for pcr assembly into dna templates , with special methods to make codon adjustments for protein synthesis ( 710 ) , to optimize primer boundaries against incorrect hybridization of primers ( 4,9 ) and to assemble large genes ( 11,12 ) .
however , with the terminated support of previous web servers ( 4,7 ) , automated primer design tools that optimize against mispriming still require software download , installation and time to learn .
we previously developed a dynamic programming - based algorithm (  design_primers.m in the na_thermo package ) to design primers that can be pcr - assembled into templates for high - throughput rna synthesis and simple kit or bead - based purification ( 13 ) .
given a desired dna template sequence , this method , renamed primerize herein , is optimized to reduce mispriming during pcr by avoiding primer boundaries that might anneal to incorrect sequences .
the algorithm has been tested in the synthesis and rapid purification of numerous rna sequences from our lab with lengths up to 300 nucleotides , including molecules that illustrated damage from standard gel purification methods ( 14 ) ; natural riboswitch aptamers , ribosomal domains and trnas ( 13,15,16 ) ; designs from an internet - scale rna engineering project ( 17 ) ; 
puzzle sequences from community - wide rna structure prediction trials ( 18 ) ; and domains of human mrnas ( 19 ) . in each of these applications ,
the sequence and purity of the transcribed rna was verified by reverse transcription and capillary electrophoresis methods ( 1416,20,21 ) , with particularly detailed quantitative evaluation of purity for several rnas in ref .
( 14 ) . nevertheless , these scripts previously required matlab installation to run and nontrivial efforts to set up .
requests to use this algorithm and the lack of other primer design servers motivated us to prepare an online version of primerize that should be more broadly useable by the rna community and testable for other applications , including coding gene synthesis .
primerize takes as input a sense - strand dna sequence . by default , the primerize server checks for the presence of the t7 rna polymerase transcription promoter to help avoid the mistake of leaving out this promoter in ordered templates
this check can be turned off for applications that involve different transcription promoters or that seek fragments for gene assembly .
the algorithm designs forward ( sense strand ) and reverse ( anti - sense strand ) primers that minimize the total length and therefore the total synthesis cost , of the oligonucleotides .
the algorithm obeys a constraint that the hybridization segments between primers have predicted annealing temperatures ( tm ) above a user - adjustable cutoff ( 22,23 ) ( 60c , by default ) and that primers have lengths between a minimum and maximum length ( lmin and lmax ) adjustable by the user ( 15 and 60 nucleotides , respectively , by default , matching constraints from current dna synthesis companies ) .
there can be gaps between successive primers for the forward strand or for primers on the reverse strand .
although developed independently , primerize is a special case of the general  gapped oligo design algorithm described and mathematically analyzed in detail by thachuk and condon ( 6 ) , optimizing total primer length summed with a mispriming score ( see below ) instead of tm ( figure  1b ) . for completeness
tm ( step 1 ) and misprime matrices ( step 2 ) are pre - calculated for the dynamic programming assembly .
primerize optimizes the score based on misprime and returns the best solution among a range of number of primers ( step 3 ) .
. a quadratic fit of run time to length of sequence is shown ( coefficient of determination r is 0.9850 ) .
figure 1a  c illustrates the method . in the first step of primerize , the tm of every possible overlapping region is pre - calculated ; only primers whose overlap give calculated tm above the user - defined cutoff are accepted . in the second step , a heuristic mispriming score ( see below ) for each possible 3 end of a primer is also pre - calculated . in the last step ,
the primers are designed through a recursive dynamic programming algorithm , as follows . in an initial round ,
all optimal two - primer designs are computed for subsequences that start at i = 1 and end at different locations j. in these two - primer solutions , the forward primer 's 5 end is at nucleotide i = 1 and the reverse primer 's 5 end is at j ( see figure 1a ) ; the primers optimal 3 ends ( p and q , respectively ) are computed and stored .
the calculation is enumerative but fast due to the pre - calculations above and to caching of scores associated with primer end positions p and q. in general , solutions are not found except for subsequences near the beginning of the desired template , due to length constraints on the primers ; however these solutions are used in subsequent rounds . in the next round , the optimal four - primer designs that end at each j  are calculated , enumerating over the stored two - primer solutions ending at j < j  and optimizing over endpoints of the two new primers i  ..  p and j .. q on forward and reverse strands , respectively .
the calculation is continued up to 2m - primer assemblies , making use of the solutions of the ( m  1)-th round . unless the number of primers is specified
, primerize uses a maximum number of primers of 2 ( n / lmin ) , where n is the length of the desired sequence and returns the assembly among all the rounds that ends at j = n ( a full coverage of the template ) and has the best score .
the optimization has a running time that scales quadratically with n , as is checked below .
an important factor governing the success of primer design methods is the optimization function , which we chose originally to be the sum of primer lengths but then revised based on experimental feedback . in initial tests on the escherichia coli 5s ribosomal rna and the p4p6 domain of the tetrahymena ribozyme , a method solely optimizing sequence length produced significant fractions of incorrect products that , when isolated and sequenced , corresponded to products due to the 3 ends of primers 
touching down on short reverse complementary segments outside their desired location ( figure 1c ) .
we reasoned that such hybridizations would occasionally occur and be recognized by dna polymerase and since the primer 's 3-most nucleotide would be bound to the complement , the products could be extended by the polymerase .
if the products were shorter than the desired full - length product , they would be selectively amplified .
modeling the full process of primer hybridization and extension though multiple pcr cycles is complex , but we reasoned that it would best to penalize the possibility of these events .
( we note that this model of mispriming is different than that assumed in ( 6 ) , which was based on estimating stability of hybridization of primers ( tm ) without special consideration of the 3 ends . )
we introduced and experimentally tested a score term misprime , whose purpose was to reduce artifacts from mispriming during pcr assemblies .
a heuristic score was defined based on the number of contiguous reverse complement matches of the 3-most n nucleotides of the primer on a possible hybridization site ; the score was incremented by 10 for a / t pairings and 12.5 for g / c pairings for each match .
we also considered an alternative numerical form of this score based on nearest - neighbor parameters for the dna base pairs ; however , that form appeared less effective at excluding a / t - rich mis - hybridization sites observed in our initial experimental measurements .
the scoring system was not further optimized after successful primer assembly in a range of applications . for each potential
forward primer 3 endpoint p , the highest value of this penalty for mispriming to any other segment in the forward or reverse sequence was pre - calculated and stored as misprimeforward(p ) .
an analogous score misprimereverse(q ) was pre - calculated for each possible reverse primer 3 endpoint q. the design algorithm minimizes the sums of these misprime scores for each primer end position p and q plus the sum of forward and backward primer lengths lp and lq .
the primerize server uses cherrypy ( the cherrypy team , http://www.cherrypy.org ) , a framework based on python ( python software foundation , https://www.python.org ) for basic web services and data management . for the client - side ,
we coded the web pages in the html5 standard ( world wide web consortium , http://www.w3.org/tr/html5 ) , with jquery ( the jquery foundation , http://jquery.com ) for interactive user - interface components and bootstrap ( the bootstrap team , http://getbootstrap.com ) for styling . on the server side , we used python to create a unique job identifier job_id , to fork the matlab interpreter to execute the code that contains input parameters , to parse the results and to render onto a web page .
primerize supports most of the widely used web browsers including google chrome , mozilla firefox , apple safari and microsoft internet explorer .
figure 2 illustrates an example of primerize input . the input is a dna template sequence .
valid input nucleotides are a , c , g , t and u ( u is automatically converted to t ) .
an optional name tag can be specified for the sequence . additionally , advanced options enable customization of the assembly .
the minimum tm ( melting temperature ) allows the user to adjust the annealing temperature of the overlapping regions ; thermodynamic calculations of tm are based on high - salt nearest - neighbor parameters for dna ( 24 ) .
maximum and minimum lengths of primers adjust the length of each primer ( building block ) and can be modified for long fragment assembly .
an option for the number of primers can limit the total number of building blocks . input interface of the primerize server . primerize takes a sense - strand dna template sequence as input .
advanced options , including minimum tm , maximum and minimum lengths of primers , number of primers , and t7 promoter checking are available for customization .
after design submission , a modal screen is displayed to report the job_id and indicates the calculation is running .
once finished , the output is returned on the same web page ( figure 3a ) .
first , a detailed table of all primers for the assembly of template sequence is returned , with their primer number and direction , length , and sequence .
next , a graphical schematic of the assembly scheme illustrates how the designed primers overlay with each other to permit pcr assembly of the full - length sequence .
primers are drawn in their directions ( forward or reverse ) , with the tm of each overlapping region marked .
any potential mispriming problems are reported to the user as warnings , including the primers involved and the position and length of mispriming regions . if the user 's constraints for tm or the desired number of building blocks can not be satisfied , an informative error message is provided .
the result of t7 promoter checking is also displayed on the output as a separate section .
as expected , the running time of the server increased quadratically with the number of input nucleotides , with typical design times of seconds for templates with lengths of 300 nucleotides ( figure 1d ) .
results of primerize , including potential mispriming warnings ,  t7 promoter checking , run time , table of all primers and assembly scheme are returned .
all results are assigned with a unique job_id and are available for download as plain text .
primer information written in a format that can be copied and pasted to idt bulk ordering page .
the user can retrieve a particular run result using the job_id from the home page .
the text file contains information about the input sequence and parameters , output primer sequences and length , graphical assembly scheme and potential mispriming warnings .
we also include a copy of the primer information in a format that is directly compatible with dna primer ordering in bulk format ( figure 3b ) from companies such as integrated dna technologies ( coralville , ia , usa ) . the user can copy and paste the text into the idt bulk ordering page , a convenient feature when the number of primers is large .
an automatic demonstration of primer design for the 158-nt tetrahymena group - i intron p4-p6 domain , including a t7 promoter sequence , is available through a 
demo button on the web server as well as a detailed tutorial page . on the 
tutorial page , we have also demonstrated the use of the idt bulk ordering page and a separate 
we have developed and launched the primerize web server , a straightforward tool for designing primers used in rna synthesis by primer assembly .
the underlying algorithm is optimized for minimizing primer boundaries against mispriming and has been stress - tested in several rna studies involving hundreds of sequences .
the online version enables a user - friendly interface with customizable parameters with reasonable default values , automatic checking of promoter sequences , anonymized access and return to long jobs and output formatted for both human evaluation and convenient ordering from synthesis companies .
we hope the primerize server will contribute to rna bioscience by helping accelerate rna synthesis .
national institutes of health [ r01 r01gm102519 to r.d . ] ; stanford graduate fellowship ( to s.t . ) ; conacyt fellowship ( to p.c . ) ; burroughs wellcome foundation career award [ 1007236.01 to r.d . ] at the scientific interface .
 customized rna synthesis is in demand for biological and biotechnological research . 
 while chemical synthesis and gel or chromatographic purification of rna is costly and difficult for sequences longer than tens of nucleotides , a pipeline of primer assembly of dna templates , in vitro transcription by t7 rna polymerase and kit - based purification provides a cost - effective and fast alternative for preparing rna molecules . nevertheless , designing template primers that optimize cost and avoid mispriming during polymerase chain reaction currently requires expert inspection , downloading specialized software or both . 
 online servers are currently not available or maintained for the task . 
 we report here a server named primerize that makes available an efficient algorithm for primer design developed and experimentally tested in our laboratory for rna domains with lengths up to 300 nucleotides . 
 free access : http://primerize.stanford.edu . 
INTRODUCTION
METHOD OVERVIEW
WEB SERVER
SUMMARY
FUNDING