PCR Primer Design - Specificity
2
2
Entering edit mode
8.6 years ago
MBNorthstar ▴ 20

Does anyone know of a high-throughput way of checking thousands of PCR primers for SNP interference? BLAT's InSilico PCR and NCBI's Primer-Blast one-at-a-time scenario will not work for us. We currently use SNPCheck 3.0, but this service will soon be shut down. Please HELP! We tried using UCSC's table browser, but the output was not really what we need for documentation purposes.

primer PCR SNP • 5.0k views
ADD COMMENT
0
Entering edit mode

I wrote some code for a UK-based company called PrimerDesign which did exactly this. Unfortunately I cannot give away the code, but if you're organism is Human, Mouse or Rat, I know they will have the primer you need without being on or around any common SNPs (or at least they will be able to tell you immediately).
If you have custom/novel SNPs, or you're working on an organism that isn't one of those three, then I think i'm able to help you out :) But again I cant share code so you'd have to send me the primers. Hopefully someone else has a better solution like YetAnotherSNPChecker4.0 or something without dumb restrictions.

ADD REPLY
0
Entering edit mode

Thanks!!!!!!

ADD REPLY
0
Entering edit mode
8.6 years ago

If you have the primer location in genomic coordinates.

Download a massive control population variant database, ExAC, 1KG, or the like. Screen it for frequency (maybe only retain variants >3% of the population).

Then merge the two files. bedtools intersect -c will count how many variants hit each input region.

That's it, you now know if any of your primers have a SNP.

//Gosh I feel like every answer I give this year is bedtools intersect.

ADD COMMENT
0
Entering edit mode

Heheh, some things money cant buy - for everything else theres bedtools.

I wonder if it matters what order you try and intersect.. checking if 1 billion SNPs intersect a primer will take a lot longer than to check if 1 primer intersects a billion SNPs. Maybe bedtools is smart about it... hm.

This wont work for RNA by the way, which is what I did for PrimerDesign - but if its all genomic then yeah this will work nicely :)

ADD REPLY
0
Entering edit mode

If you sort both files the same way, (genomically). There's some kind of --assume-sorted flag that lets the intersection code just basically walk forward on each one, and the speed is pretty amazing.

ADD REPLY
0
Entering edit mode

Ah, I wouldn't say amazing - I wrote an intersection tool in Python (bedtools is c++) and the python/pysam code was faster, so their algorithm isn't particularly optimised - but bedtools does work nicely.
Still, a billion SNP bisects (to see whether or not it intersects the primer) is a lot slower than a single primer bisect of a billion (sorted) SNPs, so even with sorting it matters. They probably do it right though. I think bedtools is one of the better suites.
The other day I found that running GATK on 1 read takes almost as long as a 100 million reads, because GATK walks through the genome (and checking for intersections in a sorted BAM), rather than walking through the BAM and seeing which genome info is needed to call SNPs. Makes sense when you call SNPs genome-wide. Doesn't make sense when you just call SNPs on chrX. A lot of bioinformatics tools work, but aren't optimised for speed unless its something to do with mapping - and to be honest I think thats OK :) I'd much rather that than the other way around :P

ADD REPLY
0
Entering edit mode

Thank you!!

ADD REPLY
0
Entering edit mode
7.1 years ago
Felix Francis ▴ 600

Try the PSE module in ThermoAlign: A primer design tool for tiled amplicon sequencing (includes multiplexing) using highly specific primers.

Manuscript: http://www.nature.com/articles/srep44437

https://github.com/drmaize/ThermoAlign

ADD COMMENT

Login before adding your answer.

Traffic: 2662 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6