TITLE: No Title
AUTHORS: 

[DESCRIPTION]
This protocol describes the design of primer pairs against the human genome for the synthesis of probes for high-definition DNA FISH (HD-FISH). This pipeline selects PCR primer pairs with optimal thermodynamic features, delimiting amplicons 200–220 nucleotides in length, and filters out primer pairs amplifying multiple targets as well as cross-hybridizing amplicons. Using such primers, highly specific double-stranded probes can be rapidly generated for virtually any desired genomic locus by fluorescently labeling pooled amplicons after PCR.<br /><br />While this protocol describes the design against the human genome, we have also used it to geneate a genome-wide library for mouse. The design and method should work across other organisms as well.<br /><br />For more information please see the full paper (and the dedicated <a href="http://www.hdfish.eu/" target="_blank">hdfish.eu</a> website):<br />Bienko, Magda et al. “<a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3735345/" target="_blank">A Versatile Genome-Scale PCR-Based Pipeline for High-Definition DNA FISH.</a>” <em>Nature methods</em> 10.2 (2013): 122–124. <em>PMC</em>. Web. 9 Nov. 2015.

[GUIDELINES]
<strong>OVERVIEW</strong><br />
<ol>
<li>Each chromosome is split into 500-bp tiled fragments (sliding in 100bp steps)</li>
<li>Each fragment is searched against the human genome with blat*</li>
<li>Unique fragments are merged if overlapping</li>
<li>Primer 3 is run on the merged sequences for tiled primer pairs design.</li>
<li>Each primer pair is checked for uniqueness by e-PCR.</li>
<li>Check each probe for uniqueness against the genome with a more sensitive BLAT search.**</li>
</ol>
*First round of BLAT (on 500bp-windows) uses 80% cutoff for<br /> matches.<br />**Final round of BLAT (on the 200bp probes) uses 70% cutoff.<br /><br /><strong>SOFTWARE</strong><br />Homology searches are done with BLAT (<a href="http://genome.ucsc.edu/FAQ/FAQblat.html" target="_blank">http://genome.ucsc.edu/FAQ/FAQblat.html</a>)<br /><br />Primers are designed with "Primer3"<br />(<a href="http://primer3.sourceforge.net/" target="_blank">http://primer3.sourceforge.net/</a>)<br /><br />In silico PCR is done with "e-PCR"<br />(<a href="http://www.ncbi.nlm.nih.gov/tools/epcr/" target="_blank">http://www.ncbi.nlm.nih.gov/tools/epcr/</a>)<br /><br /><strong>Total sequence for primer design, with single-hits only:</strong><br /><br />1,228,290,200bp (step 3)<br />5,120,725 initial primers designed (step 4)<br />5,080,020 after in silico PCR (step 5)<br />4,823,784 final probes<br />-Final round of BLAT (on the 200bp probes) uses 70% cutoff.<br /><br />- e-PCR search done with maximum of 2bp mismatch in the <br />primers.<br /><br /><strong>NOTES<br /><br /></strong>The pipeline uses a cluster, so many of the commands are specific to breaking up the analysis files and submitting parallel jobs to the cluster nodes.<br /><br />All scripts are available at <a href="http://www.hdfish.eu/Downloads.html" target="_blank">hdfish.edu</a>.<br /><br /><strong>ANALYSIS<br /></strong><br />Want to get a feel for the coverage of chromosomes.<br />
<ul>
<li>How many probes per 10KB?</li>
<li>How many deserts with very few probes?</li>
<li>Excluding the deserts, what is the probe density?</li>
</ul>
<br />Below are the SQL analyses to answer the above.<br /><br />//////////////////////////////////////////////////////////<br />-Load the final probe positions into mySQL (human DB)<br /><br />CREATE TABLE probes(<br />    chrom VARCHAR(20),<br />    start INT,<br />    stop INT<br />) ;<br /><br />LOAD DATA LOCAL INFILE '/home/lenny/projects/hd_fish/db/round2_unique_probes.tbl' INTO TABLE probes;<br /><br />-Count "N"s in the fasta file<br />(on rous)<br />cd /home/nylenny/hdfish/databases/fasta/<br /><br />for file in chr*.fa; do cat $file | perl -ne 'chomp;if (m/^&gt;/){$chrom=$_;$chrom=~s/&gt;//;print "$chrom\t";}else{$n_count = tr/nN//;$totaln+=$n_count}END{print "$totaln\n";}' &gt;&gt; human_chr_ncounts.txt ; done<br /><br />CREATE TABLE chroms(<br />    chrom VARCHAR(20),<br />    size INT<br />) ;<br /><br />CREATE TABLE ncounts(<br />    chrom VARCHAR(20),<br />    totalN INT<br />) ;<br /><br />LOAD DATA LOCAL INFILE '/home/lenny/projects/hd_fish/db/human_chr_ncounts.tbl' INTO TABLE ncounts;<br /><br />create table chroms_full select chroms.chrom,chroms.size,ncounts.totalN n_count, size-totalN adjusted_size from chroms, ncounts where chroms.chrom=ncounts.chrom;<br /><br />drop table chroms;<br />drop table ncounts;<br />alter table chroms_full rename to chroms;<br /><br />- Count probes/10KB for each chromosome<br /><br />CREATE TABLE temp (select chrom,count(*) total_probes from probes group by chrom);<br /><br />create table probes_bychrom select pb.chrom,pb.total_probes,chroms.size chrom_size, round(10000*pb.total_probes/chroms.size,1) probes_per10kb from temp pb, chroms WHERE pb.chrom=chroms.chrom order by chroms.size DESC;<br /><br />create table probes_bychrom_adj select pb.chrom,pb.total_probes,chroms.adjusted_size adj_chrom_size, round(10000*pb.total_probes/chroms.adjusted_size,1) probes_per10kb from temp pb, chroms WHERE pb.chrom=chroms.chrom order by chroms.size DESC;<br /><br />drop table temp;<br /><br />- Look at 10KB-windows<br />create table windows select chrom,round(start/10000) start,count(*) total from probes group by chrom,round(start/10000);<br /><br />

[STEPS]
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?. 
?.