Daniel:Notebook/ComboLock/CProbeDesign: Difference between revisions

From ZhangLabWiki
Jump to navigation Jump to search
>Djacobse
>Djacobse
Line 20: Line 20:
<ol>
<ol>
<li>Randomly generate a large list of 18bp sequences</li>
<li>Randomly generate a large list of 18bp sequences</li>
  python primergenerator.py -a -n $nprimers -l $plength -o primers.fa
  python primergenerator.py -a -n $nprimers -l $plength -o primers.fa [[Media:Primergenerator.txt|primergenerator.py]]
<li>BLAST sequences against genome</li>
<li>BLAST sequences against genome</li>
  blastn -db hg19.fa -query primers.fa -num_descriptions 5 -task blastn-short -out primers.blastout.txt -outfmt 7
  blastn -db hg19.fa -query primers.fa -num_descriptions 5 -task blastn-short -out primers.blastout.txt -outfmt 7
<li>Reorder the sequences based on BLAST results (oligos with fewest hits are best)</li>
<li>Reorder the sequences based on BLAST results (oligos with fewest hits are best)</li>
  python primerblast.analyzer.py -n $nprimers -l $plength -o $OUTFILE
  python primerblast.analyzer.py -n $nprimers -l $plength -o $OUTFILE [[Media:Primergenerator.txt|primergenerator.py]]
<li>Generate random 8bp barcodes and make sure they are not too similar to one another (I use >=2bp of difference) </li>
<li>Generate random 8bp barcodes and make sure they are not too similar to one another (I use >=2bp of difference) </li>
  python barcodegenerator.py -n $nbarcodes -l $blength
  python barcodegenerator.py -n $nbarcodes -l $blength
Line 31: Line 31:
<li>BLAST sequences against genome and transcriptome</li>
<li>BLAST sequences against genome and transcriptome</li>
</ol>
</ol>
==Designing Transcript Matching Region==
==Designing Transcript Matching Region==



Revision as of 17:03, 21 April 2016

C Probe Design

Back to Notebook

This page describes the methods used for designing C-Probes for Combo Lock. The illustration below shows what a C-probe is expected to look like. The descriptions given include the original design sizes.

File:C Probes.png

Designing Capture Arm

The capture arm design aims to create 2 sequences that are orthogonal to the human genome/transcriptome, so that these sequences will not have non-specific binding. The two flanking sequences (one for padlock and one for latch) will have an 8bp region between them that will be a barcode unique to each C-probe.

Each C probe of a pair will have:

  1. Padlock matching region, this will be a different sequence for each of the pair of C probes, but will be the same across pairs
  2. Latch matching region, this will be a different sequence for each of the pair of C probes, but will be the same across pairs
  3. 8 bp barcode region, this will be unique for every C probe
  1. Randomly generate a large list of 18bp sequences
  2. python primergenerator.py -a -n $nprimers -l $plength -o primers.fa primergenerator.py
  3. BLAST sequences against genome
  4. blastn -db hg19.fa -query primers.fa -num_descriptions 5 -task blastn-short -out primers.blastout.txt -outfmt 7
  5. Reorder the sequences based on BLAST results (oligos with fewest hits are best)
  6. python primerblast.analyzer.py -n $nprimers -l $plength -o $OUTFILE primergenerator.py
  7. Generate random 8bp barcodes and make sure they are not too similar to one another (I use >=2bp of difference)
  8. python barcodegenerator.py -n $nbarcodes -l $blength
  9. Select two oligo sequences and link them together with barcodes
  10. bash script
  11. BLAST sequences against genome and transcriptome

Designing Transcript Matching Region

    Must install R, Primer3, and Blast+ before using
  1. Make blast databases
  2. make one for repetitive regions (from Repbase)
  3. makeblastdb -in repbase.fa -dbtype nucl
  4. Make one for transcriptome; use only high quality bases (from NCBI ftp)
  5. makeblastdb -in rna_human_high_qual.fa -parse_seqids -dbtype nucl
  6. In R:
  7. library(devtools) install_github("nolanlab/PLAYRDesign") library(PLAYRDesign)
  8. Next make a library from UCSC in R:
  9. library(GenomicFeatures) txdb <- makeTxDbFromUCSC(genome = "hg19", tablename = "refGene") saveDb(txdb, "PUT THE PATH TO THE OUTPUT FILE HERE")
  10. Finally, run PLAYRDesign
    1. Select a file (any file) in the working directory you wish to use
    2. You must have a configuartion file in the directory you wish to use (see below)
    3. You can hit escape any time in the R window to stop PLAYRDesign
  11. PLAYRDesign.run()

PLAYRDesign Configuration File

Needed to run PLAYRDesign. The name of the file must be playrdesign_conf.txt and must be in your working directory. An example is below. Note that if there are any spaces in your file (including after the path name) PLAYRDesign will not work properly

BLASTN_EXEC=/usr/bin/blastn           (The full path to the blastn executable)
BLASTN_DB=/opt/BLAST/                 (The directory containing your BLAST database files)
PRIMER3_EXEC=/usr/bin/primer3_core    (The full path to the primer3_core executable)
PRIMER3_CONFIG=/opt/primer3_config/   (The primer3_config directory that is found in the primer3 distribution, see above)
PLAYRDESIGN_DATA=/opt/PLAYRDesign_data   (The directory containing the EST and exon data, see above)

PLAYRDesign Output

I have attached a sample of the output probes from the C-probe designer: C Probe Analysis SOD1/VIM (pdf)

C Probe Analysis SOD1/VIM (docx)


Looking at the file, probes, I have highlighted the sequences that match the mRNA (mRNA sequence used is below the probe). From looking at two different pairs of probes for SOD1 and VIM (8 probes total), it is clear that the first 24bp are genomic matching. There then appears to be a 10 base poly-A spacer region, followed by the relevant barcodes. I have used the 24bp transcript matching region and 10bp spacer in my own designs.