BACKGROUND
the post-translational modification of proteins by phosphorylation of serine, threonine or tyrosine residues is a ubiquitous process in cellular regulation.
protein kinases, the enzymes responsible for protein phosphorylation, make up almost 2% of protein-encoding genes in the human genome  <cit>  and an estimated 30–50% of human proteins are phosphorylated  <cit> .
protein kinases and their substrates regulate essentially all cellular processes through complex regulatory networks, in which phosphorylated proteins act as switches that tune the response of the cell to environmental stimuli.
defects in these networks result in a variety of disease states making protein kinases important targets for drug design  <cit> .
in general, a protein kinase acts on a discrete set of substrates to ensure that signalling fidelity is maintained.
how a particular protein kinase recognises its substrate protein is therefore a key question.
two major factors determine the formation of a protein kinase-substrate complex  <cit> .
the first, termed substrate recruitment, encompasses any process that increases the effective concentration of the protein kinase substrate.
this can be brought about by mechanisms including colocalisation of protein kinase and substrate to a subcellular compartment  <cit>  or complex formation mediated through binding sites either on the protein kinase  <cit>  or a scaffolding protein  <cit> .
the second factor, termed peptide specificity, describes the interaction between amino acid residues in the catalytic domain of the protein kinase and the substrate residues that surround the phosphorylated residue.
crystal structures of protein kinases with bound substrate peptides show that substrate residues at positions - <dig> to + <dig> relative to the phosphorylated serine, threonine or tyrosine residue adopt an extended conformation and bind to a pocket in the catalytic domain of the protein kinase  <cit> .
the heptapeptide sequence from - <dig> to + <dig> that best binds to the pocket is determined by the physicochemical nature of the residues in the catalytic domain that line the pocket and contact the substrate.
the relative contribution of substrate recruitment and peptide specificity to protein kinase substrate specificity varies between protein kinases.
however, it is recognised that for many protein kinase families, particularly those that phosphorylate ser/thr residues, peptide specificity is the major factor that determines substrate specificity.
the prediction of peptide specificity is therefore the basis for most of the available computational methods aimed at predicting substrates of protein kinases.
a notable exception, networkin  <cit> , uses both peptide specificity and contextual information to predict phosphorylation networks.
other currently-available prediction tools include kinasephos  <cit> , gps  <cit> , disphos  <cit> , pkaps  <cit> , predphospho  <cit> , scansite  <cit> , ppsp  <cit>  and netphos  <cit>  .
these tools mine data from phosphorylation site databases, principally the phospho.elm database  <cit>  and employ methods that include profile hidden markov models , neural networks  and support vector machines  to identify potential phosphorylation sites according to protein kinase family.
the availability of data that links protein kinases with their substrates is a limiting factor in developing tools for substrate prediction.
furthermore, different tools use different names for protein kinase families.
the lack of recognised standards for identifying protein kinases or describing their substrate interactions is an obstacle to mining data from disparate sources.
we have described a method, named predikin, to predict protein kinase peptide specificity  <cit> .
predikin identifies the key residues in the protein kinase catalytic domain, termed substrate-determining residues , which determine the sequence of the substrate heptapeptide.
this method can be applied to any protein kinase sequence for which sdrs can be identified.
we have successfully used predikin to provide insight into signal transduction pathways  <cit> .
it has also been used to predict phosphorylation sites, of which a number have been confirmed experimentally, in a range of biological systems  <cit> .
predikin was originally written in javascript and made available as a web application with limited functionality.
here, we describe a new implementation of predikin with enhanced features for the analysis of protein kinases and their substrates.
we also introduce predikindb, an database of phosphorylation sites derived by semi-automated mining of uniprot.
predikindb is a useful standalone resource and is also used in predikin to generate specificity rules and prediction scores.
implementation
predikin consists of two components that work together: a database of phosphorylation sites, in which the sequences of protein kinase catalytic domains and their substrates are linked and a perl module, which queries the database to generate substrate predictions based on the features of a query kinase.
the predikindb database
to predict phosphorylation sites in a query kinase, a dataset of substrates and their associated kinases is required.
we constructed predikindb, a custom database of phosphorylation sites derived from uniprot records using bioperl-based parsers.
the construction of predikindb is outlined in figure  <dig>  using a uniprot entry for a sequence from mouse as an example protein kinase substrate ).
predikindb was constructed using protein kinase and substrate records from the uniprot database.
protein kinase sequences were obtained in swissprot format from the ebi srs server using the search term "dbxref_:ipr000719", corresponding to the interpro signature of the protein kinase catalytic domain.
each file was parsed to extract the name, accession number, id, gene synonyms and organism.
functions provided by the predikin.pm perl module  were used to extract the sequence of the catalytic domain, assign the kinase type, ksd family and panther family and identify substrate-determining residues.
these data were imported into a mysql table.
protein kinase substrate sequences were obtained in swissprot format from the ebi srs server using the search term "keywords:phosphorylation".
each file was parsed to extract the substrate accession number, id and organism.
mod_res lines were parsed to extract the phosphorylated residue , its position, annotation confidence  and where present, names of the kinases acting at the phosphorylation site.
the key feature of predikindb is the automated assignment of specific kinase sequences to their substrates ).
this is achieved by comparing kinase names in the substrate uniprot mod_res line  to kinase gene names and synonyms for kinase uniprot records from the same species ).
the parsed data were then imported into two mysql tables, one describing substrate proteins and the other describing phosphorylation sites.
figure 1b illustrates the links between tables in predikindb that describe kinases, substrates and phosphorylation sites.
table  <dig> summarises the current contents of predikindb and the number of phosphorylation sites that could be linked with a kinase sequence using this approach.
phosphorylation sites in predikindb were also annotated according to whether they are present in phospho.elm  <cit> , a manually-curated database of experimentally-validated phosphorylation sites.
this enables users to specify that only high-quality, validated sites be used in kinase substrate prediction, with the trade-off that fewer sites will be available.
of the phosphorylation sites in predikindb that are present in phospho.elm, approximately 98% are annotated in uniprot as "experimental" or "by similarity", which indicates that the uniprot procedure for annotation of phosphorylation sites is reliable.
the scripts used to build predikindb allow it to be updated automatically; predictions made using predikin should therefore improve incrementally over time as more phosphorylation sites and their protein kinases are annotated in uniprot.
predikindb also provides a resource of paired kinase-substrate sequences for further investigation of protein kinase substrate specificity.
the predikin perl module
the predikin.pm perl module was written to provide common methods for kinase sequence analysis and substrate prediction.
the module makes extensive use of the bioperl library  <cit> .
six methods are provided for the analysis of protein kinase sequences and their substrates:  classification of protein kinase type as a serine-threonine, cmgc  or tyrosine kinase;  classification into a kinase sequence database  family;  classification into a panther database  <cit>  family;  location of substrate-determining residues in protein kinase catalytic domains;  extraction of putative phosphorylation sites from substrate sequences and  scoring of phosphorylation sites using weight matrices.
the implementation of predikin in perl provides three significant advantages compared with the original predikin release:  a new approach to locate sdrs,  methods to score phosphorylation sites and  new data input options and filters; these methods are described in the following subsections.
classification of kinase type and family
the catalytic domains of protein kinase sequences were classified by type, kinase sequence database  family  <cit>  and panther family  <cit> .
protein kinase type  was assigned by comparing query sequence with the perl regular expressions:
ser/thr .
{1} .
{1}d k.{2}n {3}
cmgc
tyr   .d   .n {3}
hmms for ksd families were not available at the ksd website and so had to be built.
protein kinase sequences for each ksd family were retrieved in fasta format from the non-redundant protein database.
the hmmer program hmmalign was used to generate alignments of the protein kinase catalytic domain using the pkinase hmm profile from the pfam database  <cit> .
each alignment was then used to build a hmm for the ksd family using hmmbuild and hmmcalibrate.
the ksd family hmms were used to search the query kinase sequence using hmmpfam, the output parsed and the best scoring ksd family assigned to the query.
panther classification was performed using the pantherscore perl script  and the panther library .
the output of pantherscore was parsed and the best scoring panther family was assigned to the query kinase sequence.
identification of substrate determining residues
the identification of substrate-determining residues in the protein kinase catalytic domain by inspection of crystal structures has been described previously  <cit> .
to locate these key residues in a query sequence, the hmmer program hmmsearch was used to align the sequence with the s_tkc hmm   <cit> .
the alignment was processed using the bioperl bio::alignio module to extract the position of the key motifs gxg, amk, gel, pen, dfg and ape, from which the location and identity of each sdr was calculated.
the use of hmm alignments locates substrate-determining residues accurately and reliably in a far wider range of protein kinase sequences than the previous approach, which used javascript string and pattern matching functions.
new substrate scoring methods
previously, predikin used a set of conditional rules of the form "if sdr = x then peptide residue = y" to make substrate predictions.
predictions consisted of regular expressions describing possible combinations of amino acid residues in the predicted substrate peptide.
these could then be used to search for sequences using tools such as scansite  <cit>  or scanprosite  <cit> .
amino acid frequencies at positions - <dig> to + <dig> in the substrate peptide were not calculated and scanning of user-defined substrate sequences was not straightforward.
predikin now scores phosphorylation sites using matrices generated by constructing sql queries to predikindb .
three methods of matrix generation are used.
using the sdr method, the sql query selects substrates from predikindb with kinases of the same type as the query kinase, where the sdrs for positions - <dig> to + <dig> are similar to those of the query kinase .
sdrs are considered similar if substitution using the blosum <dig> matrix  <cit>  gives a positive score.
for example if sdr gel+ <dig>  which determines position - <dig> in the substrate peptide is ile, substrates are selected from predikindb where gel+ <dig> in the associated protein kinase sequences is any of ile/leu/val/met.
the results returned by each query are used to calculate amino acid frequencies and weights .
as the sdr method assumes that the sdrs and each of their associated - <dig> to + <dig> positions are independent, each row of the sdr scoring matrix is calculated independently; i.e.
n, the number of sequences used, differs for each row.
using the ksd or panther scoring methods, the sql query selects substrates with kinases of the same type as the query kinase and of the same ksd/panther family.
aligned substrate heptapeptide sequences is then used to calculate the amino acid frequency matrix at positions - <dig> to + <dig>
frequency matrices are converted to position weight matrices using the equation:
w=log2pp
the background frequency of residue a, p, is estimated as its frequency in all predikindb substrate sequences for each kinase type .
the frequency of a residue at position i in the substrate, p, is estimated using pseudocounts by adding n/ <dig> to the raw frequency f and dividing by n + n .
this correction is not performed using the sdr score method if n =  <dig>
predikin predictions are based on the observation that protein kinases with similar catalytic domains, in terms of either specific substrate-determining residues  or overall similarity  exhibit similar peptide specificity.
the three alternative scoring methods increase the likelihood that a reliable scoring matrix can be obtained and predictions made for the majority of query kinases.
scoring of phosphorylation sites
the predikin module scores phosphorylation sites by locating all instances of the pattern x <dig> x <dig> in query sequences, applying the scoring matrix defined by the user  and converting the score to a relative value between 0– <dig>  potential phosphorylation sites can also be extracted from a file of input sequences  and stored in a database table for retrieval and scoring.
two filters are available to improve predikin predictions .
analysis of  <dig>  phosphorylation sites annotated as "experimental" in predikindb revealed that more than 90% of sites are predicted as "disordered" by at least one of the criteria defined by disembl  <cit>   and only  <dig> % are part of a transmembrane region as predicted by tmhmm  <cit> .
these analyses therefore provide additional information that identifies likely phosphorylation sites and increases prediction accuracy.
both filters and the option of a cutoff score are available to users at the predikin website.
1number of phosphoresidues annotated "experimental"
2number and percentage of phosphoresidues predicted as disordered using at least one disembl method
3number and percentage of phosphoresidues predicted as tm helix using tmhmm
perl scripts that use the predikin.pm module accept several command-line options which alter scoring matrix calculation and scoring of substrate sites.
the main options are:  – disembl; score only sites predicted to be disordered using disembl,  – tmhmm; ignore sites predicted as transmembrane using tmhmm,  – cutoff; specify a cutoff score,  – first; output scores for only the first  sequence in a fasta file;  – noauto; do not output autophosphorylated site scores,  – nokinase; do not output scores if substrate is a kinase,  – noself; do not include sites of query kinase in matrix calculation and  – distinct; perform homology reduction by using only non-redundant heptapeptides in matrix calculation.
the predikin web interface
a new implementation of the predikin website is available .
the website was built using the joomla open-source content management system   <cit> , which allows easy implementation of features such as user registration, documentation and custom forms development  <cit> .
as the cms is written in php, a php perl extension  <cit>  was employed to allow communication between the website and functions in the predikin.pm perl module.
at the predikin website, users can submit a query protein kinase sequence in fasta format.
they are presented with an analysis of the kinase catalytic domain and scoring matrices for each of the sdr, ksd and panther methods.
putative substrate sequences can then be submitted for scoring.
the results for a session are stored in temporary database tables that can be exported as tab-delimited text, allowing users to build up a dataset of many substrates for each kinase.
other features of the website include tools to explore the predikindb database, links to related resources, extensive documentation and discussion forums.
RESULTS
evaluation of predikin predictions
the performance of predikin was evaluated using receiver operator characteristic  analysis  <cit> , implemented in the r  <cit>  epi package  <cit> .
phosphorylation sites in the predikindb database that were  linked to a kinase sequence and  annotated as "experimental" or "by similarity"  were obtained using a mysql select query and the order of the returned rows was randomised.
a cross-validation procedure was devised whereby the sites were divided successively ten times into a test set, containing 10% of the sites and a "training set" available to build scoring matrices, containing the remaining 90% of the sites.
in addition, phosphorylation sites linked to a kinase sequence in the training set were not used to build matrices if the same kinase sequence was linked to sites present in the test set .
for each kinase-substrate pair in the test set, predikin sdr, ksd and panther scores were calculated for all x <dig> x <dig> sites in the substrate, using homology reduction when building the scoring matrices.
the sites were labelled as  <dig>  or  <dig>  and duplicate sites  were removed.
the procedure generated a set of ten files , containing scored and labelled sites for each of the three scoring methods  and for each kinase type .
each set of ten files was used as input to the roc() method of the r epi package and the mean auc  was calculated.
the epi package was also used to obtain the optimal cutoff score which maximized sensitivity; true positives/ and specificity; true negatives/ for each run, from which the mean sensitivity and specificity were calculated .
1sdr method not applicable to tyr kinases
2auc, sensitivity and specificity values are the mean and standard deviation  of  <dig> cross-validation tests
predikin was compared to five commonly-used web-based tools that predict phosphorylation sites .
first, the kinase families common to each method and the panther accession for each family were identified .
substrates of kinases with the appropriate panther accession were obtained from the predikindb database.
this procedure identified  <dig>   <dig> and  <dig> substrates of  <dig>   <dig> and  <dig> serine-threonine, cmgc and tyrosine kinases, respectively, for input to the five web servers.
the other tools cannot be run locally and do not offer convenient programmatic web access.
therefore, a perl script was written using the perl html::form module, to submit substrate sequences to each web server, parse the output and obtain phosphorylation site scores for the corresponding kinase family.
where the option to set cutoff scores was available, the minimum value was chosen to return as many scored x <dig> x <dig> sites as possible.
the output from each method was parsed to obtain sites that were scored by all five methods and the sites were labelled as  <dig>  or  <dig> .
duplicate sites  were removed.
the final output from the procedure was a set of five files , for each of the three kinase types , containing scores and labels for each x <dig> x <dig> site.
each file was then used as input to the roc() function of the r epi library.
existing methods cannot be fully evaluated ; therefore single auc, sensitivity and specificity values are reported for these methods .
the performance of each method varied according to kinase type, ranging from auc values of  <dig>   to  <dig>  .
mean auc values for the predikin methods span a similar range .
predikin performed particularly well in identifying known phosphorylation sites of cmgc kinase substrates.
predikin could therefore be said to be comparable or better than existing methods, depending on kinase type.
however, comparison of predikin with other methods is difficult and of limited value.
this is principally because of the different methodology employed.
whereas predikin calculates scoring models "on the fly" based on kinase sequence, other tools use pre-calculated models for a limited set of kinase families.
the main strength of predikin lies in its ability to score phosphorylation sites based on features of the query kinase sequence, without preclassification into kinase family.
auc values for tyrosine kinase substrates were consistently lower than those for substrates of serine-threonine and cmgc kinases for all methods under comparison.
the limited number of tyrosine kinase structures with a bound substrate in the pdb has so far precluded reliable identification of sdrs in tyrosine kinases.
the binding mode of substrate peptides to tyrosine kinases is also known to differ somewhat from that of serine-threonine kinases  <cit> .
our comparative analysis suggests that the sequence and structure of the catalytic domain in tyrosine kinases is a less effective, but still useful predictor of peptide binding specificity than that of serine-threonine and cmgc kinases.
predikin scores are therefore good discriminators of true phosphorylation sites.
however, the effective use of predikin requires some interpretation on the part of the user.
in the following sections, we illustrate two common usage scenarios for predikin.
best substrate for a kinase
to predict the best substrate for a kinase, a user submits one kinase sequence and several putative substrate sequences.
predikin output sorted by score indicates which substrates are the most likely targets of the protein kinase.
an example is provided by the protein kinase cla <dig>  a pak/ste <dig> kinase from s. cerevisiae.
<dig> putative targets for cla <dig> have been identified using a genetic screen  and we have applied predikin to these data to predict the best substrates for cla <dig>  interestingly, the site with the equal-highest predikin score for cla <dig> was thr <dig> located in the activation loop of cla <dig> itself .
this residue is not annotated as autophosphorylated in uniprot.
however, autophosphorylation of threonine residues in the activation loop has been described for other pak/ste <dig> kinases  <cit> .
our predikin prediction and literature evidence strongly suggest that yeast cla <dig> undergoes autophosphorylation.
1top  <dig> predikin scores  from a set of  <dig> putative substrates for protein kinase cla <dig>  from s. cerevisiae
2top  <dig> predikin scores  for kinases at sptspsy repeats in substrate rpb <dig>  from s. pombe
best kinase for a substrate
the addition of a scoring scheme to predikin allows the prediction of the best kinase for a substrate.
in this case, the user submits one substrate sequence and several putative kinase sequences.
sorting the predikin output by score and optionally by phosphorylation site position indicates the kinase most likely to act at each site in the substrate.
to demonstrate this approach we examined the rna polymerase ii large subunit rpb <dig>  from the fission yeast schizosaccharomyces pombe.
the c-terminal domain of rpb <dig> contains multiple tandem heptad repeats with the consensus sequence sptspsy and is extensively phosphorylated during transcription  <cit> .
we extracted  <dig> putative protein kinases from the genome sequence of s. pombe and used predikin to score potential phosphorylation sites in rpb <dig> for each protein kinase.
rbp <dig> contained  <dig> pairs of repeats that exactly matched the sptspsy sequence.
seven protein kinases with high scores for sptspsy sites were identified .
the second ranked protein kinase lsk <dig>  has recently been experimentally verified as the physiological partner of rpb <dig>  <cit> .
all of the high-scoring protein kinases are cmgc kinases of the cdk/mapk family and could plausibly substitute for one another.
predikin also generated higher scores for heptapeptide sptspsy, centred on ser <dig>  than for heptapeptides centred on ser <dig>  thr <dig> or ser <dig> .
this is in agreement with the observation that the central ser residue in the sptspsy motif phosphorylates most readily  <cit> .
CONCLUSIONS
the revised predikin code contains numerous enhancements and new features compared with the original implementation.
predikin now features  a comprehensive, continuously-updated database linking protein kinases with phosphorylation sites;  an sql query-based system that generates amino acid frequency matrices for substrate peptides "on the fly", replacing the old heuristic predikin rules;  prediction scores based on sdrs or protein kinase family;  improved prediction reliability through the use of profile hmms to locate sdrs and filters to screen putative phosphorylation sites and  an improved web interface.
the new features provide a range of user applications such as predicting the best substrates for a protein kinase, the best protein kinases for a substrate and the prediction of protein kinase-substrate interactions in large datasets such as genome sequences.
predikin remains, to our knowledge, the only system that predicts protein kinase peptide specificity for uncharacterised protein kinases from sequence alone.
availability and requirements
• project name: predikin
• project home page:
• operating system: platform-independent
• programming language: perl, php
• other requirements: web browser.
instructions for standalone use available on request; the predikin.pm module is heavily customized for local use and requires numerous accessory packages
• license: code available on request; creative commons  <dig>  license
• any restrictions to use by non-academics: licence required for commercial use; available at the predikin website
abbreviations
sdr: substrate-determining residue; cmgc: cyclin-dependent/map/glycogen synthase kinase 3/ck2-related kinase; ksd: kinase sequence database; panther: protein analysis through evolutionary relationships; cms: content management system; roc: receiver operator characteristic; auc: area under roc curve.
authors' contributions
nfws wrote the predikin code, analysed the data and wrote the manuscript.
rib and bek developed the original predikin concept.
th and bek participated in the design and coordination of the study.
all authors contributed to, read and approved the final manuscript.
supplementary material
additional file 1
– kinase families common to netphosk, kinasephos, gps, ppsp, scansite and linked to known phosphorylation sites in predikindb.
kinase names listed are as defined by each program.
click here for file
acknowledgements
we thank brenda andrews for providing test data.
this work was funded by the australian research council  and national health and medical research council .
bk and bek are arc federation fellows and nhmrc honorary research fellows.

 the post-translational modification of proteins by phosphorylation of serine, threonine or tyrosine residues is a ubiquitous process in cellular regulation. protein kinases, the enzymes responsible for protein phosphorylation, make up almost 2% of protein-encoding genes in the human genome and an estimated 30–50% of human proteins are phosphorylated. protein kinases and their substrates regulate essentially all cellular processes through complex regulatory networks, in which phosphorylated proteins act as switches that tune the response of the cell to environmental stimuli. defects in these networks result in a variety of disease states making protein kinases important targets for drug design. in general, a protein kinase acts on a discrete set of substrates to ensure that signalling fidelity is maintained. how a particular protein kinase recognises its substrate protein is therefore a key question. two major factors determine the formation of a protein kinase-substrate complex. the first, termed substrate recruitment, encompasses any process that increases the effective concentration of the protein kinase substrate. this can be brought about by mechanisms including colocalisation of protein kinase and substrate to a subcellular compartment or complex formation mediated through binding sites either on the protein kinase or a scaffolding protein. the second factor, termed peptide specificity, describes the interaction between amino acid residues in the catalytic domain of the protein kinase and the substrate residues that surround the phosphorylated residue. crystal structures of protein kinases with bound substrate peptides show that substrate residues at positions - to + relative to the phosphorylated serine, threonine or tyrosine residue adopt an extended conformation and bind to a pocket in the catalytic domain of the protein kinase. the heptapeptide sequence from - to + that best binds to the pocket is determined by the physicochemical nature of the residues in the catalytic domain that line the pocket and contact the substrate. the relative contribution of substrate recruitment and peptide specificity to protein kinase substrate specificity varies between protein kinases. however, it is recognised that for many protein kinase families, particularly those that phosphorylate ser/thr residues, peptide specificity is the major factor that determines substrate specificity. the prediction of peptide specificity is therefore the basis for most of the available computational methods aimed at predicting substrates of protein kinases. a notable exception, networkin, uses both peptide specificity and contextual information to predict phosphorylation networks. other currently-available prediction tools include kinasephos, gps, disphos, pkaps, predphospho, scansite, ppsp and netphos. these tools mine data from phosphorylation site databases, principally the phospho.elm database and employ methods that include profile hidden markov models, neural networks and support vector machines to identify potential phosphorylation sites according to protein kinase family. the availability of data that links protein kinases with their substrates is a limiting factor in developing tools for substrate prediction. furthermore, different tools use different names for protein kinase families. the lack of recognised standards for identifying protein kinases or describing their substrate interactions is an obstacle to mining data from disparate sources. we have described a method, named predikin, to predict protein kinase peptide specificity. predikin identifies the key residues in the protein kinase catalytic domain, termed substrate-determining residues, which determine the sequence of the substrate heptapeptide. this method can be applied to any protein kinase sequence for which sdrs can be identified. we have successfully used predikin to provide insight into signal transduction pathways. it has also been used to predict phosphorylation sites, of which a number have been confirmed experimentally, in a range of biological systems. predikin was originally written in javascript and made available as a web application with limited functionality. here, we describe a new implementation of predikin with enhanced features for the analysis of protein kinases and their substrates. we also introduce predikindb, an database of phosphorylation sites derived by semi-automated mining of uniprot. predikindb is a useful standalone resource and is also used in predikin to generate specificity rules and prediction scores. implementation predikin consists of two components that work together: a database of phosphorylation sites, in which the sequences of protein kinase catalytic domains and their substrates are linked and a perl module, which queries the database to generate substrate predictions based on the features of a query kinase. the predikindb database to predict phosphorylation sites in a query kinase, a dataset of substrates and their associated kinases is required. we constructed predikindb, a custom database of phosphorylation sites derived from uniprot records using bioperl-based parsers. the construction of predikindb is outlined in figure using a uniprot entry for a sequence from mouse as an example protein kinase substrate ). predikindb was constructed using protein kinase and substrate records from the uniprot database. protein kinase sequences were obtained in swissprot format from the ebi srs server using the search term "dbxref_:ipr000719", corresponding to the interpro signature of the protein kinase catalytic domain. each file was parsed to extract the name, accession number, id, gene synonyms and organism. functions provided by the predikin.pm perl module were used to extract the sequence of the catalytic domain, assign the kinase type, ksd family and panther family and identify substrate-determining residues. these data were imported into a mysql table. protein kinase substrate sequences were obtained in swissprot format from the ebi srs server using the search term "keywords:phosphorylation". each file was parsed to extract the substrate accession number, id and organism. mod_res lines were parsed to extract the phosphorylated residue, its position, annotation confidence and where present, names of the kinases acting at the phosphorylation site. the key feature of predikindb is the automated assignment of specific kinase sequences to their substrates ). this is achieved by comparing kinase names in the substrate uniprot mod_res line to kinase gene names and synonyms for kinase uniprot records from the same species ). the parsed data were then imported into two mysql tables, one describing substrate proteins and the other describing phosphorylation sites. figure 1b illustrates the links between tables in predikindb that describe kinases, substrates and phosphorylation sites. table summarises the current contents of predikindb and the number of phosphorylation sites that could be linked with a kinase sequence using this approach. phosphorylation sites in predikindb were also annotated according to whether they are present in phospho.elm, a manually-curated database of experimentally-validated phosphorylation sites. this enables users to specify that only high-quality, validated sites be used in kinase substrate prediction, with the trade-off that fewer sites will be available. of the phosphorylation sites in predikindb that are present in phospho.elm, approximately 98% are annotated in uniprot as "experimental" or "by similarity", which indicates that the uniprot procedure for annotation of phosphorylation sites is reliable. the scripts used to build predikindb allow it to be updated automatically; predictions made using predikin should therefore improve incrementally over time as more phosphorylation sites and their protein kinases are annotated in uniprot. predikindb also provides a resource of paired kinase-substrate sequences for further investigation of protein kinase substrate specificity. the predikin perl module the predikin.pm perl module was written to provide common methods for kinase sequence analysis and substrate prediction. the module makes extensive use of the bioperl library. six methods are provided for the analysis of protein kinase sequences and their substrates: classification of protein kinase type as a serine-threonine, cmgc or tyrosine kinase; classification into a kinase sequence database family; classification into a panther database family; location of substrate-determining residues in protein kinase catalytic domains; extraction of putative phosphorylation sites from substrate sequences and scoring of phosphorylation sites using weight matrices. the implementation of predikin in perl provides three significant advantages compared with the original predikin release: a new approach to locate sdrs, methods to score phosphorylation sites and new data input options and filters; these methods are described in the following subsections. classification of kinase type and family the catalytic domains of protein kinase sequences were classified by type, kinase sequence database family and panther family. protein kinase type was assigned by comparing query sequence with the perl regular expressions: ser/thr.{1}.{1}d k.{2}n {3} cmgc tyr.d.n {3} hmms for ksd families were not available at the ksd website and so had to be built. protein kinase sequences for each ksd family were retrieved in fasta format from the non-redundant protein database. the hmmer program hmmalign was used to generate alignments of the protein kinase catalytic domain using the pkinase hmm profile from the pfam database. each alignment was then used to build a hmm for the ksd family using hmmbuild and hmmcalibrate. the ksd family hmms were used to search the query kinase sequence using hmmpfam, the output parsed and the best scoring ksd family assigned to the query. panther classification was performed using the pantherscore perl script and the panther library. the output of pantherscore was parsed and the best scoring panther family was assigned to the query kinase sequence. identification of substrate determining residues the identification of substrate-determining residues in the protein kinase catalytic domain by inspection of crystal structures has been described previously. to locate these key residues in a query sequence, the hmmer program hmmsearch was used to align the sequence with the s_tkc hmm. the alignment was processed using the bioperl bio::alignio module to extract the position of the key motifs gxg, amk, gel, pen, dfg and ape, from which the location and identity of each sdr was calculated. the use of hmm alignments locates substrate-determining residues accurately and reliably in a far wider range of protein kinase sequences than the previous approach, which used javascript string and pattern matching functions. new substrate scoring methods previously, predikin used a set of conditional rules of the form "if sdr = x then peptide residue = y" to make substrate predictions. predictions consisted of regular expressions describing possible combinations of amino acid residues in the predicted substrate peptide. these could then be used to search for sequences using tools such as scansite or scanprosite. amino acid frequencies at positions - to + in the substrate peptide were not calculated and scanning of user-defined substrate sequences was not straightforward. predikin now scores phosphorylation sites using matrices generated by constructing sql queries to predikindb. three methods of matrix generation are used. using the sdr method, the sql query selects substrates from predikindb with kinases of the same type as the query kinase, where the sdrs for positions - to + are similar to those of the query kinase. sdrs are considered similar if substitution using the blosum matrix gives a positive score. for example if sdr gel+ which determines position - in the substrate peptide is ile, substrates are selected from predikindb where gel+ in the associated protein kinase sequences is any of ile/leu/val/met. the results returned by each query are used to calculate amino acid frequencies and weights. as the sdr method assumes that the sdrs and each of their associated - to + positions are independent, each row of the sdr scoring matrix is calculated independently; i.e. n, the number of sequences used, differs for each row. using the ksd or panther scoring methods, the sql query selects substrates with kinases of the same type as the query kinase and of the same ksd/panther family. aligned substrate heptapeptide sequences is then used to calculate the amino acid frequency matrix at positions - to + frequency matrices are converted to position weight matrices using the equation: w=log2pp the background frequency of residue a, p, is estimated as its frequency in all predikindb substrate sequences for each kinase type. the frequency of a residue at position i in the substrate, p, is estimated using pseudocounts by adding n/ to the raw frequency f and dividing by n + n. this correction is not performed using the sdr score method if n = predikin predictions are based on the observation that protein kinases with similar catalytic domains, in terms of either specific substrate-determining residues or overall similarity exhibit similar peptide specificity. the three alternative scoring methods increase the likelihood that a reliable scoring matrix can be obtained and predictions made for the majority of query kinases. scoring of phosphorylation sites the predikin module scores phosphorylation sites by locating all instances of the pattern x x in query sequences, applying the scoring matrix defined by the user and converting the score to a relative value between 0– potential phosphorylation sites can also be extracted from a file of input sequences and stored in a database table for retrieval and scoring. two filters are available to improve predikin predictions. analysis of phosphorylation sites annotated as "experimental" in predikindb revealed that more than 90% of sites are predicted as "disordered" by at least one of the criteria defined by disembl and only % are part of a transmembrane region as predicted by tmhmm. these analyses therefore provide additional information that identifies likely phosphorylation sites and increases prediction accuracy. both filters and the option of a cutoff score are available to users at the predikin website. 1number of phosphoresidues annotated "experimental" 2number and percentage of phosphoresidues predicted as disordered using at least one disembl method 3number and percentage of phosphoresidues predicted as tm helix using tmhmm perl scripts that use the predikin.pm module accept several command-line options which alter scoring matrix calculation and scoring of substrate sites. the main options are: – disembl; score only sites predicted to be disordered using disembl, – tmhmm; ignore sites predicted as transmembrane using tmhmm, – cutoff; specify a cutoff score, – first; output scores for only the first sequence in a fasta file; – noauto; do not output autophosphorylated site scores, – nokinase; do not output scores if substrate is a kinase, – noself; do not include sites of query kinase in matrix calculation and – distinct; perform homology reduction by using only non-redundant heptapeptides in matrix calculation. the predikin web interface a new implementation of the predikin website is available. the website was built using the joomla open-source content management system, which allows easy implementation of features such as user registration, documentation and custom forms development. as the cms is written in php, a php perl extension was employed to allow communication between the website and functions in the predikin.pm perl module. at the predikin website, users can submit a query protein kinase sequence in fasta format. they are presented with an analysis of the kinase catalytic domain and scoring matrices for each of the sdr, ksd and panther methods. putative substrate sequences can then be submitted for scoring. the results for a session are stored in temporary database tables that can be exported as tab-delimited text, allowing users to build up a dataset of many substrates for each kinase. other features of the website include tools to explore the predikindb database, links to related resources, extensive documentation and discussion forums.  evaluation of predikin predictions the performance of predikin was evaluated using receiver operator characteristic analysis, implemented in the r epi package. phosphorylation sites in the predikindb database that were linked to a kinase sequence and annotated as "experimental" or "by similarity" were obtained using a mysql select query and the order of the returned rows was randomised. a cross-validation procedure was devised whereby the sites were divided successively ten times into a test set, containing 10% of the sites and a "training set" available to build scoring matrices, containing the remaining 90% of the sites. in addition, phosphorylation sites linked to a kinase sequence in the training set were not used to build matrices if the same kinase sequence was linked to sites present in the test set. for each kinase-substrate pair in the test set, predikin sdr, ksd and panther scores were calculated for all x x sites in the substrate, using homology reduction when building the scoring matrices. the sites were labelled as or and duplicate sites were removed. the procedure generated a set of ten files, containing scored and labelled sites for each of the three scoring methods and for each kinase type. each set of ten files was used as input to the roc() method of the r epi package and the mean auc was calculated. the epi package was also used to obtain the optimal cutoff score which maximized sensitivity; true positives/ and specificity; true negatives/ for each run, from which the mean sensitivity and specificity were calculated. 1sdr method not applicable to tyr kinases 2auc, sensitivity and specificity values are the mean and standard deviation of cross-validation tests predikin was compared to five commonly-used web-based tools that predict phosphorylation sites. first, the kinase families common to each method and the panther accession for each family were identified. substrates of kinases with the appropriate panther accession were obtained from the predikindb database. this procedure identified and substrates of and serine-threonine, cmgc and tyrosine kinases, respectively, for input to the five web servers. the other tools cannot be run locally and do not offer convenient programmatic web access. therefore, a perl script was written using the perl html::form module, to submit substrate sequences to each web server, parse the output and obtain phosphorylation site scores for the corresponding kinase family. where the option to set cutoff scores was available, the minimum value was chosen to return as many scored x x sites as possible. the output from each method was parsed to obtain sites that were scored by all five methods and the sites were labelled as or. duplicate sites were removed. the final output from the procedure was a set of five files, for each of the three kinase types, containing scores and labels for each x x site. each file was then used as input to the roc() function of the r epi library. existing methods cannot be fully evaluated; therefore single auc, sensitivity and specificity values are reported for these methods. the performance of each method varied according to kinase type, ranging from auc values of to. mean auc values for the predikin methods span a similar range. predikin performed particularly well in identifying known phosphorylation sites of cmgc kinase substrates. predikin could therefore be said to be comparable or better than existing methods, depending on kinase type. however, comparison of predikin with other methods is difficult and of limited value. this is principally because of the different methodology employed. whereas predikin calculates scoring models "on the fly" based on kinase sequence, other tools use pre-calculated models for a limited set of kinase families. the main strength of predikin lies in its ability to score phosphorylation sites based on features of the query kinase sequence, without preclassification into kinase family. auc values for tyrosine kinase substrates were consistently lower than those for substrates of serine-threonine and cmgc kinases for all methods under comparison. the limited number of tyrosine kinase structures with a bound substrate in the pdb has so far precluded reliable identification of sdrs in tyrosine kinases. the binding mode of substrate peptides to tyrosine kinases is also known to differ somewhat from that of serine-threonine kinases. our comparative analysis suggests that the sequence and structure of the catalytic domain in tyrosine kinases is a less effective, but still useful predictor of peptide binding specificity than that of serine-threonine and cmgc kinases. predikin scores are therefore good discriminators of true phosphorylation sites. however, the effective use of predikin requires some interpretation on the part of the user. in the following sections, we illustrate two common usage scenarios for predikin. best substrate for a kinase to predict the best substrate for a kinase, a user submits one kinase sequence and several putative substrate sequences. predikin output sorted by score indicates which substrates are the most likely targets of the protein kinase. an example is provided by the protein kinase cla a pak/ste kinase from s. cerevisiae. putative targets for cla have been identified using a genetic screen and we have applied predikin to these data to predict the best substrates for cla interestingly, the site with the equal-highest predikin score for cla was thr located in the activation loop of cla itself. this residue is not annotated as autophosphorylated in uniprot. however, autophosphorylation of threonine residues in the activation loop has been described for other pak/ste kinases. our predikin prediction and literature evidence strongly suggest that yeast cla undergoes autophosphorylation. 1top predikin scores from a set of putative substrates for protein kinase cla from s. cerevisiae 2top predikin scores for kinases at sptspsy repeats in substrate rpb from s. pombe best kinase for a substrate the addition of a scoring scheme to predikin allows the prediction of the best kinase for a substrate. in this case, the user submits one substrate sequence and several putative kinase sequences. sorting the predikin output by score and optionally by phosphorylation site position indicates the kinase most likely to act at each site in the substrate. to demonstrate this approach we examined the rna polymerase ii large subunit rpb from the fission yeast schizosaccharomyces pombe. the c-terminal domain of rpb contains multiple tandem heptad repeats with the consensus sequence sptspsy and is extensively phosphorylated during transcription. we extracted putative protein kinases from the genome sequence of s. pombe and used predikin to score potential phosphorylation sites in rpb for each protein kinase. rbp contained pairs of repeats that exactly matched the sptspsy sequence. seven protein kinases with high scores for sptspsy sites were identified. the second ranked protein kinase lsk has recently been experimentally verified as the physiological partner of rpb. all of the high-scoring protein kinases are cmgc kinases of the cdk/mapk family and could plausibly substitute for one another. predikin also generated higher scores for heptapeptide sptspsy, centred on ser than for heptapeptides centred on ser thr or ser. this is in agreement with the observation that the central ser residue in the sptspsy motif phosphorylates most readily.  the revised predikin code contains numerous enhancements and new features compared with the original implementation. predikin now features a comprehensive, continuously-updated database linking protein kinases with phosphorylation sites; an sql query-based system that generates amino acid frequency matrices for substrate peptides "on the fly", replacing the old heuristic predikin rules; prediction scores based on sdrs or protein kinase family; improved prediction reliability through the use of profile hmms to locate sdrs and filters to screen putative phosphorylation sites and an improved web interface. the new features provide a range of user applications such as predicting the best substrates for a protein kinase, the best protein kinases for a substrate and the prediction of protein kinase-substrate interactions in large datasets such as genome sequences. predikin remains, to our knowledge, the only system that predicts protein kinase peptide specificity for uncharacterised protein kinases from sequence alone. availability and requirements • project name: predikin • project home page: • operating system: platform-independent • programming language: perl, php • other requirements: web browser. instructions for standalone use available on request; the predikin.pm module is heavily customized for local use and requires numerous accessory packages • license: code available on request; creative commons license • any restrictions to use by non-academics: licence required for commercial use; available at the predikin website abbreviations sdr: substrate-determining residue; cmgc: cyclin-dependent/map/glycogen synthase kinase 3/ck2-related kinase; ksd: kinase sequence database; panther: protein analysis through evolutionary relationships; cms: content management system; roc: receiver operator characteristic; auc: area under roc curve. authors' contributions nfws wrote the predikin code, analysed the data and wrote the manuscript. rib and bek developed the original predikin concept. th and bek participated in the design and coordination of the study. all authors contributed to, read and approved the final manuscript. supplementary material additional file 1 – kinase families common to netphosk, kinasephos, gps, ppsp, scansite and linked to known phosphorylation sites in predikindb. kinase names listed are as defined by each program. click here for file acknowledgements we thank brenda andrews for providing test data. this work was funded by the australian research council and national health and medical research council. bk and bek are arc federation fellows and nhmrc honorary research fellows.
