Bioinformatics Bites: Primer BLAST

This week’s bioinformatics bites is going to look over the features of Primer BLAST.

Back in my day (circa 2001-2014), we designed our primers by hand! Most of the places I worked, we’d have a printout of the genomic sequence we were working on that was annotated with transcripts and restriction site. We’d eyeball a good primer site and use OligoAnalyzer to find Tm and hairpins and self annealing and all that. One group I worked in would calculate Tm by counting up all the G’s and multiplying that by 4, then counting all the As and multiplying that by 2, and adding those two numbers together. There was no thought given to contaminating products in the design process. That was all trial and error in the PCR machine.

It was the dark ages.

Luckily, NCBI designed primer BLAST to help you all out. The primary function of this tool is primer design. First, enter a template.


(Click to enlarge images)

First, provide a unique identifier (accession or GI) for a record that’s in GenBank (like the NM_ number for an mRNA) or paste in a nucleotide sequence in FASTA format. i’m going to use the accession number (NM_001302688.1) for the human APOE gene mRNA.

Then, specify where you want your forward (sense) and reverse (antisense) primers to be in that sequence.

Finally, specify information about your primers (Tm) and desired PCR product (length). You can also use this tool to create a matching primer for a preexisting primer. We’ll use the example  5′-GGGAGCCCTATAATTGGACAAG-3′


If you used a refseq mRNA as your template, specify parameters involving introns and exons, such as whether the  primers span an exon-exon junction and how many bases have to match on either side of the junction. You can also specify whether you want the product to span an intron on the genomic DNA.

Primer blast exonintron

Finally, specify how you want the algorithm to check for specificity of your primers by selecting your organism (or possible contaminating organism), the datta base you want to search, target size and specific primer parameters (mismatches etc.) PrimerBLAST specificity

For this demo, I used the template NM_001302688.1 and specified that my forward primer is 5′-GGGAGCCCTATAATTGGACAAG-3′. I also specified that I want the product include on intron. All other values were kept as default. (Another handy feature is that the interface highlights non-default parameters in yellow.)

After clicking submit, a nice graphical summary of the results is displayed. Note that because i specified a forward primer, all the PCR products (in blue) start in the same place:

primer BLAST graphic

For each primer pair, the sequence of both primers, the product length, the size of the intron they span are included. along with information about Tm, length, start and stop positions, and self binding for each primer.

primer blast primer pair

This is where the hack I mentioned last week comes in: because the primer that we entered into the search is also mapped onto the template, Primer BLAST effectively tells you the binding sure of the primer in terms of its position on the transcript we entered as the template. Pretty cool! Changing the template to the DNA accession number that contains this sequence would give us the genomic position of the primer, but we wouldn’t be able to do the cool stuff with introns.

Finally, it displays potential contaminating products you might see with human DNA as the PCR template:

primer blast unintended targets

In this case, it looks like we’d be amplifying another transcript variant of APOE. Definitely something to look out for when doing qPCR!

I hope you find this tool useful. Please let me know if I can help you with using primer BLAST or any other NCBI databases and tools.

  • Tobin Magle, Biomedical Sciences Research Support Specialist