BACKGROUND
assigning enzymatic function to the proteins in a genome is one of the first essential steps of metabolic reconstruction, important for biology, medicine, industrial production and environmental studies.
without precise annotation of the reactions a protein can perform, the subsequent pathway assembly and verification becomes problematic  <cit> .
metabolic flux studies that aim to understand diseased states or biomass production become almost impossible.
unfortunately, at the current rate of genome sequencing and manual annotation, manual curation will never complete the functional annotation of all available proteomes  <cit> .
hence in this work we propose and evaluate a method to automatically predict the enzymatic functions of a protein.
previously, tetko et al.
<cit>  used component analysis to show that the highest contributor to the performance of various protein function prediction methods were interpro signatures.
interpro is an extensive database of conserved sequence signatures and domains  <cit>  that can be computed from sequence data alone and for any sequence using the publicly available interproscan algorithm  <cit> .
through the use of interpro signatures, we demonstrate that it is possible to predict enzyme commission  numbers  <cit>  with high accuracy, recall  and precision , using the information contained in the protein sequence exclusively.
despite some known limitations, such as some inconsistencies between the rules set by the nomenclature committee and the actual class definitions  <cit> , we use the nc-iubmb enzyme commission  nomenclature to define enzymatic reactions, as it is the current standard for enzyme function classification.
the ec nomenclature uses a four digit code, such as ec  <dig> .
<dig> , to represent an enzymatic class.
the first three digits represent an increasingly detailed definition of reaction class, while the last digit represents the accepted substrates.
our approach is widely applicable as it uses exclusively information contained in the protein sequence, in contrast with methods that also require existing or computationally inferred structural information  <cit> .
further, our method supports multi-label classification, that is, the direct association of multiple enzymatic functions to each protein.
a single enzyme can perform different reactions, either due to the presence of multiple catalytic sites or by regulation of a single site, and can hence be associated with multiple ec numbers.
multi-label learning can take multiple ec numbers, and their hierarchical relation, into account more coherently and effectively than creating an individual classifier for each class.
it can also leverage the information contained in proteins annotated with incomplete ec numbers , such as ec  <dig> -.-.-, ec  <dig> .-.- or ec  <dig> .
<dig> -.
sequence based methods for the prediction of ec numbers include eficaz  <cit> , modenza  <cit>  and priam  <cit> .
priam uses a set of position-specific scoring matrices  specific for each ec number to predict the existence of a given ec function somewhere in a fully sequenced genome.
enzml, modenza and eficaz try to assign ec numbers to individual protein sequences or fragments.
modenza builds hidden markov model profiles of positive and negative sequences specific for each four digits ec numbers, partial or multiple ec numbers cannot be assigned.
eficaz can assign multiple ec numbers of exactly three or four digits by weighting information from four sequence based predictions methods using functionally discriminating residues for enzyme families, pairwise sequence comparison, pfam enzyme families and prosite patterns .
eficaz, modenza and priam are further discussed and quantitatively compared with enzml in the discussion section and additional file  1: methods_comparison.pdf.
multi-label learning has been successfully applied to predict funcat protein functions in yeast  <cit> , go functions in yeast  <cit> , cygd functions in yeast  <cit> , funcat and go functions in yeast and plants  <cit>  and other species  <cit> , but has not yet been extensively applied to the prediction of enzyme functionality.
a multi-label support vector machines methodology was used in the past to predict ec numbers but only up to the second ec digit  and only on  <dig>  enzymes  <cit> .
hierarchical classification was also applied to about  <dig>  enzymes from kegg, obtaining over 85% accuracy in predicting four digits ec numbers  <cit> .
however, here we demonstrate that bigger datasets can cause dramatic improvement in performance.
we make use of mulan  <cit> , an open-source software infrastructure for evaluation and prediction based on the weka framework  <cit> , to improve the potential for extension and reuse of this work.
in addition to the effect of dataset size, we report on how predictions depend on species content and sequence redundancy.
we also obtain very good computational performance over a real-life size set of  <dig> , <dig> protein entries.
methods
data sources
the protein sequence and ec annotation data was taken from uniprot knowledge base  <cit>  release 2010_ <dig>  consisting of swiss-prot release 2010_ <dig> and trembl release 2010_ <dig>  interpro release  <dig>  , kegg  <cit>  release  <dig>  .
the interpro release used contains  <dig>  signatures,  <dig>  of which present in uniprot.
the complete set of  <dig>  ec numbers and their status  was downloaded from expasy enzyme database   <cit> .
all annotations using deleted ec numbers were removed from the data; transferred ec numbers were substituted with their newly assigned ec number.
the data was further processed using ondex  <cit>  and mysql.
the data sources content of ec and interpro annotation is summarised in additional file  2: ec_interpro_stats.pdf.
the overlap between uniprot and kegg is schematically represented in figure  <dig>  which shows that the manually curated section of the uniprot knowledge base  only contains about half a million entries, versus the over twelve million entries awaiting manual annotation in trembl.
the taxonomic breakdown shows an overall dominance of bacterial annotation, in addition to a certain over representation of vertebrates and under representation of invertebrates, considering their estimated number of species in the tree of life.
this distribution is not an artefact of the intersection, it is due to the underlying distribution of swiss-prot and kegg data.
datasets
the enzml data schema is shown in figure  <dig>  where each instance represents a protein identified by a uniprot accession number.
each protein can have zero or more class labels in the form of enzyme commission  numbers.
each instance can also have zero or more attributes , each representing the presence or absence of one or more interpro signatures .
in order to execute the different evaluations presented in the results section, a number of datasets have been created.
the main dataset is indicated from now on as swissprot >kegg.
the join symbol () represents the fact that this set contains only annotation that is equal in the two databases.
swissprotkegg consists of all ec annotations agreeing in both swiss-prot and kegg, an annotation being a couple in the form .
the set includes  <dig>  proteins, 55% enzymes and 45% non enzymes .
the swissprotkegg dataset has thus been submitted to two manual curations, in which none of the authors were involved.
in the same way, the tremblkegg dataset includes all annotations agreeing between uniprot trembl and kegg.
the tremblkegg dataset is very extensive and varied, but it has not been manually curated in trembl.
this dataset has been included in the analysis not for the purpose of method evaluation, but to review enzml performance on a large dataset and to judge the internal consistency of tremblkegg itself.
the protein instances have surprisingly few features, having an average of  <dig>  interpro signatures  and  <dig>  ec numbers  per protein.
the proportion of proteins with no ec annotations ranges from 45% of the swissprotkegg dataset to 69% of the tremblkegg dataset.
these sets include proteins that have been extensively studied and do not carry enzymatic activity  as well as proteins not yet characterised as enzymes or belonging to still unknown enzymatic classes .
due to the difficulty of distinguishing between these cases, the non and not yet ec proteins are treated as one class.
this allows enzml to emit a cumulative no ec prediction as an alternative to the prediction of one or more ec numbers.
a protein predicted as no ec could thus be either a non-enzyme or a not yet characterised enzyme or belonging to a not yet characterised enzyme class.
for simplicity we refer to this class as non enzyme from now on.
the enzml method can accept instances with an empty set of attributes, which account for  <dig> % of the swissprotkegg dataset and  <dig> % of the tremblkegg dataset.
these proteins are processed normally, but they are generally predicted as non enzymes due to the fact that most proteins without interpro signatures also do not have ec annotations.
the datasets used also include  incomplete ec classes, such as ec  <dig> -.-.- , ec  <dig> .-.- or ec  <dig> .
<dig> -.
the independence of the uniprot and kegg curation cannot be determined by the annotations alone due to a lack of provenance meta-data.
curators in both institutions use a variety of primary  and secondary  sources to assign an ec annotation.
however, out of the  <dig>  million proteins annotated in both uniprot and kegg, 31% have a disagreeing annotation , showing that the two knowledge bases curators have different scientific opinions in many cases.
in order to evaluate the impact of the dataset size and taxonomic content on enzml performance, the swissprot>kegg dataset has been partitioned into taxonomic domains: archaea, bacteria and eukaria, further divided into fungi, invertebrates, plants and vertebrates.
for each taxonomic domain we have investigated the individual proteome having most proteins in the swissprotkegg set: methanocaldococcus jannaschii for archaea, escherichia coli  for bacteria, schizosaccharomyces pombe for fungi, drosophila melanogaster for invertebrates, arabidopsys thaliana for plants, homo sapiens for vertebrates.
we also considered mus musculus and rattus norvegicus as second and third most represented species overall .
to examine the performance on each ec main class, the escherichia coli dataset was further divided into seven datasets each containing exclusively either the no enzyme annotation  or ec annotations starting with a different main ec class .
as an alternative to machine learning, ec labels could be directly assigned from interpro domains: the interpro2go file associates individual interpro signatures with go terms, which in turn are mapped to ec numbers in the ec2go file.
to understand if enzml is more accurate than this simple transitive assignment, a dataset was created containing all the swissprotkegg entries annotated using the interpro2go and ec2go lists provided by the uniprot ftp website .
we have also created a separate set  for proteins that were added to swiss-prot between jan  <dig> and march  <dig> .
the data was taken from biomart central uniprot.
of these proteins, an interesting subset consists of those  <dig> proteins  which already existed in tremblkegg as of jan  <dig> but acquired a new or different label  upon incorporation into swiss-prot .
the data format consists of a sparse weka arff  file supplemented by a mulan xml file containing the class labels hierarchy.
examples of arff and xml file formats are available in additional file  3: arff_and_xml_file_examples.tar.gz.
the swissprotkegg and tremblkegg data files used for evaluation are also available  and so is the java code used to format the data files and run the experiments .
sequence redundancy
to analyse the performance of enzml at different levels of sequence similarity we generated other datasets using uniref clusters.
uniref <dig> is a database of clusters of uniprot proteins that are 100% identical in sequence .
each cluster has a representative  protein sequence and a group of other sequences similar to it.
to measure the effect of sequence redundancy on the method, the swissprotkegg dataset was reduced to only its uniref representative sequences  and cross-evaluated.
ec numbers distribution
it is important to note that enzymatic classes are long-tail distributed in the main data sources, that is, some ec numbers are very frequent among proteins while most ec numbers only rarely occur.
the distribution is very skewed , with roughly a 80- <dig> ratio: 80% of ec classes annotate only about 10% of uniprot enzymes, while the remaining 20% most common ec classes annotate 90% of uniprot enzymes .
the  <dig>  most rare ec classes  only annotate  <dig>  enzymes , and  <dig> ec classes have less than  <dig> protein examples in uniprot .
algorithm
the algorithm used throughout this work is br-knn  <cit> .
br-knn is a multi-label adaptation of the traditional k-nearest neighbour using binary relevance.
binary relevance transforms the original dataset into as many datasets as the existing labels, each example being labelled as label  true if the label existed in the original example and label  false otherwise .
the mulan version  <dig> .
<dig> implementation of br-knn  <cit>  used in enzml makes sure the  distance between neighbours is calculated only once, with considerable time savings on large datasets.
the best choice for the number of neighbours was k   <dig> .
br-knn is fast on the data used: less than  <dig> minutes per fold of a 10-fold cross-evaluation of  <dig>  instances, on a dedicated machine with  <dig> ghz cpu and  <dig> gb ram .
as baseline we used the zero rule algorithm, which assigns the majority class  to every instance.
evaluation metrics
the evaluation metrics are either based on a single round of evaluation  or, for cross-evaluation, they are the average of a number of cross-evaluation rounds.
after examining the standard deviations, we submitted datasets smaller than  <dig>  proteins to two rounds of 10-fold cross evaluation, training on 9/ <dig> of the data and testing on the remaining unseen 1/ <dig> .
we present the average value of subset accuracy, a strict measure of prediction success, as it requires the predicted set of class labels to be an exact match of the true set of labels  <cit> .
for example, if a protein has these four ec class labels: , and it is assigned as prediction only the three first labels: , this prediction would be considered as completely incorrect, because it misses the last label.
where computable, we also report micro and macro metrics.
in this context micro averaging  favours more frequent ec classes, while macro averaging gives equal relevance to both rare and frequent ec classes.
hence a protein will affect the macro-averaged metrics more if it belongs to a rare ec class.
example-based metrics consider how many correct ec predictions have been given to each individual protein example.
the full mathematical form of all metrics is defined in  <cit>  and  <cit> .
the best achievable value of all these measures is 100% when all instances are correctly classified.
where averaged, the metrics are presented with plus and minus standard deviation marks.
statistical significance
to judge the difference between sets of results, the p-value at 5% confidence was used and calculated as follows.
if the t-statistic is:
t=x−msdn
where x is the average  of the reference set of samples, m is the average of the other set of samples to be compared and n is the number of samples in both sets, the p-value becomes:
p−value=tdist,r,tails)
where r are the degrees of freedom .
here we consider a two tailed hypothesis, so tails equals  <dig>  tdist returns the probability density function for the t-distribution, calculating:
Γ/2)rΓ1+t2r−r+ <dig>
where  is the gamma function and r are the degrees of freedom.
if the  is lower than 5%, the confidence that the samples come from different underlying distribution is higher than 95% and hence the two samples are declared significantly different.
RESULTS
whole, taxonomic and random datasets
the first set of experiments assesses by cross evaluation the ability of enzml to predict ec numbers using interpro signatures.
the cross evaluation results are summarised in figure  <dig> .
the total dataset swissprotkegg achieves 98%  subset accuracy .
for comparison, the zero rule algorithm achieves 45%   <dig> % subset accuracy.
to understand whether taxonomically related proteins were better at predicting proteins in their own taxa, the swissprotkegg dataset has been subdivided into archaea, bacteria and eukarya .
the average classification accuracy after cross-evaluation of each taxonomic dataset was then compared with sets of the same size as each taxonomic set, but comprising proteins picked at random from swissprotkegg.
the results in figure  <dig> show that the predictions accuracy generally increases as the dataset size increases.
excluding far-related species does not seem to dramatically improve results: only the archaea and bacteria sets significantly outperform a random set of the same size, but they cover a reduced set of enzymatic functions compared to the full set.
the plants, invertebrates, fungi and vertebrates sets are not significantly different from a random set of the same size, while the eukarya dataset accuracy is significantly different but lower.
sequence redundancy reduction
to evaluate the impact of the sequence redundancy reduction on the method, a cross evaluation was executed on the three sets of proteins derived from swissprotkegg by keeping only the uniref reference entries .
hence the swissprotkegg uniref <dig> dataset contains only one representative sequence per each 50% similarity cluster.
when the dataset is submitted to 10-fold cross-evaluation, the nine tenth of sequences that make up the training set are all less than 50% similar to the sequences in the test set .
the results, shown in figure  <dig>  are robust and not particularly affected by the reduction to uniref sequences, not even when clustering at 50% of sequence similarity, despite losing 80% of the sequences, as shown in the right panel of figure  <dig>  this is because, in spite of the dramatic sequence reduction and reduced overall sequence similarity, only 4% of the ec classes and 3% of the interpro signatures are lost.
proteome reannotation
the performance obtained by cross evaluating the entire swissprotkegg dataset is representative of the success that can be expected on a metagenomic sample, especially one with a high bacterial content, as suggested by the high bacterial content in figure  <dig>  we hence executed another set of experiments to evaluate the performance of enzml on annotating individual proteomes.
each experiment:  <dig>  excluded the chosen species from the swissprotkegg dataset,  <dig>  trained on the remaining data,  <dig>  re-annotated that species proteome , and  <dig>  compared the predictions with the existing annotations .
figure  <dig> shows that enzml can re-annotate an entire proteome with subset accuracy starting at 87% for a. thaliana and reaching 97% for e. coli.
to gauge the predictive power or a single species, the inverse was also attempted: to re-annotate the entire swissprotkegg dataset based on a single proteome.
this inverse exercise  shows that up to 88% of proteins, and more than a third of the ec classes, can be reannotated correctly in the swissprotkegg dataset  if the training occurs on possibly the most studied species in molecular biology, e. coli.
this suggests a high level of evolutionary conservation of core metabolism across species.
comparison with interpro2go2ec and trembl
ec labels could also be directly assigned from interpro domains using the interpro2go and ec2go lists.
as shown in figure  <dig>  this method has much lower accuracy  than enzml  on the same swissprotkegg dataset.
to assess computational performance, enzml was also trained on swissprotkegg  and tested on the diverse and extensive, but not intensively manually curated, tremblkegg dataset .
the loss of accuracy on the tremblkegg dataset is not due to a limitation in enzml, but more to the sheer variety and low internal consistency of tremblkegg.
the swissprotkegg - the training set - only contains half of the interpro domains existing in the tremblkegg test set .
as the predictions emitted by enzml trained on swissprotkegg for the tremblkegg set are of interest for scientists working on non-model organisms, they are available as additional file  8: trembl_join_kegg_true_and_predicted_ec_numbers.tar.gz.
a more detailed analysis of the prediction errors  is contained in additional file  9: predictions.pdf.
the additional file includes a table with the most common errors and the accuracy for each of the six main ec classes.
predicting recent swiss-prot entries
enzml trained on swissprotkegg  can correctly predict most of the entries incorporated into swiss-prot in the following year  and does so with 79% subset accuracy, 89% micro averaged precision and 64% macro averaged recall.
enzml performance is limited by the fact that 13% of the entries are annotated with new ec numbers that did not exist in the swissprotkegg set of jan  <dig> and so cannot be predicted by the classifier.
for comparison, a  <dig> fold cross-evaluation over the same swissprot_2011_ <dig> set achieves much better results  because the probability of a class existing in the test set but not in the training set is low.
also, enzml trained on swissprotkegg can correctly predict 69% of the new labels given to trembl proteins upon their incorporation into swiss-prot .
this suggests that many of the mistakes in the tremblkegg predictions could actually become correct labels after manual curation.
here as well the performance is limited because 15% of the ec classes used in these new annotations did not exist in the swissprotkegg set of jan  <dig> the classifier is trained on.
discussion
effects of ec distribution
the long-tail shape of the ec distribution is conserved even when the data is further categorised, often the case with long-tail distributions, and can be seen in the similarity of distributions for single species and full databases .
this could be caused by evolutionary conservation of certain metabolic functions.
individual species, even compact bacterial genomes such as e. coli, have redundancy in certain enzymatic functions, and these functions seem to be common across species, leading to very frequent ec numbers such as cytochrome-c oxidase  representing alone 12% of all uniprot enzymes.
the rare ec numbers do not impact on most evaluation measures as they affect a small number of proteins, but in figure  <dig> we can note that the macro-averaged recall, a measure affected by the misprediction of rare classes is generally the lowest and more unpredictable metric for this method, as shown also by the wider standard deviation in figures  <dig> and  <dig>  also, the macro-averaged recall of swissprotkegg cross evaluation is lower than expected at 83%, despite only 20% of its ec numbers being very rare  versus 63% in invertebrates and 22% in bacteria.
however, the measure improves  if  <dig> fold cross evaluation is used instead of  <dig> fold, hence raising the probability of having in the training set more examples of rare and very rare ec classes .
method applicability
the proposed method is applicable to any partial or complete protein sequence or metagenomic sample, since any genetic sequence can be scanned in silico for the presence of interpro signatures using the interproscan algorithm, also available as web service  <cit> .
the overall success of enzml is due to the fact that interpro signatures provide a very compact representation of protein functionality.
the  <dig>  million proteins in uniprot are described by only  <dig>   sets of interpro signatures .
many of these sets are subsets of other longer signature sets.
interpro subsets in uniprot have an average length of  <dig>  signatures, while interpro super-sets have an average length of  <dig>  signatures.
<dig>  super-sets completely describe the possible combinations of interpro signatures found in all uniprot proteins.
to give a comparison,  <dig>  billion combinations of three unordered elements could be obtained from  <dig>  interpro signatures .
in relation to the method application and evaluation, it must be noted that the distribution of annotation in metabolic databases tends, by definition, to be more enriched in enzymes than in non-enzymes.
even highly-populated databases such as uniprot are biased, with more accurate annotation  going to widely studied biological functions.
using only annotations that agree in two manually curated databases  increases trust, but decreases the number of ec classes that can be predicted.
swiss-prot contains  <dig>  distinct ec classes, and kegg contains  <dig>  ec classes, but the set of annotations agreeing in both databases only contains  <dig>  ec classes.
rare ec classes can easily be lost in case of disagreement among the data sources.
the accuracy of the predictions generally increases as the dataset size increases which, combined with the efficiency of the algorithm, is a good case for using a bigger training set whenever possible.
training the classifier on more data from non-manually curated databases, such as uniprot-trembl, might reduce the bias and increase the number of predictable classes, but will also decrease trust.
alternative biocuration scenarios might call for a different balance between coverage and trust, to increase the probability of recognising rare enzyme commission classes in newly sequenced genomes.
although the highest possible level of accuracy is clearly desirable, the high accuracy of enzml, combined with the measure of confidence that the method emits for each prediction, enables the curators to focus their work.
the majority of erroneous annotations have low confidence , so curators could tackle the more error prone annotations first.
however, active learning research has shown that simply correcting low-confidence annotations is rarely the best strategy, as the representativeness and informative content of each instance also has an impact.
a strength of fast re-training systems such as enzml is the potential to incrementally improve overall accuracy when incorrect annotations are spotted by curators.
the authors are currently researching active learning strategies to improve enzyme annotation accuracy in a mixed human-machine learning curation workflow.
comparison with other ec prediction methods
priam  <cit>  was designed predict the overall metabolism for an organism, indicating whether particular enzyme functionalities were encoded in the genome, rather than assign functions to individual genes.
a gene-oriented version of priam was introduced in  <dig> to address this task.
in contrast, enzml is designed to associate ec numbers to individual genes or gene fragments.
enzml improves on modenza  <cit>  by supporting the prediction of multiple ec numbers for a protein, and on eficaz  <cit>  by being able to assign multiple ec numbers of any number of digits.
eficaz <dig>  <cit>  improves the precision of eficaz on test sequences having less than 30% similarity to the training set, and has not been evaluated separately from eficaz.
however, it is possible to compare eficaz <dig> results at mttsi  50%  in figure 4-c and 4-d of  <cit>  with those obtained by enzml .
in more detail, eficaz <dig> reports a maximum recall of 47%  49% of standard deviation , 78%  33%  and 86%  34% .
eficaz <dig> precision reaches a maximum of 74%  44% of standard deviation , 82%  36%  and 91%  27% .
in a similar range of protein similarity  enzml obtains generally more accurate results and within  <dig> % of standard deviation, thanks also to its extensive dataset.
in particular, enzml results on swissprotkegg uniref <dig> are 80-95% recall  and 93-98% precision , all within less than  1% of standard deviation.
a comparison between enzml on the four genomes used for evaluation in  <cit>   shows that our method achieves greater sensitivity and specificity on a greater number of sequences, as our method uses more recent data.
the data used for the comparison is available in mulan arff format as additional file  10: methods_comparison_arff_data.tar.gz and in comma-separated format as additional file  11: methods_comparison_csv_data.tar.gz .
CONCLUSIONS
the enzml method can be applied to any sequenced protein, without need for existing annotation or protein structures and it can provide quick, accurate and complete results on extensive datasets.
enzml leverages the evolutionary similarity of metabolic function yet without loosing performance when sequences redundancy is reduced.
thanks to the mulan binary relevance nearest neighbours implementation  this is possible in reasonable time even for millions of sequences, showing clear potential for meta-genomic analysis.
our approach demonstrates the potential of interpro signatures in predicting enzymatic function and easing the backlog of manual curation of enzymatic function.
we plan to couple enzml with pool-based active learning to further reduce the number of annotated instances needed, saving precious annotators time while further speeding up the method.
the goal is to create a virtuous cycle between automatic and manual annotation, that is able to keep up with high-throughput sequencing.
in the future, enzml could also be extended to learning all protein functionalities, for example in the form of gene ontology terms.
competing interests
the authors declare that they have no competing interests.
authors contributions
ldf and sa designed the study, analysed the results and wrote the manuscript.
ldf collected the data and wrote the enzml code.
jvh and ig helped conceive the study, participated in its design and coordination and helped to draft the manuscript.
all authors read and approved the final manuscript.
supplementary material
addtional file 1
comparison between enzml and eficaz, modenza and priam.
file methods_comparison.pdf contains a comparison of the predictive performance of eficaz, modenza and enzml over three bacterial genomes  and one eukaryoti cgenome , and comparison of enzml and priam over two additional bacterial genomes .
the data used for the comparison is also available as additional files   <dig> and  <dig>
click here for file
addtional file 2
table summary of ec and interpro annotations in uniprot, kegg and derived datasets.
a summary of the ec and interpro content of uniprot, kegg and other datasets used in this work is presented in file ec_interpro_stats.pdf.
click here for file
addtional file 3
examples of sparse weka arff and mulan xml file formats.
an example of sparse weka arff and its corresponding mulan xml file is available in the file arff_and_xml_file_examples.tar.gz.
click here for file
addtional file 4
the swissprotkegg and tremblkegg arff and xml files.
the swissprotkegg and tremblkegg arff and xml files used for train-test  evaluation in figure  <dig> are provided in: swiss-join-kegg_trembl-join-kegg_files.tar.gz.
click here for file
addtional file 5
the java code to format the data files, evaluate and predict.
the file enzml_java_code.tar.gz contains the java code used to format database data to arff and xml formats, to execute cross and train-test  evaluations and to record evaluation results to database.
more information is included in the readme.txt file and the javadoc files.
the code can be used with a mysql database.
to use a different database software, other jdbc drivers might be required.
click here for file
addtional file 6
figure of the relation between accuracy and number of neighbours for the nearest neighbours algorithm.
the figure in file number_of_neighbours.pdf shows the degradation in accuracy when the number of neighbours is increased above  <dig>
click here for file
addtional file 7
all cross evaluation results.
the file all_cross_evaluation_results.csv contains, in comma separated format, all the cross evaluation results summarised in figures  <dig>   <dig> and  <dig>
click here for file
addtional file 8
ec predictions emitted by enzml for the tremblkegg set.
the compressed file trembl_join_kegg_true_and_predicted_ec_numbers.tar.gz contains, in comma separated format:  the file trembljoinkegg_ec_predicted_by_enzml.csv with the full set of ec predictions emitted by enzml  for the tremblkegg set ;  the file trembl_kegg_agreeing_ec_annotations.csv containing the  annotations attributed to the tremblkegg set by uniprot-trembl and kegg .
click here for file
addtional file 9
prediction errors analysis.
the pdf file predictions.pdf contains a brief analysis of the most common prediction errors when training on swissprotkegg and testing on e. coli .
it also contains separate accuracy results for each main ec class.
click here for file
addtional file 10
methods comparison: data files in mulan arff format.
the compressed file methods_comparison_arff_data.tar.gz contains the mulan arff and xml files used for jackknife evaluation on the full proteomes of e. coli, b. aphidicola, m. pneumoniae, p. falciparum, haemophilus influenzae and mycoplasma genitalium.
click here for file
addtional file 11
swissprotkegg data in comma separated format.
the compressed file swissprot_join_kegg_csv_data.tar.gz includes comma separated files containing: the list of all uniprot accession numbers in the swissprotkegg set and their  ec numbers ,  species ,  interpro signatures identifiers ,  interpro sets .
it also contains all the jackknife  evaluation results used to compare enzml with other methods in additional file   <dig> .
click here for file
acknowledgements
ldf is funded by ondex dtg, bbsrc tps grant bb/f529038/ <dig> of the centre for systems biology at edinburgh and the university of newcastle.
sa is supported by by a wellcome trust value in people award and, together with ig, the centre for systems biology at edinburgh, a centre funded by the biotechnology and biological sciences research council and the engineering and physical sciences research council .
jvh was funded by various bbsrc and epsrc grants.
many thanks to the subscribers of the mulan mailing list, paolo besana, ross armstrong, guido sanguinetti and john mitchell for their support and suggestions.

 assigning enzymatic function to the proteins in a genome is one of the first essential steps of metabolic reconstruction, important for biology, medicine, industrial production and environmental studies. without precise annotation of the reactions a protein can perform, the subsequent pathway assembly and verification becomes problematic. metabolic flux studies that aim to understand diseased states or biomass production become almost impossible. unfortunately, at the current rate of genome sequencing and manual annotation, manual curation will never complete the functional annotation of all available proteomes. hence in this work we propose and evaluate a method to automatically predict the enzymatic functions of a protein. previously, tetko et al. used component analysis to show that the highest contributor to the performance of various protein function prediction methods were interpro signatures. interpro is an extensive database of conserved sequence signatures and domains that can be computed from sequence data alone and for any sequence using the publicly available interproscan algorithm. through the use of interpro signatures, we demonstrate that it is possible to predict enzyme commission numbers with high accuracy, recall and precision, using the information contained in the protein sequence exclusively. despite some known limitations, such as some inconsistencies between the rules set by the nomenclature committee and the actual class definitions, we use the nc-iubmb enzyme commission nomenclature to define enzymatic reactions, as it is the current standard for enzyme function classification. the ec nomenclature uses a four digit code, such as ec., to represent an enzymatic class. the first three digits represent an increasingly detailed definition of reaction class, while the last digit represents the accepted substrates. our approach is widely applicable as it uses exclusively information contained in the protein sequence, in contrast with methods that also require existing or computationally inferred structural information. further, our method supports multi-label classification, that is, the direct association of multiple enzymatic functions to each protein. a single enzyme can perform different reactions, either due to the presence of multiple catalytic sites or by regulation of a single site, and can hence be associated with multiple ec numbers. multi-label learning can take multiple ec numbers, and their hierarchical relation, into account more coherently and effectively than creating an individual classifier for each class. it can also leverage the information contained in proteins annotated with incomplete ec numbers, such as ec -.-.-, ec.-.- or ec. -. sequence based methods for the prediction of ec numbers include eficaz, modenza and priam. priam uses a set of position-specific scoring matrices specific for each ec number to predict the existence of a given ec function somewhere in a fully sequenced genome. enzml, modenza and eficaz try to assign ec numbers to individual protein sequences or fragments. modenza builds hidden markov model profiles of positive and negative sequences specific for each four digits ec numbers, partial or multiple ec numbers cannot be assigned. eficaz can assign multiple ec numbers of exactly three or four digits by weighting information from four sequence based predictions methods using functionally discriminating residues for enzyme families, pairwise sequence comparison, pfam enzyme families and prosite patterns. eficaz, modenza and priam are further discussed and quantitatively compared with enzml in the discussion section and additional file 1: methods_comparison.pdf. multi-label learning has been successfully applied to predict funcat protein functions in yeast, go functions in yeast, cygd functions in yeast, funcat and go functions in yeast and plants and other species, but has not yet been extensively applied to the prediction of enzyme functionality. a multi-label support vector machines methodology was used in the past to predict ec numbers but only up to the second ec digit and only on enzymes. hierarchical classification was also applied to about enzymes from kegg, obtaining over 85% accuracy in predicting four digits ec numbers. however, here we demonstrate that bigger datasets can cause dramatic improvement in performance. we make use of mulan, an open-source software infrastructure for evaluation and prediction based on the weka framework, to improve the potential for extension and reuse of this work. in addition to the effect of dataset size, we report on how predictions depend on species content and sequence redundancy. we also obtain very good computational performance over a real-life size set of, protein entries. methods data sources the protein sequence and ec annotation data was taken from uniprot knowledge base release 2010_ consisting of swiss-prot release 2010_ and trembl release 2010_ interpro release, kegg release. the interpro release used contains signatures, of which present in uniprot. the complete set of ec numbers and their status was downloaded from expasy enzyme database. all annotations using deleted ec numbers were removed from the data; transferred ec numbers were substituted with their newly assigned ec number. the data was further processed using ondex and mysql. the data sources content of ec and interpro annotation is summarised in additional file 2: ec_interpro_stats.pdf. the overlap between uniprot and kegg is schematically represented in figure which shows that the manually curated section of the uniprot knowledge base only contains about half a million entries, versus the over twelve million entries awaiting manual annotation in trembl. the taxonomic breakdown shows an overall dominance of bacterial annotation, in addition to a certain over representation of vertebrates and under representation of invertebrates, considering their estimated number of species in the tree of life. this distribution is not an artefact of the intersection, it is due to the underlying distribution of swiss-prot and kegg data. datasets the enzml data schema is shown in figure where each instance represents a protein identified by a uniprot accession number. each protein can have zero or more class labels in the form of enzyme commission numbers. each instance can also have zero or more attributes, each representing the presence or absence of one or more interpro signatures. in order to execute the different evaluations presented in the results section, a number of datasets have been created. the main dataset is indicated from now on as swissprot >kegg. the join symbol () represents the fact that this set contains only annotation that is equal in the two databases. swissprotkegg consists of all ec annotations agreeing in both swiss-prot and kegg, an annotation being a couple in the form. the set includes proteins, 55% enzymes and 45% non enzymes. the swissprotkegg dataset has thus been submitted to two manual curations, in which none of the authors were involved. in the same way, the tremblkegg dataset includes all annotations agreeing between uniprot trembl and kegg. the tremblkegg dataset is very extensive and varied, but it has not been manually curated in trembl. this dataset has been included in the analysis not for the purpose of method evaluation, but to review enzml performance on a large dataset and to judge the internal consistency of tremblkegg itself. the protein instances have surprisingly few features, having an average of interpro signatures and ec numbers per protein. the proportion of proteins with no ec annotations ranges from 45% of the swissprotkegg dataset to 69% of the tremblkegg dataset. these sets include proteins that have been extensively studied and do not carry enzymatic activity as well as proteins not yet characterised as enzymes or belonging to still unknown enzymatic classes. due to the difficulty of distinguishing between these cases, the non and not yet ec proteins are treated as one class. this allows enzml to emit a cumulative no ec prediction as an alternative to the prediction of one or more ec numbers. a protein predicted as no ec could thus be either a non-enzyme or a not yet characterised enzyme or belonging to a not yet characterised enzyme class. for simplicity we refer to this class as non enzyme from now on. the enzml method can accept instances with an empty set of attributes, which account for % of the swissprotkegg dataset and % of the tremblkegg dataset. these proteins are processed normally, but they are generally predicted as non enzymes due to the fact that most proteins without interpro signatures also do not have ec annotations. the datasets used also include incomplete ec classes, such as ec -.-.-, ec.-.- or ec. -. the independence of the uniprot and kegg curation cannot be determined by the annotations alone due to a lack of provenance meta-data. curators in both institutions use a variety of primary and secondary sources to assign an ec annotation. however, out of the million proteins annotated in both uniprot and kegg, 31% have a disagreeing annotation, showing that the two knowledge bases curators have different scientific opinions in many cases. in order to evaluate the impact of the dataset size and taxonomic content on enzml performance, the swissprot>kegg dataset has been partitioned into taxonomic domains: archaea, bacteria and eukaria, further divided into fungi, invertebrates, plants and vertebrates. for each taxonomic domain we have investigated the individual proteome having most proteins in the swissprotkegg set: methanocaldococcus jannaschii for archaea, escherichia coli for bacteria, schizosaccharomyces pombe for fungi, drosophila melanogaster for invertebrates, arabidopsys thaliana for plants, homo sapiens for vertebrates. we also considered mus musculus and rattus norvegicus as second and third most represented species overall. to examine the performance on each ec main class, the escherichia coli dataset was further divided into seven datasets each containing exclusively either the no enzyme annotation or ec annotations starting with a different main ec class. as an alternative to machine learning, ec labels could be directly assigned from interpro domains: the interpro2go file associates individual interpro signatures with go terms, which in turn are mapped to ec numbers in the ec2go file. to understand if enzml is more accurate than this simple transitive assignment, a dataset was created containing all the swissprotkegg entries annotated using the interpro2go and ec2go lists provided by the uniprot ftp website. we have also created a separate set for proteins that were added to swiss-prot between jan and march. the data was taken from biomart central uniprot. of these proteins, an interesting subset consists of those proteins which already existed in tremblkegg as of jan but acquired a new or different label upon incorporation into swiss-prot. the data format consists of a sparse weka arff file supplemented by a mulan xml file containing the class labels hierarchy. examples of arff and xml file formats are available in additional file 3: arff_and_xml_file_examples.tar.gz. the swissprotkegg and tremblkegg data files used for evaluation are also available and so is the java code used to format the data files and run the experiments. sequence redundancy to analyse the performance of enzml at different levels of sequence similarity we generated other datasets using uniref clusters. uniref is a database of clusters of uniprot proteins that are 100% identical in sequence. each cluster has a representative protein sequence and a group of other sequences similar to it. to measure the effect of sequence redundancy on the method, the swissprotkegg dataset was reduced to only its uniref representative sequences and cross-evaluated. ec numbers distribution it is important to note that enzymatic classes are long-tail distributed in the main data sources, that is, some ec numbers are very frequent among proteins while most ec numbers only rarely occur. the distribution is very skewed, with roughly a 80- ratio: 80% of ec classes annotate only about 10% of uniprot enzymes, while the remaining 20% most common ec classes annotate 90% of uniprot enzymes. the most rare ec classes only annotate enzymes, and ec classes have less than protein examples in uniprot. algorithm the algorithm used throughout this work is br-knn. br-knn is a multi-label adaptation of the traditional k-nearest neighbour using binary relevance. binary relevance transforms the original dataset into as many datasets as the existing labels, each example being labelled as label true if the label existed in the original example and label false otherwise. the mulan version. implementation of br-knn used in enzml makes sure the distance between neighbours is calculated only once, with considerable time savings on large datasets. the best choice for the number of neighbours was k. br-knn is fast on the data used: less than minutes per fold of a 10-fold cross-evaluation of instances, on a dedicated machine with ghz cpu and gb ram. as baseline we used the zero rule algorithm, which assigns the majority class to every instance. evaluation metrics the evaluation metrics are either based on a single round of evaluation or, for cross-evaluation, they are the average of a number of cross-evaluation rounds. after examining the standard deviations, we submitted datasets smaller than proteins to two rounds of 10-fold cross evaluation, training on 9/ of the data and testing on the remaining unseen 1/. we present the average value of subset accuracy, a strict measure of prediction success, as it requires the predicted set of class labels to be an exact match of the true set of labels. for example, if a protein has these four ec class labels:, and it is assigned as prediction only the three first labels:, this prediction would be considered as completely incorrect, because it misses the last label. where computable, we also report micro and macro metrics. in this context micro averaging favours more frequent ec classes, while macro averaging gives equal relevance to both rare and frequent ec classes. hence a protein will affect the macro-averaged metrics more if it belongs to a rare ec class. example-based metrics consider how many correct ec predictions have been given to each individual protein example. the full mathematical form of all metrics is defined in and. the best achievable value of all these measures is 100% when all instances are correctly classified. where averaged, the metrics are presented with plus and minus standard deviation marks. statistical significance to judge the difference between sets of results, the p-value at 5% confidence was used and calculated as follows. if the t-statistic is: t=x−msdn where x is the average of the reference set of samples, m is the average of the other set of samples to be compared and n is the number of samples in both sets, the p-value becomes: p−value=tdist,r,tails) where r are the degrees of freedom. here we consider a two tailed hypothesis, so tails equals tdist returns the probability density function for the t-distribution, calculating: Γ/2)rΓ1+t2r−r+ where is the gamma function and r are the degrees of freedom. if the is lower than 5%, the confidence that the samples come from different underlying distribution is higher than 95% and hence the two samples are declared significantly different.  whole, taxonomic and random datasets the first set of experiments assesses by cross evaluation the ability of enzml to predict ec numbers using interpro signatures. the cross evaluation results are summarised in figure. the total dataset swissprotkegg achieves 98% subset accuracy. for comparison, the zero rule algorithm achieves 45% % subset accuracy. to understand whether taxonomically related proteins were better at predicting proteins in their own taxa, the swissprotkegg dataset has been subdivided into archaea, bacteria and eukarya. the average classification accuracy after cross-evaluation of each taxonomic dataset was then compared with sets of the same size as each taxonomic set, but comprising proteins picked at random from swissprotkegg. the results in figure show that the predictions accuracy generally increases as the dataset size increases. excluding far-related species does not seem to dramatically improve results: only the archaea and bacteria sets significantly outperform a random set of the same size, but they cover a reduced set of enzymatic functions compared to the full set. the plants, invertebrates, fungi and vertebrates sets are not significantly different from a random set of the same size, while the eukarya dataset accuracy is significantly different but lower. sequence redundancy reduction to evaluate the impact of the sequence redundancy reduction on the method, a cross evaluation was executed on the three sets of proteins derived from swissprotkegg by keeping only the uniref reference entries. hence the swissprotkegg uniref dataset contains only one representative sequence per each 50% similarity cluster. when the dataset is submitted to 10-fold cross-evaluation, the nine tenth of sequences that make up the training set are all less than 50% similar to the sequences in the test set. the results, shown in figure are robust and not particularly affected by the reduction to uniref sequences, not even when clustering at 50% of sequence similarity, despite losing 80% of the sequences, as shown in the right panel of figure this is because, in spite of the dramatic sequence reduction and reduced overall sequence similarity, only 4% of the ec classes and 3% of the interpro signatures are lost. proteome reannotation the performance obtained by cross evaluating the entire swissprotkegg dataset is representative of the success that can be expected on a metagenomic sample, especially one with a high bacterial content, as suggested by the high bacterial content in figure we hence executed another set of experiments to evaluate the performance of enzml on annotating individual proteomes. each experiment: excluded the chosen species from the swissprotkegg dataset, trained on the remaining data, re-annotated that species proteome, and compared the predictions with the existing annotations. figure shows that enzml can re-annotate an entire proteome with subset accuracy starting at 87% for a. thaliana and reaching 97% for e. coli. to gauge the predictive power or a single species, the inverse was also attempted: to re-annotate the entire swissprotkegg dataset based on a single proteome. this inverse exercise shows that up to 88% of proteins, and more than a third of the ec classes, can be reannotated correctly in the swissprotkegg dataset if the training occurs on possibly the most studied species in molecular biology, e. coli. this suggests a high level of evolutionary conservation of core metabolism across species. comparison with interpro2go2ec and trembl ec labels could also be directly assigned from interpro domains using the interpro2go and ec2go lists. as shown in figure this method has much lower accuracy than enzml on the same swissprotkegg dataset. to assess computational performance, enzml was also trained on swissprotkegg and tested on the diverse and extensive, but not intensively manually curated, tremblkegg dataset. the loss of accuracy on the tremblkegg dataset is not due to a limitation in enzml, but more to the sheer variety and low internal consistency of tremblkegg. the swissprotkegg - the training set - only contains half of the interpro domains existing in the tremblkegg test set. as the predictions emitted by enzml trained on swissprotkegg for the tremblkegg set are of interest for scientists working on non-model organisms, they are available as additional file 8: trembl_join_kegg_true_and_predicted_ec_numbers.tar.gz. a more detailed analysis of the prediction errors is contained in additional file 9: predictions.pdf. the additional file includes a table with the most common errors and the accuracy for each of the six main ec classes. predicting recent swiss-prot entries enzml trained on swissprotkegg can correctly predict most of the entries incorporated into swiss-prot in the following year and does so with 79% subset accuracy, 89% micro averaged precision and 64% macro averaged recall. enzml performance is limited by the fact that 13% of the entries are annotated with new ec numbers that did not exist in the swissprotkegg set of jan and so cannot be predicted by the classifier. for comparison, a fold cross-evaluation over the same swissprot_2011_ set achieves much better results because the probability of a class existing in the test set but not in the training set is low. also, enzml trained on swissprotkegg can correctly predict 69% of the new labels given to trembl proteins upon their incorporation into swiss-prot. this suggests that many of the mistakes in the tremblkegg predictions could actually become correct labels after manual curation. here as well the performance is limited because 15% of the ec classes used in these new annotations did not exist in the swissprotkegg set of jan the classifier is trained on. discussion effects of ec distribution the long-tail shape of the ec distribution is conserved even when the data is further categorised, often the case with long-tail distributions, and can be seen in the similarity of distributions for single species and full databases. this could be caused by evolutionary conservation of certain metabolic functions. individual species, even compact bacterial genomes such as e. coli, have redundancy in certain enzymatic functions, and these functions seem to be common across species, leading to very frequent ec numbers such as cytochrome-c oxidase representing alone 12% of all uniprot enzymes. the rare ec numbers do not impact on most evaluation measures as they affect a small number of proteins, but in figure we can note that the macro-averaged recall, a measure affected by the misprediction of rare classes is generally the lowest and more unpredictable metric for this method, as shown also by the wider standard deviation in figures and also, the macro-averaged recall of swissprotkegg cross evaluation is lower than expected at 83%, despite only 20% of its ec numbers being very rare versus 63% in invertebrates and 22% in bacteria. however, the measure improves if fold cross evaluation is used instead of fold, hence raising the probability of having in the training set more examples of rare and very rare ec classes. method applicability the proposed method is applicable to any partial or complete protein sequence or metagenomic sample, since any genetic sequence can be scanned in silico for the presence of interpro signatures using the interproscan algorithm, also available as web service. the overall success of enzml is due to the fact that interpro signatures provide a very compact representation of protein functionality. the million proteins in uniprot are described by only sets of interpro signatures. many of these sets are subsets of other longer signature sets. interpro subsets in uniprot have an average length of signatures, while interpro super-sets have an average length of signatures. super-sets completely describe the possible combinations of interpro signatures found in all uniprot proteins. to give a comparison, billion combinations of three unordered elements could be obtained from interpro signatures. in relation to the method application and evaluation, it must be noted that the distribution of annotation in metabolic databases tends, by definition, to be more enriched in enzymes than in non-enzymes. even highly-populated databases such as uniprot are biased, with more accurate annotation going to widely studied biological functions. using only annotations that agree in two manually curated databases increases trust, but decreases the number of ec classes that can be predicted. swiss-prot contains distinct ec classes, and kegg contains ec classes, but the set of annotations agreeing in both databases only contains ec classes. rare ec classes can easily be lost in case of disagreement among the data sources. the accuracy of the predictions generally increases as the dataset size increases which, combined with the efficiency of the algorithm, is a good case for using a bigger training set whenever possible. training the classifier on more data from non-manually curated databases, such as uniprot-trembl, might reduce the bias and increase the number of predictable classes, but will also decrease trust. alternative biocuration scenarios might call for a different balance between coverage and trust, to increase the probability of recognising rare enzyme commission classes in newly sequenced genomes. although the highest possible level of accuracy is clearly desirable, the high accuracy of enzml, combined with the measure of confidence that the method emits for each prediction, enables the curators to focus their work. the majority of erroneous annotations have low confidence, so curators could tackle the more error prone annotations first. however, active learning research has shown that simply correcting low-confidence annotations is rarely the best strategy, as the representativeness and informative content of each instance also has an impact. a strength of fast re-training systems such as enzml is the potential to incrementally improve overall accuracy when incorrect annotations are spotted by curators. the authors are currently researching active learning strategies to improve enzyme annotation accuracy in a mixed human-machine learning curation workflow. comparison with other ec prediction methods priam was designed predict the overall metabolism for an organism, indicating whether particular enzyme functionalities were encoded in the genome, rather than assign functions to individual genes. a gene-oriented version of priam was introduced in to address this task. in contrast, enzml is designed to associate ec numbers to individual genes or gene fragments. enzml improves on modenza by supporting the prediction of multiple ec numbers for a protein, and on eficaz by being able to assign multiple ec numbers of any number of digits. eficaz improves the precision of eficaz on test sequences having less than 30% similarity to the training set, and has not been evaluated separately from eficaz. however, it is possible to compare eficaz results at mttsi 50% in figure 4-c and 4-d of with those obtained by enzml. in more detail, eficaz reports a maximum recall of 47% 49% of standard deviation, 78% 33% and 86% 34%. eficaz precision reaches a maximum of 74% 44% of standard deviation, 82% 36% and 91% 27%. in a similar range of protein similarity enzml obtains generally more accurate results and within % of standard deviation, thanks also to its extensive dataset. in particular, enzml results on swissprotkegg uniref are 80-95% recall and 93-98% precision, all within less than 1% of standard deviation. a comparison between enzml on the four genomes used for evaluation in shows that our method achieves greater sensitivity and specificity on a greater number of sequences, as our method uses more recent data. the data used for the comparison is available in mulan arff format as additional file 10: methods_comparison_arff_data.tar.gz and in comma-separated format as additional file 11: methods_comparison_csv_data.tar.gz.  the enzml method can be applied to any sequenced protein, without need for existing annotation or protein structures and it can provide quick, accurate and complete results on extensive datasets. enzml leverages the evolutionary similarity of metabolic function yet without loosing performance when sequences redundancy is reduced. thanks to the mulan binary relevance nearest neighbours implementation this is possible in reasonable time even for millions of sequences, showing clear potential for meta-genomic analysis. our approach demonstrates the potential of interpro signatures in predicting enzymatic function and easing the backlog of manual curation of enzymatic function. we plan to couple enzml with pool-based active learning to further reduce the number of annotated instances needed, saving precious annotators time while further speeding up the method. the goal is to create a virtuous cycle between automatic and manual annotation, that is able to keep up with high-throughput sequencing. in the future, enzml could also be extended to learning all protein functionalities, for example in the form of gene ontology terms. competing interests the authors declare that they have no competing interests. authors contributions ldf and sa designed the study, analysed the results and wrote the manuscript. ldf collected the data and wrote the enzml code. jvh and ig helped conceive the study, participated in its design and coordination and helped to draft the manuscript. all authors read and approved the final manuscript. supplementary material addtional file 1 comparison between enzml and eficaz, modenza and priam. file methods_comparison.pdf contains a comparison of the predictive performance of eficaz, modenza and enzml over three bacterial genomes and one eukaryoti cgenome, and comparison of enzml and priam over two additional bacterial genomes. the data used for the comparison is also available as additional files and click here for file addtional file 2 table summary of ec and interpro annotations in uniprot, kegg and derived datasets. a summary of the ec and interpro content of uniprot, kegg and other datasets used in this work is presented in file ec_interpro_stats.pdf. click here for file addtional file 3 examples of sparse weka arff and mulan xml file formats. an example of sparse weka arff and its corresponding mulan xml file is available in the file arff_and_xml_file_examples.tar.gz. click here for file addtional file 4 the swissprotkegg and tremblkegg arff and xml files. the swissprotkegg and tremblkegg arff and xml files used for train-test evaluation in figure are provided in: swiss-join-kegg_trembl-join-kegg_files.tar.gz. click here for file addtional file 5 the java code to format the data files, evaluate and predict. the file enzml_java_code.tar.gz contains the java code used to format database data to arff and xml formats, to execute cross and train-test evaluations and to record evaluation results to database. more information is included in the readme.txt file and the javadoc files. the code can be used with a mysql database. to use a different database software, other jdbc drivers might be required. click here for file addtional file 6 figure of the relation between accuracy and number of neighbours for the nearest neighbours algorithm. the figure in file number_of_neighbours.pdf shows the degradation in accuracy when the number of neighbours is increased above click here for file addtional file 7 all cross evaluation results. the file all_cross_evaluation_results.csv contains, in comma separated format, all the cross evaluation results summarised in figures and click here for file addtional file 8 ec predictions emitted by enzml for the tremblkegg set. the compressed file trembl_join_kegg_true_and_predicted_ec_numbers.tar.gz contains, in comma separated format: the file trembljoinkegg_ec_predicted_by_enzml.csv with the full set of ec predictions emitted by enzml for the tremblkegg set; the file trembl_kegg_agreeing_ec_annotations.csv containing the annotations attributed to the tremblkegg set by uniprot-trembl and kegg. click here for file addtional file 9 prediction errors analysis. the pdf file predictions.pdf contains a brief analysis of the most common prediction errors when training on swissprotkegg and testing on e. coli. it also contains separate accuracy results for each main ec class. click here for file addtional file 10 methods comparison: data files in mulan arff format. the compressed file methods_comparison_arff_data.tar.gz contains the mulan arff and xml files used for jackknife evaluation on the full proteomes of e. coli, b. aphidicola, m. pneumoniae, p. falciparum, haemophilus influenzae and mycoplasma genitalium. click here for file addtional file 11 swissprotkegg data in comma separated format. the compressed file swissprot_join_kegg_csv_data.tar.gz includes comma separated files containing: the list of all uniprot accession numbers in the swissprotkegg set and their ec numbers, species, interpro signatures identifiers, interpro sets. it also contains all the jackknife evaluation results used to compare enzml with other methods in additional file. click here for file acknowledgements ldf is funded by ondex dtg, bbsrc tps grant bb/f529038/ of the centre for systems biology at edinburgh and the university of newcastle. sa is supported by by a wellcome trust value in people award and, together with ig, the centre for systems biology at edinburgh, a centre funded by the biotechnology and biological sciences research council and the engineering and physical sciences research council. jvh was funded by various bbsrc and epsrc grants. many thanks to the subscribers of the mulan mailing list, paolo besana, ross armstrong, guido sanguinetti and john mitchell for their support and suggestions.