the predikin website has been redesigned to incorporate the new features. new features in predikin include the use of sql queries to predikindb to generate predictions, scoring of predictions, more reliable identification of substrate-determining residues and putative phosphorylation sites, extended options to handle protein kinase and substrate data and an improved web interface. the new features significantly enhance the ability of predikin to analyse protein kinases and their substrates. we have previously described an approach to predicting the substrate specificity of serine-threonine protein kinases. predikin now consists of two components: predikindb, a database of phosphorylation sites that links substrates to kinase sequences and a perl module, which provides methods to classify protein kinases, reliably identify substrate-determining residues, generate scoring matrices and score putative phosphorylation sites in query sequences. predikin was implemented originally as a web application written in javascript. the method, named predikin, identifies key conserved substrate-determining residues in the kinase catalytic domain that contact the substrate in the region of the phosphorylation site and so determine the sequence surrounding the phosphorylation site.
 we have previously described an approach to predicting the substrate specificity of serine-threonine protein kinases. the method, named predikin, identifies key conserved substrate-determining residues in the kinase catalytic domain that contact the substrate in the region of the phosphorylation site and so determine the sequence surrounding the phosphorylation site. predikin was implemented originally as a web application written in javascript.  here, we describe a new version of predikin, completely revised and rewritten as a modular framework that provides multiple enhancements compared with the original. predikin now consists of two components: predikindb, a database of phosphorylation sites that links substrates to kinase sequences and a perl module, which provides methods to classify protein kinases, reliably identify substrate-determining residues, generate scoring matrices and score putative phosphorylation sites in query sequences. the performance of predikin as measured using receiver operator characteristic graph analysis equals or surpasses that of existing comparable methods. the predikin website has been redesigned to incorporate the new features.  new features in predikin include the use of sql queries to predikindb to generate predictions, scoring of predictions, more reliable identification of substrate-determining residues and putative phosphorylation sites, extended options to handle protein kinase and substrate data and an improved web interface. the new features significantly enhance the ability of predikin to analyse protein kinases and their substrates. predikin is available at. 