|
|
codehop |
A CODEHOP primer is degenerate at the 3'
core region, with a length of 11-12 bp across four codons of highly
conserved amino acids, and is non-degenerate at the 5' consensus
clamp region, with a length which depends on its desired
annealing temperature, typically between 20 and 30 bp :
5' 3' --------------------=========== non-degenerate degenerate consensus clamp core #bases from temp 11-12 bases
The hybrid structure (5' consensus and 3' degenerate) of CODEHOP primers allows the PCR amplification to be specific during the early cycles from the original source DNA and selective during the late cycles from the PCR synthesized products :

Schematic comparison of standard degenerate PCR (left) with the CODEHOP (right), illustrating regions of mismatch in primer-to-template annealing during early PCR cycles and in primer-to-product annealing during subsequent cycles. Vertical lines indicate nucleotide matches between primer (arrow) and template or synthesized product. The overall degeneracy is the product of degeneracies at each nucleotide position, so that the fraction of precisely hybridizing primers is 1/degeneracy.
The "naked" CODEHOP program takes as input a file in Blocks format with a series of local multiple protein sequence alignments without gaps. The current implementation of the codehop "wrapper" program can operate in three modes :
CODEHOP does not select primer pairs. It selects from each block a series of primers. By default a maximum of 3 primers per block are reported, but you can change this limit or ask to show all primers. It can of course happen that no primer is found. It is the responsability of the user to select from the output two sets of degenerate primers with opposite orientations and at appropriate distance to allow for amplification.
| The program consists of the following steps: (note the scheme on the right) | |
|---|---|
1) A set of blocks is input, where a block is an aligned array of amino acid sequence segments without gaps that represents a highly conserved region of homologous proteins. A weight is provided for each sequence segment, which can be increased to favor the contribution of selected sequences in designing the primer. A codon usage table is chosen for the target genome. |
CODEHOP program scheme
1) input - - - - - - - - - - - - - - - seq 1 Protein sequence block
- - - - - - - - - - - - - - - seq 2
- - - - - - - - - - - - - - - seq 3
- - - - - - - - - - - - - - - seq 4
- - - - - - - - - - - - - - - seq 5
- - - - - - - - - - - - - - - etc.
|
| 2) transformation to AA PSSM
V
| | | | | | | | | | | | | | | Ala AA PSSM
| | | | | | | | | | | | | | | Cys
| | | | | | | | | | | | | | | Asp
| | | | | | | | | | | | | | | Glu
| | | | | | | | | | | | | | | Phe
| | | | | | | | | | | | | | | Gly
| | | | | | | | | | | | | | | His
| | | | | | | | | | | | | | | Ile
| | | | | | | | | | | | | | | Lys
| | | | | | | | | | | | | | | etc.
| |
| | 3) calculation of AA consensus sequence
| V
| - - - - - - - - - - - - - - - AA consensus sequence
|
| |
| | 4) transformation to DNA consensus sequence
| V
| ------------------------------------------- DNA consensus sequence
| |
| | 5) back-translation to DNA PSSM
| V
| ||||||||||||||||||||||||||||||||||||||||||| A DNA PSSM
| ||||||||||||||||||||||||||||||||||||||||||| C
| ||||||||||||||||||||||||||||||||||||||||||| G
| ||||||||||||||||||||||||||||||||||||||||||| T
| | |
| | | 6) calculation of degeneracies
| | V
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ position degeneracy values
| |
| | 7) identify degenerate regions ("===")
| |
| 8) identify consensus regions for degenerate regions ("---")
| |
V V
5' -------==== 3' CODEHOP primers
output 3' ====--------- 5'
|
examples:
| 1 | 2 | 3 | 4 | 5 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| base | value | ratio | value | ratio | value | ratio | value | ratio | value | ratio |
| A | 0 | 0 | 25 | 1 | 40 | 0.67 | 30 | 0.67 | 45 | 1 |
| C | 0 | 0 | 25 | 1 | 0 | 0 | 5 | 0.11 | 11 | 0.24 |
| G | 100 | 1 | 25 | 1 | 60 | 1 | 45 | 1 | 17 | 0.38 |
| T | 0 | 0 | 25 | 1 | 0 | 0 | 20 | 0.44 | 27 | 0.6 |
| Strictness | degeneracy | |||||||||
| 0 | 1 | 4 | 2 | 4 | 4 | 0.33 | 1 | 4 | 2 | 3 | 3 | 0.5 | 1 | 4 | 2 | 2 | 2 | 0.67 | 1 | 4 | 2 | 2 | 1 | 1 | 1 | 4 | 1 | 1 | 1 |
> codehop
Select degenerate primers from set of related proteins
1 : global alignment
2 : local alignment without gaps
3 : Blocks format file
Operation mode and input type [1]:
Input sequence(s): ADH.msf
Codon usage file: Ehuman.cut
Output file [e.codehop]: ADH_human.codehop
6 blocks found with minimum width 10 and maximum with 55
|
Go to the input files for this example
Go to the output files for this example
Standard (Mandatory) qualifiers (* if not always prompted):
-mode menu [1] Operation mode and input type. The
algorithm needs local alignments without
gaps (blocks) and the software will slice a
global alignment into blocks. (Values: 1
(global alignment); 2 (local alignment
without gaps); 3 (Blocks format file))
* -seqs seqall Sequence(s) filename and optional format, or
reference (input USA)
* -blocksfile infile Blocks file
-cfile codon Codon usage table name
[-outfile] outfile [*.codehop] Output file name
Additional (Optional) qualifiers (* if not always prompted):
* -minwidth integer [10] Minimum block width (Integer 8 or more)
* -maxwidth integer [55] Maximum block width (Integer from
minimum block width to sequences length)
-gencode menu [0] Genetic code for backtranslaton (Values:
0 (Standard); 1 (Vertebrate Mitochondrial);
2 (Yeast Mitochondrial); 3 (Mold
Mitochondrial and Mycoplasma); 4
(Invertebrate Mitochondrial); 5 (Ciliate
Nuclear); 6 (Echinoderm Mitochondrial); 7
(Euplotid Nuclear); 8 (Bacterial and Plant
Plastid); 9 (Alternative Yeast Nuclear); 10
(Ascidian Mitochondrial); 11 (Flatworm
Mitochondrial); 12 (Blepharisma
Macronuclear); 13 (Chlorophycean
Mitochondrial); 14 (Trematode
Mitochondrial); 15 (Scenedesmus obliquus
mitochondrial); 16 (Thraustochytrium
mitochondrial))
-coredegeneracy float [128.0] Maximum core degeneracy. The core
degeneracy is the number of alternative
primer sequences. (Number 1.0 or more)
-corestrictness float [0.0] Core strictness (Number from 0.000 to
1.000)
-most toggle Use the most common codons in the clamp
* -clampstrictness float [1.0] Clamp strictness (Number from 0.000 to
1.000)
-clamptm float [60.0] Clamp melting temperature (Any
numeric value)
-clamppolynuc integer [5] Clamp maxiumum number of consecutive
nucleotides of same type (Integer 1 or more)
-dnaconc float [50.0] Primer DNA concentration (nM) (Number
0.000 or more)
-rose boolean Force core/clamp boundary to be codon
boundary
-[no]invar boolean [Y] 3' base of primer must be invariant
-showall toggle Show all degenerate primers in output
* -maxshow integer [3] Maximum number degenerate primers per
block in output (Integer 1 or more)
Advanced (Unprompted) qualifiers: (none)
Associated qualifiers:
"-seqs" associated qualifiers
-sbegin integer Start of each sequence to be used
-send integer End of each sequence to be used
-sreverse boolean Reverse (if DNA)
-sask boolean Ask for begin/end/reverse
-snucleotide boolean Sequence is nucleotide
-sprotein boolean Sequence is protein
-slower boolean Make lower case
-supper boolean Make upper case
-sformat string Input sequence format
-sdbname string Database name
-sid string Entryname
-ufo string UFO features
-fformat string Features format
-fopenfile string Features file name
"-cfile" associated qualifiers
-format string Data format
"-outfile" associated qualifiers
-odirectory1 string Output directory
General qualifiers:
-auto boolean Turn off prompts
-stdout boolean Write standard output
-filter boolean Read standard input, write standard output
-options boolean Prompt for standard and additional values
-debug boolean Write debug output to program.dbg
-verbose boolean Report some/full command line options
-help boolean Report command line options. More
information on associated and general
qualifiers can be found with -help -verbose
-warning boolean Report warnings
-error boolean Report errors
-fatal boolean Report fatal errors
-die boolean Report dying program messages
|
| Standard (Mandatory) qualifiers | Allowed values | Default | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| -mode | Operation mode and input type. The algorithm needs local alignments without gaps (blocks) and the software will slice a global alignment into blocks. |
|
1 | ||||||||||||||||||||||||||||||||||
| -seqs | Sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required | ||||||||||||||||||||||||||||||||||
| -blocksfile | Blocks file | Input file | Required | ||||||||||||||||||||||||||||||||||
| -cfile | Codon usage table name | Codon usage file in EMBOSS data path | Required | ||||||||||||||||||||||||||||||||||
| [-outfile] (Parameter 1) |
Output file name | Output file | <sequence>.codehop | ||||||||||||||||||||||||||||||||||
| Additional (Optional) qualifiers | Allowed values | Default | |||||||||||||||||||||||||||||||||||
| -minwidth | Minimum block width | Integer 8 or more | 10 | ||||||||||||||||||||||||||||||||||
| -maxwidth | Maximum block width | Integer from minimum block width to sequences length | 55 | ||||||||||||||||||||||||||||||||||
| -gencode | Genetic code for backtranslaton |
|
0 | ||||||||||||||||||||||||||||||||||
| -coredegeneracy | Maximum core degeneracy. The core degeneracy is the number of alternative primer sequences. | Number 1.0 or more | 128.0 | ||||||||||||||||||||||||||||||||||
| -corestrictness | Core strictness | Number from 0.000 to 1.000 | 0.0 | ||||||||||||||||||||||||||||||||||
| -most | Use the most common codons in the clamp | Toggle value Yes/No | No | ||||||||||||||||||||||||||||||||||
| -clampstrictness | Clamp strictness | Number from 0.000 to 1.000 | 1.0 | ||||||||||||||||||||||||||||||||||
| -clamptm | Clamp melting temperature | Any numeric value | 60.0 | ||||||||||||||||||||||||||||||||||
| -clamppolynuc | Clamp maxiumum number of consecutive nucleotides of same type | Integer 1 or more | 5 | ||||||||||||||||||||||||||||||||||
| -dnaconc | Primer DNA concentration (nM) | Number 0.000 or more | 50.0 | ||||||||||||||||||||||||||||||||||
| -rose | Force core/clamp boundary to be codon boundary | Boolean value Yes/No | No | ||||||||||||||||||||||||||||||||||
| -[no]invar | 3' base of primer must be invariant | Boolean value Yes/No | Yes | ||||||||||||||||||||||||||||||||||
| -showall | Show all degenerate primers in output | Toggle value Yes/No | No | ||||||||||||||||||||||||||||||||||
| -maxshow | Maximum number degenerate primers per block in output | Integer 1 or more | 3 | ||||||||||||||||||||||||||||||||||
| Advanced (Unprompted) qualifiers | Allowed values | Default | |||||||||||||||||||||||||||||||||||
| (none) | |||||||||||||||||||||||||||||||||||||
codehop can also work in Blocks format file mode on a set of different blocks (local alignments without gaps) in Blocks format provided by the user.
CODEHOP Version 10/14/04.1
COPYRIGHT 1997-2004, Fred Hutchinson Cancer Research Center, Seattle, WA, USA
Parameters:
Amino acids PSSM calculated with odds ratios normalized to 100
and back-translated with Standard genetic code
and codon usage table "Ehuman.cut"
Maximum core degeneracy 128 Core strictness 0.00
Clamp strictness 1.00 Target clamp temperature 60.00 C
DNA Concentration 50.00 nM Salt Concentration 50.00 mM
Codon boundary 0 Most common codon 0
Verbose 0 Output 3
Begin 1 PolyX 5
Suggested CODEHOPS: The degenerate region (core) is printed in lower case,
the non-degenerate region (clamp) is printed in upper case.
Processing Block 4codehopA
M K G W A A M D F W K H L E P M T F T R R E P G P H D V Y I K I E F C G I C H S D I H Q V H N E W G M S H Y P
No suggested primers found.
Processing Complement of Block 4codehopA
M K G W A A M D F W K H L E P M T F T R R E P G P H D V Y I K I E F C G I C H S D I H Q V H N E W G M S H Y P
No suggested primers found.
Processing Block 4codehopB
C V P G H E I V G R V V E V G S K V H K Y K V G D R V G V G C Q V D C C R E C E Y C T S G Q E Q Y C P H M H W
TTGGTCyynggncayga -3' Core: degen=128 len=11 Clamp: score=58, len=6 temp=-25.7 *** CLAMP NEEDS EXTENSION
Processing Complement of Block 4codehopB
C V P G H E I V G R V V E V G S K V H K Y K V G D R V G V G C Q V D C C R E C E Y C T S G Q E Q Y C P H M H W
ccngtrctyymGCACCCGCACCACC -5' Core: degen=64 len=11 Clamp: score=65, len=14 temp= 60.2
Processing Block 4codehopC
G Y H T Q G G Y A E H C V C H E H Y V I R I P D N L P L D A A A P L L C A G I T V Y S P L K H W G C G P G M W
CCGCCCCTCTGCTGtgygsnggnrt -3' Core: degen=128 len=11 Clamp: score=70, len=14 temp= 62.7
Processing Complement of Block 4codehopC
G Y H T Q G G Y A E H C V C H E H Y V I R I P D N L P L D A A A P L L C A G I T V Y S P L K H W G C G P G M W
acrcsnccnyaGTGGCACATGTGGGGAGAC -5' Core: degen=128 len=11 Clamp: score=64, len=19 temp= 62.0
Processing Block 4codehopD
V G I V G I G G L G H M G V K Y A K A M G H H V T V F S T S H K K R E D A M H L G A D H Y I N M R D P D G W K
GGGCGTCAAGTTCGCCvmngcnatggg -3' Core: degen=96 len=11 Clamp: score=66, len=16 temp= 61.4
Processing Complement of Block 4codehopD
V G I V G I G G L G H M G V K Y A K A M G H H V T V F S T S H K K R E D A M H L G A D H Y I N M R D P D G W K
ccngtryancsGCAGTTCAAGCGGTTCCG -5' Core: degen=128 len=11 Clamp: score=62, len=18 temp= 62.9
Processing Block 4codehopE
E H H D G F D Y I C N T V S A K H N F D Q Y Y Q L M K H D G T L V M V G A P E H P H K F P V F M L M L M R V S
No suggested primers found.
Processing Complement of Block 4codehopE
E H H D G F D Y I C N T V S A K H N F D Q Y Y Q L M K H D G T L V M V G A P E H P H K F P V F M L M L M R V S
No suggested primers found.
Processing Block 4codehopF
I M G S M I G G R K E T Q E M L D F C A E H N V T P W I E M I E M D Y I N H A F E R M E K G D V R Y R F V I D
No suggested primers found.
Processing Complement of Block 4codehopF
I M G S M I G G R K E T Q E M L D F C A E H N V T P W I E M I E M D Y I N H A F E R M E K G D V R Y R F V I D
No suggested primers found.
|
The 5'-consensus clamp region is written in uppercase, the 3'-degenerate
core region is written in lowercase.
Note that a primer GGGCGTCAAGTTCGCCvmngcnatggg with degeneracy 96 means
that you must actually synthetise and use a mixture of 96 primers, where
v must be replaced by A, C or G, m must be replaced by A or C and n must
be replaced by any of the 4 bases, this in all possible combinations
(3X2X4X4=96).
A CLAMP NEEDS EXTENSION message means that the program could
find an appropriate degenerate core but that it could not extend the
consensus clamp sufficiently enough as to obtain a high enough melting
temperature, because it hit the block border. You can try to mend this
by running the program again on an extended alignment (try removing
columns with gaps and/or ambiguities) or by adding yourself the most
plausible codons.
ID 4codehop; BLOCK AC 4codehopA; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 0) IKAVGAYSAKQPLEPMDITRREPGPNDVKIEIAYCGVCHSDLHQVRSEWAGTVYP 8.080556 B.stearoth ( 0) MKAAVVNEFKKALEIKEVERPKLEEGEVLVKIEACGVCHTDLHAAHGDWPIKKLP 10.830556 M.tubercul ( 0) VAAYAAMSATEPLTKTTITRRDPGPHDVAIDIKFAGICHSDIHTVKAEWGQPNYP 8.486111 yeast ( 0) GIGISNAKDWKHPKLVSFDPKPFGDHDVDVEIEACGICGSDFHIAVGNWGPVPEN 11.441667 cider_tree ( 0) TTGWAARDPSGVLSPYTYSLRNTGPEDLYIKVLSCGVCHSDIHQIKNDLGMSHYP 8.841667 A.thaliana ( 0) AFGLAAKDNSGVLSPFSFTRRETGEKDVRFKVLFCGICHSDLHMVKNEWGMSTYP 7.319444 // ID 4codehop; BLOCK AC 4codehopB; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 55) CVPGHEIVGRVVAVGDQVEKYAPGDLVGVGCIVDSCKHCEECEDGLENYCDHMTG 8.947222 B.stearoth ( 55) LIPGHEGVGIVVEVAKGVKSIKVGDRVGIPWLYSACGECEYCLTGQETLCPHQLN 10.477778 M.tubercul ( 55) VVPGHEIAGVVTAVGSEVTKYRQGDRVGVGCFVDSCRECNSCTRGIEQYCKPGAN 7.966667 yeast ( 55) QILGHEIIGRVVKVGSKCHTVKIGDRVGVGAQALACFECERCKSDNEQYCTNDHV 10.411111 cider_tree ( 55) MVPGHEVVGEVLEVGSEVTKYRVGDRVGTGIVVGCCRSCSPCNSDQEQYCNKKIW 8.922222 A.thaliana ( 55) LVPGHEIVGVVTEVGAKVTKFKTGEKVGVGCLVSSCGSCDSCTEGMENYCPKSIQ 8.275000 // ID 4codehop; BLOCK AC 4codehopC; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 110) EPHTLGGYSQQIVVHERYVLRIRHPQELAAVAPLLCAGITTYSPLRHWQAGPGKK 8.808333 B.stearoth ( 110) GGSVDGGYAEYCKAPADYVAKIPDNLDPVEVAPILCAGVTTYKALKVSGARPGEW 11.061111 M.tubercul ( 110) GQPTQGGYSEAIVVDENYVLRIPDVLPLDVAAPLLCAGITLYSPLRHWNAGANTR 8.036111 yeast ( 110) GYISQGGFASHVRLHEHFAIQIPENIPSPLAAPLLCGGITVFSPLLRNGCGPGKR 10.030556 cider_tree ( 110) GKPTQGGFAGEIVVGERFVVKIPDGLESEQAAPLMCAGVTVYSPLVRFGLKSGLR 8.652778 A.thaliana ( 110) NTITYGGYSDHMVCEEGFVIRIPDNLPLDAAAPLLCAGITVYSPMKYHGLDPGMH 8.411111 // ID 4codehop; BLOCK AC 4codehopD; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 165) VGVVGIGGLGHMGIKLAHAMGAHVVAFTTSEAKREAAKALGADEVVNSRNADEMA 8.488889 B.stearoth ( 165) VAIYGIGGLGHIALQYAKAMGLNVVAVDISDEKSKLAKDLGADIAINGLKEDPVK 10.852778 M.tubercul ( 165) VAIIGLGGLGHMGVKLGAAMGADVTVLSQSLKKMEDGLRLGAKSYYATADPDTFR 9.716667 yeast ( 165) VGIVGIGGIGHMGILLAKAMGAEVYAFSRGHSKREDSMKLGADHYIAMLEDKGWT 9.441667 cider_tree ( 165) GGILGLGGVGHMGVKIAKAMGHHVTVISSSDKKREALEHLGADAYLVSSDENGMK 8.283333 A.thaliana ( 165) IGVVGLGGLGHVGVKFAKAMGTKVTVISTSEKKREAINRLGADAFLVSRDPKQIK 8.216667 // ID 4codehop; BLOCK AC 4codehopE; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 220) AHLKSFDFILNTVAAPHNLDDFTTLLKRDGTMTLVGAPATPHKSPVFNLIMKRRA 8.430556 B.stearoth ( 220) AIHDGVHAAISVAVNKKAFEQAYQSVKRGGTLVVVGLPNADLPIPIFDTVLNGVS 9.994444 M.tubercul ( 220) KLRGGFDLILNTVSANLDLGQYLNLLDVDGTLVELGIPEHPMAVPAFALALMRRS 8.241667 yeast ( 220) EQYSDLLVVCSSSLSKVNFDSIVKIMKIGGSIVSIAAPEVNEKLVLKPLGLMGVS 11.219444 cider_tree ( 220) EATDSLDYIFDTIPVVHPLEPYLALLKLDGKLILTGVINAPLQFISPMVMLGRKS 9.044444 A.thaliana ( 220) DAMGTMDGIIDTVSATHSLLPLLGLLKHKGKLVMVGAPEKPLELPVMPLIFERKM 8.069444 // ID 4codehop; BLOCK AC 4codehopF; distance from previous block=(0,0) DE block derived from ADH.msf BL UNK motif; width=55; seqs=6; 99.5%=0; strength=0 E.coli ( 275) IAGSMIGGIPETQEMLDFCAEHGIVADIEMIRADQINEAYERMLRGDVKYRFVID 7.197222 B.stearoth ( 275) VKGSIVGTRKDMQEALDFAARGKVRPIVETAELEEINEVFERMEKGKINGRIVLK 12.213889 M.tubercul ( 275) LAGSNIGGIAETQEMLNFCAEHGVTPEIELIEPDYINDAYERVLASDVRYRFVID 7.700000 yeast ( 275) ISSSAIGSRKEIEQLLKLVSEKNVKIWVEKLPISEVSHAFTRMESGDVKYRFTLV 11.833333 cider_tree ( 275) ITGSFIGSMKETEEMLEFCKEKGLTSQIEVIKMDYVNTALERLEKNDVRYRFVVD 8.263889 A.thaliana ( 275) VMGSMIGGIKETQEMIDMAGKHNITADIELISADYVNTAMERLEKADVRYRFVID 7.791667 // |
more $EMBOSS_DATA/cut.listIf you work under wEMBOSS you can select from a selector.
At the BEN site you can find besides the codon usage files from the EMBOSS distribution also files from the CUTG databank. You can search the CUTG databank using MRS. E.g., if you want a table for the bacteriophage lambda, a search for "*lambda*" will show you that there is a table with ID Bacteriophage_lambda, you can then run codehop with file Bacteriophage_lambda.cutg
Note that, in order to get a valid result, it is important to choose a appropriate codon usage table and genetic code.
Note that you should run the PCR under the conditions specified to the program (50 mM K+, primer DNA concentration as input (by default 50 nM), working temperature as input (default 60 �C)).
The number of sequences n is higher than the maximum of 400
There is error message specific to this program that is issued if the "naked" codehop program produces an empty output file :
No output, codehop program crashed !
| Program name | Description |
|---|---|
| eprimer3 | Picks PCR primers and hybridization oligos |
| primersearch | Searches DNA sequences for matches with primer pairs |
| stssearch | Search a DNA database for matches with a set of STS primers |
The program codehop itself was written by a team of developers working at the FHCRC. For any questions, please contact :
Steven Henikoff steveh@fhcrc.org Fred Hutchinson Cancer Research Center FAX: 206-667-5889 1100 Fairview AV N, A1-162, PO Box 19024 Seattle, WA 98109-1024