manual annotation of enzymatic functions cannot keep up with automatic genome sequencing. we present enzml, a multi-label classification method that can efficiently account also for proteins with multiple enzymatic functions: in uniprot. this representation makes multi-label machine learning feasible in reasonable time using the mulan binary relevance nearest neighbours algorithm implementation. interpro signatures are a compact and powerful attribute space for the prediction of enzymatic function. to understand the role played by the dataset size, we compared the cross-evaluation results of smaller datasets, either constructed at random or from specific taxonomic domains such as archaea, bacteria, fungi, invertebrates, plants and vertebrates. the results were confirmed even when the redundancy in the dataset was reduced using uniref uniref or uniref clusters. enzml achieved more than 98% subset accuracy for the entire dataset and between and 97% subset accuracy in reannotating eight entire proteomes: human, mouse, rat, mouse-ear cress, fruit fly, the s. pombe yeast, the e. coli bacterium and the m. jannaschii archaebacterium. in this work we explore the capacity of interpro sequence signatures to automatically predict enzymatic function.
 manual annotation of enzymatic functions cannot keep up with automatic genome sequencing. in this work we explore the capacity of interpro sequence signatures to automatically predict enzymatic function.  we present enzml, a multi-label classification method that can efficiently account also for proteins with multiple enzymatic functions: in uniprot. enzml was evaluated using a standard set of proteins for which the manually curated swiss-prot and kegg databases have agreeing enzyme commission annotations. enzml achieved more than 98% subset accuracy for the entire dataset and between and 97% subset accuracy in reannotating eight entire proteomes: human, mouse, rat, mouse-ear cress, fruit fly, the s. pombe yeast, the e. coli bacterium and the m. jannaschii archaebacterium. to understand the role played by the dataset size, we compared the cross-evaluation results of smaller datasets, either constructed at random or from specific taxonomic domains such as archaea, bacteria, fungi, invertebrates, plants and vertebrates. the results were confirmed even when the redundancy in the dataset was reduced using uniref uniref or uniref clusters.  interpro signatures are a compact and powerful attribute space for the prediction of enzymatic function. this representation makes multi-label machine learning feasible in reasonable time using the mulan binary relevance nearest neighbours algorithm implementation. 