Design

Primer Design

One of the first things anyone learns in a molecular biology lab is how to design primers. The exact strategies vary a lot and are sometimes polymerase-specific. coral uses the Klavins’ lab approach of targeting a specific melting temperature (Tm) and nothing else, with the exact Tm targeted being between 65°C and 72°C, the choice being personal preference. coral currently defaults to 72°C on the Phusion (modified Breslauer 1986) Tm calculator.

coral.design_primer is a function that takes in a sequence.DNA object and rapidly finds the 5’ subsequence that is closest to the desired Tm (within a user-definable error range). If the entire sequence would make a primer with too low of a Tm, a descriptive error is produced.

For this tutorial, let’s design primers that will amplify the gene EYFP.

First we read in a plasmid from Havens et al. 2012 and isolate the EYFP sequence.

717
ATGGTGAGCAAGGGCGAGGAGCTGTTCACCGGGGTGGTGC ... CGCCGCCGGGATCACTCTCGGCATGGACGAGCTGTACAAG
TACCACTCGTTCCCGCTCCTCGACAAGTGGCCCCACCACG ... GCGGCGGCCCTAGTGAGAGCCGTACCTGCTCGACATGTTC

Designing primers is straightforward - you just call design.design_primer with a sequence.DNA object as the input.

ATGGTGAGCAAGGGCG

GGGGGATCGATATGGTGAGCAAGGGCGAGGAGCTGTTCAC

Designing primers and getting a string output is just the first step in primer design - we want to know whether the primers actually work and write them out to a file. The point of programming DNA is that you never copy and paste!

To simulate a PCR using the rules of molecular biology, use coral.reaction.pcr. The output is a subsequence of the template DNA - the features may not match the plasmid exactly (due to being truncated by the PCR), but the sequences match. If a primer would bind in multiple places (exact matches to the template), the pcr function will fail and give a useful message.

You can check for identical sequences using python’s built in == operator.

True

Now that we have verified that our primers should at least amplify the DNA that we want, let’s write out our primers to file so they can be submitted to an oligo synthesis company.

The csv file can then be opened in a spreadsheet application like Excel or processed by a downstream program. This is the format of the csv:

['name', 'sequence', 'notes']
['Forward EYFP primer', 'ATGGTGAGCAAGGGCG', '']
['Reverse EYFP primer', 'CTTGTACAGCTCGTCCATGCC', '']