Design PCR Primers
Use DECIPHER's DesignPrimers function to design the optimal set of PCR primers for targeting one group of DNA sequences in the presence of many non-target groups, as described in:ES Wright et al. (2014) "Exploiting Extension Bias in PCR to Improve Primer Specificity in Ensembles of Nearly Identical DNA Templates." Environmental Microbiology, doi:10.1111/1462-2920.12259.
How do I design PCR primers?
First it is necessary to install DECIPHER and load the library in R. Next, set the "fas" variable to the path to the FASTA file of aligned sequences (e.g., "~/mySeqs.fas").12-345678910-111213141516171819-2021-2223242526-27library(DECIPHER)library(RSQLite) # load sequences into a databasefas <- "~/mySeqs.fas"dbConn <- dbConnect(SQLite(),":memory:")Seqs2DB(fas,type="FASTA",dbFile=dbConn,identifier="") # identify the sequences based on their descriptionx <- dbGetQuery(dbConn,"select description from Seqs")$descriptionns <- unlist(lapply(strsplit(x,split=" "),FUN=`[`,1L))Add2DB(myData=data.frame(identifier=ns),dbFile=dbConn) tiles <- TileSeqs(dbConn)head(tiles) primers <- DesignPrimers(tiles,identifier="Streptococcus", # target groupminProductSize=50, # base pairsnumPrimerSets=1) # candidates to designhead(primers) dbDisconnect(dbConn)