while databases containing nucleic and amino acid sequences continue to grow at an exponential rate , the data that they contain catalog only a fragment of the genetic content present in the millions of species on earth . a conservative estimate of global diversity anticipates some 3.510.5 million species ( 1 ) but , as of january 2009 , only 200 000 species were represented in the organism taxonomy maintained by national center for biotechnology information ( 2 ) . moreover , pathogen recombination events ensure that no sequence data repository could ever house a complete representation of nature 's diversity . yet , basic and clinical scientists require tools that help them characterize and study the structure , function and evolution of genes and proteins from widely disparate organisms . this article discusses such a tool ; a web application called icodehop that can design pcr primers capable of amplifying distantly related genes . we have previously described a method for the prediction and use of consensus - degenerate hybrid oligonucleotide primers ( codehops ) for the amplification of unknown genes ( 3 ) . a codehop is a hybrid primer consisting of a degenerate  core and non - degenerate the core region resides on the 3-end of the primer and consists of the nucleotide sequences providing all possible codons for a highly conserved amino acid motif of three to four residues identified in a protein multiple alignment . the nondegenerate clamp region contains the most common nucleotide in each position of the codons for five to seven amino acid positions immediately adjacent to the conserved motif . this region is typically between 15 and 20 bases and its length can be adjusted by the user . the 3-degenerate structure of codehops allows the pcr amplification to have a broad specificity for distantly related target gene templates , while the 5-consensus clamp allows for a robust amplification from pcr product templates during the later cycles of the amplification reaction . figure 1.a codehop is a hybrid primer consisting of a 3-degenerate  core and 5-non - degenerate  clamp region . the dna sequence of a codehop and the amino acid multiple alignment it was derived from are shown . a codehop is a hybrid primer consisting of a 3-degenerate  core and 5-non - degenerate clamp region . the dna sequence of a codehop and the amino acid multiple alignment it was derived from are shown . the codehop approach has been used to identify and characterize a number of novel genes and identify unknown pathogens . it has been especially useful in situations involving distantly related targets and limited template in complex mixtures ( 48 ) . we previously developed a program to predict codehops from multiply aligned protein sequences and provided a web interface for the scientific community ( 3,9 ) . several publications mention the successful application of codehops designed by this program ( see : http://courses.washington.edu/bioinfo/codehop/codehop%20genes.html ) and log files indicate that this program has designed codehops for many hundreds of users since its release . however , its user interface was not optimal and its output was of limited use for primer selection and assay development . to address these issues , and provide new functions for primer design and selection , we have developed a new , interactive , web application called icodehop . icodehop is an interactive web application that intelligently guides users through the degenerate primer design process including uploading sequences , creating a gapped multiple alignment , converting the gapped alignment to an ungapped multiple alignment ( a block ) , deriving codehops and calculating the range of annealing temperatures possible for degenerate primer pools . the input to icodehop can be nonaligned protein sequences , clustal alignments , or an ungapped multiple alignment in blocks format . protein sequences can be specified by uniprot or genbank accession number or by uploading a fasta or genbank formatted text file . the program 's output includes a set of codehops and a variety of meta - data about each primer pool including its length , degeneracy and annealing temperature range . icodehop enables users to quickly scan over an entire set of degenerate primers produced by the program to assess their relative quality and select individual degenerate primers for further analysis ( figures 2 and 3 ) . the program also automatically generates and displays phylogenetic information for sub - selections of input sequences and allows users to easily design new degenerate primers or bias primer design towards sequences of their choice ( figure 4 ) . figure 2.a sample  codehop summary page produced by icodehop after creating codehops from a specific protein multiple alignment . the top pane of the split display shows summary details about a specific primer that a user has selected in the bottom pane using a mouse . the user can see more data on the selected primer , including all potential partner codehops , by clicking on the button titled complete summary. 
 figure 3.the output of icodehop after a user requests to view detailed information on a specific codehop from the codehop summary page shown in figure 2 . the program presents a number of details for the selected primer including its range of annealing temperatures at three levels of mismatch with the unknown target sequence , potential partner codehops and estimated amplicon length . 
  a sample  codehop summary page produced by icodehop after creating codehops from a specific protein multiple alignment . the top pane of the split display shows summary details about a specific primer that a user has selected in the bottom pane using a mouse . the user can see more data on the selected primer , including all potential partner codehops , by clicking on the button titled complete summary. the output of icodehop after a user requests to view detailed information on a specific codehop from the codehop summary page shown in figure 2 . the program presents a number of details for the selected primer including its range of annealing temperatures at three levels of mismatch with the unknown target sequence , potential partner codehops and estimated amplicon length . the interested user can access the icodehop web application for free and with no login requirement from the internet explorer ( versions  7.0 ) and firefox ( versions  2.5 ) web browsers . a typical user would access the application intermittently to identify degenerate primers for a particular target gene family , carry out work in the lab using the primers , and then reuse the tool depending on the utility of the initial primer pair . upon arriving at the application 's home page for the first time , a user has the choice of running the icodehop application from either an  anonymous or  named session . if the user selects to use a named session , the application will store data that the user creates while running the program for a short period of time ( currently 72 h ) . this option ensures that a user can easily recover her / his data if something happens that disrupts the connection between the application and the user 's web browser . named sessions also facilitate remote collaboration by allowing multiple users at distinct locations to view or extend an analysis started by a single user . both session options provide the user with the option to download a file containing her / his data when they exit the program . this file can be reloaded into a new named session at a later time and enables the user to archive and share her / his analysis . after a user starts a session , the icodehop application initializes itself in a new window and provides the option to enter a degenerate primer design workflow or run other bioinformatics programs related to degenerate primer design . when a user selects to enter the degenerate primer design workflow , the program provides a form that ( s)he can use to upload sequence data and choose which data to use for designing codehops . the user has a great deal of flexibility in selecting sequences and can choose : one or more nonaligned sequences , a single multiple alignment , any combination of sequences from one or more multiple alignments , any combination of nonaligned sequences and sequences from one or more multiple alignments andany combination of blocks or block groups . icodehop advances the user down two different paths depending on the data that they select . if the user selects as input a single gapped multiple alignment or any number of nongapped multiple alignments ( blocks ) , they are taken directly to a form that allows customization of codehop design otherwise , icodehop guides the user through a sub - workflow where ( s)he creates a gapped multiple alignment using clustalw ( 10 ) ( icodehop currently restricts the amount of amino acid sequence data that users can submit to its implementation of clustalw to 20 000 residues ) . the program then attempts to identify blocks of highly conserved amino acids within the multiple alignment before taking the user to the codehop design form . one or more nonaligned sequences , a single multiple alignment , any combination of sequences from one or more multiple alignments , any combination of nonaligned sequences and sequences from one or more multiple alignments and any combination of blocks or block groups . at the codehop design form , the user can change the default values for any of a large number of parameters that affect how codehops are designed . here , we summarize the most interesting options ; a complete description of all available options is available in the online icodehop documentation . users can : set the maximum degeneracy of each codehop 's 3-core region.select from among more than 200 species - specific codon usage tables ( 11 ) to bias how the amino acid position - specific scoring matrix ( pssm ) created for each block is back - translated to a dna pssm ( 12).adjust the approximate length of the 5-clamp region of each codehop by increasing or decreasing minimum annealing temperature ( tm ) that each clamp region must satisfy.bias codehop design to favor specific sequences in a protein family by adjusting the numerical weight assigned to each sequence when the program creates an amino acid pssm from each block ( this technique was used successfully by rose et al . ( 3 ) to create codehops that amplified novel genes belonging to a species that was under represented in their protein multiple alignment ) . when the user is ready to proceed , the program will then attempt to design codehops along each block of conserved amino acids that the program carved from the user 's protein multiple alignment . icodehop implements a revised version of the original codehop design algorithm ( 3 ) that increases the maximum block width from 55 amino acid residues to 1000 . this allows primer prediction to span the artificial block widths imposed by the original program . the new version also replaces the original method for calculating the tm of clamp regions with a more recent nearest neighbor method based on experiments by santalucia and hicks ( 13 ) . tests by our group and others have found that these changes produce primers that are nearly identical to experimentally verified primers produced by the old program . set the maximum degeneracy of each codehop 's 3-core region . select from among more than 200 species - specific codon usage tables ( 11 ) to bias how the amino acid position - specific scoring matrix ( pssm ) created for each block is back - translated to a dna pssm ( 12 ) . adjust the approximate length of the 5-clamp region of each codehop by increasing or decreasing minimum annealing temperature ( tm ) that each clamp region must satisfy . bias codehop design to favor specific sequences in a protein family by adjusting the numerical weight assigned to each sequence when the program creates an amino acid pssm from each block ( this technique was used successfully by rose et al . ( 3 ) to create codehops that amplified novel genes belonging to a species that was under represented in their protein multiple alignment ) . upon completion , the program presents a split window with one half showing a plot of the relative position of each codehop along the block it was derived from and other half presenting details on specific blocks and codehops as the user mouses over them in the plot ( figure 2 ) . information present in this display includes the relative position along the block of the selected primer , the conservation at each amino acid position within the block , the primer 's degeneracy , the length of the clamp and core regions of the primer , and the clamp 's estimated annealing temperature . the user can learn more about a specific primer by clicking on a button that links to a complete summary . a new tab will open within the application 's window that shows the user detailed information on the selected primer and a brief summary of potential partner codehops for the pcr . details on the selected primer include a phylogram of the block region that the primer was designed from and three different tm range estimates ( figure 3 ) . each tm range estimate represents a specific level of mismatch between primers in the degenerate pool and the unknown target . these include the case where ( i ) every primer in the pool perfectly complements the target , ( ii ) each primer in the pool matches the target perfectly over its core region but contains one mismatch every 3 nt over its clamp region and ( iii ) the primer is complementary to the target only over its core region . summary information on each potential partner codehop includes its sequence , position , degeneracy and a similar set of tm range estimates as is shown for the selected primer . the program also shows , for each potential partner codehop , the length of the amplicon that would be produced during a pcr experiment using it and the selected primer . under certain conditions , icodehop is unable to design primers for a particular protein multiple alignment because conservation is too poor among the selected sequences for the program to find primers that satisfy degeneracy and clamp length constraints . in this case , the program supports two workflows that can ultimately lead to the successful design of codehops for the user 's target gene family . in one workflow , the program presents the user with information regarding the phylogenetic relationships among the set of input sequences and allows the user to select a sub - clade for further analysis ( figure 4 ) . this process is useful for eliminating sequences that prevent codehop design due to a lack of conservation with other input sequences . it is also useful for identifying related clusters of input sequences that can be analyzed separately for codehops . in the other workflow , the user biases the sequence alignment that resulted in no primers to favor a specific sequence or sequence clade ( for example , one that appears most closely related to the targeted gene family ) . the user accomplishes this by altering the numerical weight that was assigned to the chosen sequence(s ) when the program created an amino acid pssm from each block . both methods are explained in detail in icodehop 's online documentation . figure 4.in this figure , the user has chosen to view the details of a block for which no primer could be found by the program . the user can select which sequences to include in the next attempt to generate primers by selecting re - design primers. 
  in this figure , the user has chosen to view the details of a block for which no primer could be found by the program . the user can select which sequences to include in the next attempt to generate primers by selecting re - design primers. we conducted a formal usability study to evaluate the icodehop user interface . the study was approved by the university of washington 's ( uw ) institutional review board and involved three graduate students and one post - doctoral researcher from the uw department of pathobiology . we observed participants as they attempted to complete two focused tasks that differed in their difficulty using a the first task required each participant to work her / his way through the basic primer design workflow implemented in icodehop using a set of closely related sequences . the second task was similar , but required users to identify a specific sub - clade among the input sequences that would reduce the complexity of the sequence alignment , thus allowing the program to design primers for the chosen sub - clade . this study exposed several usability issues and led to refinements in the program 's user interface . for example , each form that the program presents to the user was simplified and informational alerts were provided at each step of the primer design workflow . under certain conditions , icodehop is unable to design primers for a particular protein multiple alignment because conservation is too poor among the selected sequences for the program to find primers that satisfy degeneracy and clamp length constraints . in this case , the program supports two workflows that can ultimately lead to the successful design of codehops for the user 's target gene family . in one workflow , the program presents the user with information regarding the phylogenetic relationships among the set of input sequences and allows the user to select a sub - clade for further analysis ( figure 4 ) . this process is useful for eliminating sequences that prevent codehop design due to a lack of conservation with other input sequences . it is also useful for identifying related clusters of input sequences that can be analyzed separately for codehops . in the other workflow , the user biases the sequence alignment that resulted in no primers to favor a specific sequence or sequence clade ( for example , one that appears most closely related to the targeted gene family ) . the user accomplishes this by altering the numerical weight that was assigned to the chosen sequence(s ) when the program created an amino acid pssm from each block . both methods are explained in detail in icodehop 's online documentation . figure 4.in this figure , the user has chosen to view the details of a block for which no primer could be found by the program . the user can select which sequences to include in the next attempt to generate primers by selecting re - design primers. 
  in this figure , the user has chosen to view the details of a block for which no primer could be found by the program . the user can select which sequences to include in the next attempt to generate primers by selecting the study was approved by the university of washington 's ( uw ) institutional review board and involved three graduate students and one post - doctoral researcher from the uw department of pathobiology . we observed participants as they attempted to complete two focused tasks that differed in their difficulty using a the first task required each participant to work her / his way through the basic primer design workflow implemented in icodehop using a set of closely related sequences . the second task was similar , but required users to identify a specific sub - clade among the input sequences that would reduce the complexity of the sequence alignment , thus allowing the program to design primers for the chosen sub - clade . this study exposed several usability issues and led to refinements in the program 's user interface . for example , each form that the program presents to the user was simplified and informational alerts were provided at each step of the primer design workflow . although there are several other publicly available tools for designing degenerate pcr primers , icodehop is the only one that aids in the design of primers with the consensus - degenerate hybrid format . it is also one of only a few systems that design primers from amino acid multiple - alignments . several existing programs , including scprimer ( 15 ) , amplicon ( 16 ) and hyden ( 17 ) design degenerate primers exclusively from nucleic acid multiple alignments . this approach is very useful when nucleotide information is available and avoids the issue of back - translating amino acid sequences . however , it is sometimes not possible to identify conserved regions among the many nucleotide sequences that can encode a protein family of interest , even when conservation is discernible at the amino acid level . other researchers have proposed different strategies for designing degenerate primers from gapped amino acid sequence multiple alignments . some methods , such as that proposed by wie et al . ( 18 ) , do not appear to have been validated at the laboratory bench . ( 19 ) , have led to the pcr amplification of novel proteins but have not been implemented in any publicly available web application . to the best of our knowledge , genefisher ( 20,21 ) is the only other publicly available web application besides icodehop that both designs degenerate primers from amino acid sequences and has produced degenerate primers that have been validated in laboratory experiments . the original version of genefisher ( 20 ) identified potential degenerate primers by first creating a consensus sequence from a user - generated nucleotide multiple alignment then , excluding potential primers that did not meet a large set of customizable constraints . genefisher was replaced by an ajax - enabled web application called genefisher2 ( 21 ) that adds the ability to design primers from back - translated amino acid sequences and no longer requires a user to create her / his own sequence multiple alignments . in contrast , the codehops produced by icodehop have degenerate positions only within 1112 bases of their 3-end . the remaining positions of a codehop are derived from the input amino acid multiple alignment by determining either the most common codons of the consensus amino acids or the codons with maximum weight in a dna pssm created from the alignment . as discussed above , this heuristic is known to be effective for designing degenerate primer for distantly related targets . icodehop is an enhanced , user - friendly , version of a program that predicts codehops from multiply aligned protein sequences . this project could result in more widespread use of a proven technique for identifying and amplifying new members of known gene families which could , in turn , increase the speed and accuracy of novel pathogen and gene discovery . future efforts will focus on the development of metrics for choosing optimal codehop primer pairs and the implementation of a process to utilize existing nucleic acid sequence information in codehop primer design . national centers for research resources ; national institutes of health ( 1r24rr021346 ) . funding for open access charge : national centers for research resources - 1r24rr021346 .
pcr amplification using consensus degenerate hybrid oligonucleotide primers ( codehops ) has proven to be highly effective for identifying unknown pathogens and characterizing novel genes . 
 we describe icodehop ; a new interactive web application that simplifies the process of designing and selecting codehops from multiply - aligned protein sequences . 
 icodehop intelligently guides the user through the degenerate primer design process including uploading sequences , creating a multiple alignment , deriving codehops and calculating their annealing temperatures 
 . the user can quickly scan over an entire set of degenerate primers designed by the program to assess their relative quality and select individual primers for further analysis . 
 the program displays phylogenetic information for input sequences and allows the user to easily design new primers from selected sequence sub - clades . 
 it also allows the user to bias primer design to favor specific clades or sequences using sequence weights . 
 icodehop is freely available to all interested researchers at https://icodehop.cphi.washington.edu/i-codehop-context/welcome .