SPiCE: a web-based tool for sequence-based protein classification and exploration
© van den Berg et al.; licensee BioMed Central Ltd. 2014
Received: 7 October 2013
Accepted: 26 March 2014
Published: 31 March 2014
Amino acid sequences and features extracted from such sequences have been used to predict many protein properties, such as subcellular localization or solubility, using classifier algorithms. Although software tools are available for both feature extraction and classifier construction, their application is not straightforward, requiring users to install various packages and to convert data into different formats. This lack of easily accessible software hampers quick, explorative use of sequence-based classification techniques by biologists.
We have developed the web-based software tool SPiCE for exploring sequence-based features of proteins in predefined classes. It offers data upload/download, sequence-based feature calculation, data visualization and protein classifier construction and testing in a single integrated, interactive environment. To illustrate its use, two example datasets are included showing the identification of differences in amino acid composition between proteins yielding low and high production levels in fungi and low and high expression levels in yeast, respectively.
SPiCE is an easy-to-use online tool for extracting and exploring sequence-based features of sets of proteins, allowing non-experts to apply advanced classification techniques. The tool is available at http://helix.ewi.tudelft.nl/spice.
KeywordsSequence-based Data visualization and exploration Protein feature extraction Protein classification
The sequence of a protein contains valuable information about its characteristics. Various sequence-based prediction methods exploit this to classify proteins according to specific properties, such as localization , function , or solubility . This has resulted in relevant and frequently used bioinformatics tools  that are offered by a growing number of easily accessible websites and webservices [5–7].
Software tools are available for each of these three steps. Feature extraction is available as software package  and through web services [9–12] and an extensive range of classification software has been developed [13, 14], some of which include feature visualization . However, combined application requires installing different software packages and programming efforts to convert data according to the requirements of each tool. For the construction of specialized high-performance classifiers, the overhead of deploying such a pipeline may be acceptable or even required, because this usually involves extensive exploration of many combinations of (customized) features, types of classifiers, and parameter settings. However, it precludes easy access to these methods for non-expert users.
We set out to offer basic protein classification functionality in a single environment to allow for quick and easy exploration of user-defined protein classes, without the need for any programming, data conversion or software installation. To this end we introduce SPiCE, a web-based tool for Sequence-based Protein Classification and Exploration. SPiCE makes powerful data exploration techniques accessible to non-experts; additionally, expert bioinformaticians can exploit the back-end software to perform customized and/or computationally expensive tasks on a local computer.
Before describing the SPiCE functionality, some classification concepts and the offered sequence-based features will be introduced in the following two sections.
Classifiers are algorithms that assign discrete class labels to objects. These objects are typically represented as vectors of features, real numbers that reflect a property thought to be potentially different for proteins in the different classes. Protein sequences should therefore first be mapped onto such feature vectors, a process called feature extraction (Figure 1A). This should ideally result in a small number of discriminative features. In SPiCE, feature vectors are always normalized to zero mean and unit standard deviation.
Given a training set of proteins with known labels, a classifier can then be trained, i.e. its parameters can be tuned to yield optimal performance (Figure 1B). For problems with two classes A and B, performance is often estimated based on a receiver-operator characteristic (ROC) curve. Such a curve represents all possible trade-offs between classifications of proteins in class A as being in class B and vice versa. If class A corresponds to “positive” and class B to “negative”, the ROC curve is traditionally drawn as false positive rate vs. true positive rate and the area under the ROC curve (AUC) is used as a measure of classifier performance, with 1 indicating perfect classification and 0.5 random classification. Once trained, the trained classifier can be used to predict the class label for any new protein, a process called testing (Figure 1C).
To avoid overtraining, i.e. setting the parameters such that the training set is classified well but test samples will be classified poorly, a stratified cross-validation scheme is used. This entails splitting the training set in k parts reflecting the original class distributions (where the “fold” k is a parameter) and iteratively training classifiers on k−1 parts and estimating its performance on the remaining part. The average performance is then an estimate of the performance to be expected on new, unseen data.
Offered classifiers with corresponding parameter ranges
Parameter optimization grid
SVM (linear kernel)
SVM (RBF kernel)
Gaussian Naive Bayes
Default scikit-learn parameters
Default scikit-learn parameters
For a more in depth discussion of classification and feature extraction, the reader is referred to relevant reviews [17, 18] or textbooks [19, 20]. Below, an overview of the specific features SPiCE extracts from protein sequences is given.
Sequence-based feature categories
Number of features
AA composition ∗
Number of segments
20× number of segments
Number of segments
400× number of segments
Terminal end amino acid count
N- or C-terminal end, length
SS composition ∗
Number of segments
3× number of segments
Per SS class AA composition ∗
SA composition ∗
Number of segments
2× number of segments
Per SA class AA composition ∗
Property profile-based features
AA scale(s), window, edge
1 per AA scale
Signal peaks area
AA scale(s), window, edge, threshold
2 per AA scale
Type, AA scale(s), distance
1 per AA scale
Pseudo AA composition (type 1) ∗
AA scale(s), λ
Pseudo AA composition (type 2) ∗
AA scale(s), λ
Amino acid distance-based features
Property CTD ∗
AA distance matrix, λ
These features calculate letter counts divided by sequence length for a number of sequence types: amino acid, codon, secondary structure, and solvent accessibility. The ‘number of segments’ parameter subdivides sequences into equal length parts and returns the composition of each segment separately. For the amino acid sequence, there is also the option to calculate the dipeptide composition, i.e. amino acid pair counts divided by sequence length −1, and the amino acid counts for a given length of the N- or C-terminal end of the protein sequence. For the codon sequence, the codon usage can be calculated.
Property profile-based features
Amino acid scales map each amino acid to a value that captures a physicochemical or biochemical property, such as hydropathicity or size. These scales are used to obtain a property profile for a protein sequence by mapping all of its residues to the corresponding values. The profiles are in turn used for calculating property profile-based features. The AAIndex data base  contains a large collection of scales that can be selected for feature calculation. Because the data base contains many correlated scales, a set of 19 uncorrelated scales derived from the entire AAIndex database  can also be selected. Amino acid scales are normalized (zero mean, unit standard deviation) before using them for feature calculation.
Signal average features capture, based on the selected amino acid scale used for generating a property profile, the average property over the entire protein sequence by calculating the average profile value.
Signal peaks area features use the property profiles to capture occurrences of property peaks by calculating the sum of all areas under a protein profile above and below a given threshold. A window and edge parameter define the width and edge weights of a triangular filter with which the profile is convoluted to smooth it before calculating the features .
Autocorrelation features employ the property profiles to calculate property correlations between two residues at a given distance over the entire protein sequence. As in profeat, three different types are implemented: normalized Moreau-Broto , Moran , and Geary .
Pseudo-amino acid composition features calculate the amino composition with additional features that include sequence-order information up to a given distance λ. Sequence-order information is incorporated by calculating residue correlation factors between two residues at a given distance over the entire protein sequence, for distances 1,2,…,λ. The correlation factors are based on one or multiple user-defined amino acid scales as offered by the PseAAC web server . Both the parallel-correlation type (type 1), as introduced in  for predicting protein cellular attributes, and the series-correlation type (type 2), as introduced in  for predicting enzyme subfamilies, are offered by SPiCE.
Amino acid distance-based features
These feature categories use amino acid distances for feature calculation, either by using a amino acid distance matrix or by using predefined amino acid clusters.
Property composition, transition, distribution (CTD) features were previously used to predict protein folding classes . Our implementation is based on profeat. The twenty amino acids are subdivided into three groups; A, B, and C, based on a given property. Protein sequences are then mapped to the reduced three-letter alphabet (ABC), which are used to calculate i) the property composition, letter counts divided by sequence length, ii) property transitions, the number of AB and BA transitions divided by the sequence length - 1 (likewise for AC and BC), and iii) the property distribution, relative protein sequence positions of the first occurrence, the 1st, 2nd, and 3rd quantile, and the last occurrence of each property letter. The used properties – hydrophobicity, normalized Van der Waals volume, polarity, polarizibility, charge, secondary structures and solvent accessibility – and corresponding amino acid subdivisions are the same as in profeat.
Quasi-sequence-order descriptors have been used to predict protein subcellular localization . They are comparable to the pseudo amino acid composition, but the Schneider-Wrede amino acid distance matrix  is used for calculating correlation factors instead of amino acid scales.
Home contains general information and news items. Additional documentation and tutorials can be accessed through the documentation link in the header menu at the top of the page (Figure 3).
Projects are initiated by uploading a FASTA file with either protein (amino acid) or ORF (nucleotide) sequences. After initiation, one or more labeling files can be uploaded in which each protein is assigned a label, for example its subcellular localization. Users can also upload (predicted) secondary structure and solvent accessibility sequences, which enables the calculation of additional features.
Features can be calculated for all proteins in the project. A list of available sequence-based features is given in Table 2. Additionally, users can upload their own calculated features. The resulting feature matrix can be explored using different visualizations. Feature-value distributions and class separation can be explored using histograms (e.g. like in Figure 3) and scatter plots. Another way of exploring predictive features is to visually inspect the feature matrix using a hierarchically clustered heat map (Figure 2B), in which the protein labels are added as an extra column (not used for clustering).
Classification offers the ability to train classifiers using the proteins in the current project. Users can select: i) the type of classifier to use, ii) the classes to train for, iii) the features to use for training, and iv) the number of cross-validation loops k. A (double) k-fold cross-validation protocol is used to assess classifier performance and to optimize classifier parameters if required. After training, a table with performance measures is reported, together with a receiver operating characteristic (ROC) curve in case of two-class classification. The final classifier is trained on the entire train set using the optimized parameter settings. Trained classifiers can be applied to predict class labels of new proteins by selecting any of the user’s projects, in which case class labels will be predicted for each protein in that project.
The website is developed in Python 2.7.3 (http://www.python.org), using the minimalist python web framework CherryPy 3.2.0 (http://www.cherrypy.org). The back-end uses the Python package spice for feature calculation and classification. Within this package, the featext module manages feature extraction using a dataset module to manage protein sequence data and a featmat module to manage the labeled feature matrix. The classification module offers a set of classification tasks, which basically is a layer on top of the machine learning software scikit-learn 0.14.1 . Feature extraction and classification tasks are put in a job queue which is handled by a separate compute server.
Results and discussion
To validate the system, we reproduced results of previous work in which a data set was employed to construct classifiers predicting successful high-level production of extracellular proteins in Aspergillus niger. The used data set consists of 345 secretory proteins that were over-expressed in A. niger and tested for detectable extracellular concentrations by putting the obtained extracellular medium on a gel after growing the culture in shake flask. A label ‘high’ was assigned to proteins for which a band on the gel was observed and a label ‘low’ to the others, resulting in 167 high-level and 178 low-level proteins. This labeled protein set can be loaded as an example project in SPiCE.
Additionally, we used a yeast protein expression data set to illustrate the ease with which one can explore differences between user-defined protein classes. For this data set, yeast proteins were split into low-level and high-level expressed based on data found in , in which Saccharomyces cerevisiae open reading frames were tagged with a high-affinity epitopes and expressed from their natural chromosomal location after which protein abundances were measured during log-phase growth by immunodetection of the tag. As a pre-processing step, to avoid a bias for sets with highly similar proteins, BLASTCLUST was used to reduce sequence redundancy. After that the list of proteins was ordered by expression level. The top and bottom 1000 proteins were labeled ‘high’ and ‘low’ respectively. This data is also available as an example project.
For further exploration of the system, two additional example projects can be initiated. One entails protein subcellular localization in human, a data set of 2580 proteins categorized into 14 different subcellular locations as taken from . The other is a solubility data set obtained from , consisting of 17.408 yeast proteins that are split into two equal sized classes: soluble and insoluble.
SPiCE provides easy access to visualization and classification methods for a set of labeled protein sequences. After uploading a FASTA file with protein sequences and a label file with protein labels, the website can be used to calculate sequence-based features, to visualize the resulting feature matrix, and to train and test classifiers for predicting class labels, enabling quick exploration of sets of labeled proteins. The back-end software is made available for expert users to perform customized and computationally demanding tasks on a local computer.
Availability and requirements
Project name: SPiCE
Source code spice python package: https://github.com/basvandenberg/spice
Source code spice web site: https://github.com/basvandenberg/spiceweb
Web browsers: Chrome, Firefox, Opera, Safari
Operating system: Platform independent
Programming language: Python 2.7
License: GNU GPL v3
This work was supported by the BioRange programme of the Netherlands Bioinformatics Centre (NBIC) and was part of the Kluyver Centre for Genomics of Industrial Fermentation, both subsidiaries of the Netherlands Genomics Initiative (NGI).
- Nancy YY, Wagner JR, Laird MR, Melli G, Rey S, Lo R, Dao P, Sahinalp SC, Ester M, Foster LJ, Brinkman FSL: PSORTb 3.0: improved protein subcellular localization prediction with refined localization subcategories and predictive capabilities for all prokaryotes. Bioinformatics. 2010, 26 (13): 1608-1615.View Article
- Jensen LJ, Gupta R, Blom N, Devos D, Tamames J, Kesmir C, Nielsen H, Stærfeldt HH, Rapacki K, Workman C, Andersen CAF, Knudsen S, Krogh A, Valencia A, Brunak S: Prediction of human protein function from post translational modifications and localization features. J Mol Biol. 2002, 319 (5): 1257-1265.View ArticlePubMed
- Hirose S, Noguchi T: ESPRESSO: a system for estimating protein expression and solubility in protein expression systems. Proteomics. 2013, 13 (9): 1444-1456.View ArticlePubMed
- Emanuelsson O, Brunak S, von Heijne G, Nielsen H: Locating proteins in the cell using targetp, signalp and related tools. Nat Protoc. 2007, 2 (4): 953-971.View ArticlePubMed
- EBI Bioinformatics Services. [http://www.ebi.ac.uk/services],
- CBS Prediction Servers. [http://www.cbs.dtu.dk/services],
- PredictProtein. [http://ppopen.informatik.tu-muenchen.de],
- Cao DS, Xu QS, Liang YZ: propy: a tool to generate various modes of chou’s PseAAC. Bioinformatics. 2013, 29 (7): 960-962.View ArticlePubMed
- Gasteiger E, Hoogland C, Gattiker A, Wilkins MR, Appel RD, Bairoch A: Protein identification and analysis tools on the ExPASy server. The Proteomics Protocols Handbook. 2005, New York: Humana Press, 571-607.View Article
- Shen HB, Chou KC: PseAAC: a flexible web server for generating various kinds of protein pseudo amino acid composition. Anal Biochem. 2008, 373 (2): 386-388.View ArticlePubMed
- Li ZR, Lin HH, Han LY, Jiang L, Chen X, Chen YZ: PROFEAT: a web server for computing structural and physicochemical features of proteins and peptides from amino acid sequence. Nucleic Acids Res. 2006, 34 (suppl 2): 32-37.View Article
- Rao HB, Zhu F, Yang GB, Li ZR, Chen YZ: Update of PROFEAT: a web server for computing structural and physicochemical features of proteins and peptides from amino acid sequence. Nucleic Acids Res. 2011, 39 (suppl 2): 385-390.View Article
- Sonnenburg S, Rätsch G, Henschel S, Widmer C, Behr J, Zien A, Bona Fd, Binder A, Gehl C, Franc V: The SHOGUN machine learning toolbox. J Mach Learn Res. 2010, 99: 1799-1802.
- Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V, Vanderplas J, Passos A, Cournapeau D, Brucher M, Perrot M, Duchesnay E: Scikit-learn: machine learning in python. J Mach Learn Res. 2011, 12: 2825-2830.
- Hall M, Frank E, Holmes G, Pfahringer B, Reutemann P, Witten IH: The WEKA data mining software: an update. ACM SIGKDD Explor Newsl. 2009, 11 (1): 10-18.View Article
- Wessels LFA, Reinders MJT, Hart AAM, Veenman CJ, Dai H, He YD, van’t Veer LJ: A protocol for building and evaluating predictors of disease state based on microarray data. Bioinformatics. 2005, 21 (19): 3755-6372.View ArticlePubMed
- Jain AK, Duin RPW, Mao J: Statistical pattern recognition: a review. IEEE Trans Pattern Anal Mach Intell. 2000, 22 (1): 4-37.View Article
- de Ridder D, de Ridder J, Reinders MJT: Pattern recognition in bioinformatics. Brief Bioinform. 2013, 14 (5): 633-647.View ArticlePubMed
- Duda RO, Hart PE, Stork RG: Pattern Classification. 2000, Hoboken: Wiley-Interscience
- Hastie T, Tibshirani R, Friedman J: The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2009, Berlin: SpringerView Article
- Kawashima S, Pokarowski P, Pokarowska M, Kolinski A, Katayama T, Kanehisa M: AAindex: amino acid index database, progress report. Nucleic Acids Res. 2008, 36 (suppl 1): 202-205.
- Georgiev AG: Interpretable numerical descriptors of amino acid space. J Comput Biol. 2009, 16 (5): 703-723.View ArticlePubMed
- van den Berg BA, Nijkamp JF, Reinders MJT, Wu L, Pel HJ, Roubos JA, de Ridder D: Sequence-based prediction of protein secretion success inAspergillus niger. Proceedings of Pattern Recegnition in Bioinformatics 2010. 2010, Berlin: Springer, 3-14.View Article
- Moreau G, Broto P: Autocorrelation of molecular structures, application to SAR studies. New J Chem. 1980, 4 (12): 757-764.
- Moran PAP: Notes on continuous stochastic phenomena. Biometrika. 1950, 37 (1/2): 17-23.View ArticlePubMed
- Geary RC: The contiguity ratio and statistical mapping. Incorporated Statistician. 1954, 5 (3): 115-146.View Article
- Chou KC: Prediction of protein cellular attributes using pseudo-amino acid composition. Proteins: Struct Funct Bioinf. 2001, 43 (3): 246-255.View Article
- Chou KC: Using amphiphilic pseudo amino acid composition to predict enzyme subfamily classes. Bioinformatics. 2005, 21 (1): 10-19.View ArticlePubMed
- Dubchak I, Muchnik I, Holbrook SR, Kim SH: Prediction of protein folding class using global description of amino acid sequence. Proc Natl Acad Sci. 1995, 92 (19): 8700-8704.View ArticlePubMed CentralPubMed
- Chou KC: Prediction of protein subcellular locations by incorporating quasi-sequence-order effect. Biochem Biophys Res Commun. 2000, 278 (2): 477-483.View ArticlePubMed
- Schneider G, Wrede P: The rational design of amino acid sequences by artificial neural networks and simulated molecular evolution: de novo design of an idealized leader peptidase cleavage site. Biophys J. 1994, 66 (2): 335-344.View ArticlePubMed CentralPubMed
- van den Berg BA, Reinders MJT, Hulsman M, Wu L, Pel HJ, Roubos JA, de Ridder D: Exploring sequence characteristics related to high-level production of secreted proteins inAspergillus niger. PLoS ONE. 2012, 7 (10): 45869-View Article
- Ghaemmaghami S, Huh WK, Bower K, Howson RW, Belle A, Dephoure N, O’Shea EK, Weissman JS: Global analysis of protein expression in yeast. Nature. 2003, 425 (6959): 737-741.View ArticlePubMed
- Dondoshansky I: Blastclust (NCBI Software Development Toolkit). 2002, Bethesda: NCBI,
- Shen HB, Chou KC: A top-down approach to enhance the power of predicting human protein subcellular localization: Hum-mPLoc 2.0. Anal Biochem. 2009, 394 (2): 269-274.View ArticlePubMed
- Magnan CN, Randall A, Baldi P: SOLpro: accurate sequence-based prediction of protein solubility. Bioinformatics. 2009, 25 (17): 2200-2207.View ArticlePubMed
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License(http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.