BACKGROUND
the advent of high-throughput  investigation of proteins using proteomic methodologies has created a need for new approaches in bioinformatic analysis of experimental results.
most publicly available databases display information about proteins one record at a time  <cit> .
this is useful in the case where the number of proteins of interest is small.
however, a set of proteins identified in a typical proteomic experiment may contain tens, hundreds or even thousands of proteins to analyse  <cit> , at which point it is no longer feasible to collect information one protein at a time.
in addition, there may be patterns or subsets of interest that exist within the set of proteins that are not obvious if the proteins are analysed one at a time.
thus, analysis of data generated in htp experiments requires tools that allow the integrated analysis and interpretation of a collection of proteins.
several freely available tools facilitate analysis of sets of proteins or gene products.
pandora clusters sets of proteins according to shared annotation and displays the results as a directed acyclic graph   <cit> .
many types of annotation are incorporated, including gene ontology  annotation  <cit> .
pandora provides sets of proteins or allows the user to input a list of proteins of interest.
sgd  <cit>  provides the yeast community with the tools go term finder, go slim mapper and go annotation summary for the analysis of a protein and all its interactors as found in sgd.
webgestalt permits the user to input interesting sets of genes and identify up to  <dig> types of annotation to be employed  <cit> .
the sets can then be visualized in one of eight different ways according to the type of annotation, e.g., dag for go.
separately, the annotation can be analysed using statistical tests to identify over- or under-represented categories in the specified set as compared to a reference set.
goclust is a perl program used to identify proteins from a list of proteins that are annotated to a selected go term or its progeny terms  <cit> .
interestingly, all of the tools described above incorporate go annotation to find commonalities within a list of proteins, emphasizing the importance of using go annotation for analysing sets of molecules.
yet none of these tools provide an integrated display of results facilitating interpretation of the biological meaning of the protein set annotation.
clustering proteins according to shared annotation may reveal related subsets that warrant further investigation.
two separate groups have clustered proteins by their annotation in order to identify incorrect annotations in curated databases.
kaplan and linial measured the distance between any two proteins as a function of the number of terms that are annotated to both proteins, where less common terms, such as heat shock protein, score higher than more common terms, such as enzyme  <cit> .
they identified successful hierarchical clustering as the point in the hierarchy at which one of the clusters contains no false positive annotations.
the similarity score used by kunin and ouzounis incorporated the ratio of common to unique terms between the annotation of two swissprot proteins and the frequency of those terms within swissprot as a whole  <cit> .
all proteins in swissprot were then clustered into > <dig>  clusters.
sequence similarity between proteins within clusters was found to be consistent overall, apart from six types of exceptions, one of which was swissprot annotation errors.
as a first step towards investigating the feasibility of clustering proteins by annotation for the purpose of facilitating interpretation of htp results, we have employed a graph similarity distance measure implemented in bioconductor  <cit>  and partitioning around medoids  clustering to examine the annotation of two published htp proteomic data sets.
zhu et al.
<cit> , hereafter referred to as the snyder data set, demonstrated that purified proteins representing most of the yeast proteome could be immobilized on chips and tested for interaction with proteins or lipids.
the primary purpose of the publication was to demonstrate that the proteome array is able to detect known interactions in addition to identifying new ones, lending support to the usefulness of the technique.
in huang et al.
<cit> , hereafter referred to as the schreiber data set, proteins from the yeast proteome array that interacted with two small molecules of interest were tested using in vivo experiments to further examine whether the loss of the protein affected the cellular response to the presence of the inhibitors.
from this, only one of  <dig> interacting proteins identified was chosen for further study.
here we have assembled these two sets of proteins as identified in screens of purified protein arrays and re-analysed them by clustering the proteins according to their go annotation, thus generating new hypotheses about how proteins in these sets may function within the cell.
methodologies and concepts
distance metric
our objective is to find clusters of proteins such that the proteins within a cluster are close from a biological perspective and correspondingly far from the proteins in other clusters.
the biological perspective that we choose is go annotation, and we define distance by referring to the go graph.
of the many possible go-based distance metrics , we choose the simui metric included in the gostats package of bioconductor , in part because of its universal availability.
this metric is based on the notion of an induced go graph and treats each of the three go aspects separately , molecular function , cellular component ).
the go terms to which a protein maps constitute the leaves of the graph; thus, a protein with more than one go annotation will have more than one leaf in the induced go graph.
the complete induced go graph consists of those leaves and all parents of those terms, and so on until the root node has been obtained.
the graph similarity between two proteins calculated using simui equals the number of common nodes in the two induced go graphs divided by the number of nodes in the union of the two graphs, thus the similarity lies between  <dig> and  <dig>  the associated dissimilarity is  <dig> – similarity.
figure  <dig> illustrates the simui distance between two yeast proteins.
figure 2a shows the go bp annotation for ino4/yol108c  and figure 2b shows the go bp annotation for rsc30/yhr056c  as retrieved using go version  <dig> .
<dig> in bioconductor.
the  <dig> go terms found in both induced go graphs are highlighted in blue and there are  <dig> unique go terms in total.
therefore, the graph similarity between ino4/yol108c and rsc30/yhr056c in go bp is  <dig> common nodes/ <dig> unique nodes =  <dig> .
clustering method and selecting k
the clustering method employed is partitioning around medoids  .
the medoid of a cluster is the protein with smallest average dissimilarity to all other objects in the cluster.
it is important to note that the medoid is an actual protein as opposed to an abstract entity such as the cluster mean and thus we find this feature is helpful in describing the clusters.
for a specified number of clusters k, pam begins by arbitrarily selecting k proteins to be medoids.
it then forms clusters by grouping each protein with the closest medoid.
the medoids are then recalculated and the proteins regrouped, and so on until the clusters cease to change.
the number of clusters, k, must be specified in advance of the clustering step.
a review of  <dig> procedures for estimating k is given by milligan and cooper   <cit> .
dudoid and fridlyand  discuss several methods in the context of gene expression data  <cit> .
unfortunately, none of the available methods are completely satisfactory and there is no consensus about the choice of method.
we have adopted a very common method that selects k to maximize the average silhouette .
this method was chosen because it utilizes the same framework employed in interpreting the clusters.
cluster analysis is a descriptive technique that can reveal associations that may not be noticed otherwise.
a larger value of k produces smaller clusters; a small cluster may be less informative in that it forms connections between fewer proteins and thus is less likely to point out novel associations.
a small value of k can produce large clusters which may display associations that do not really exist in the underlying biology.
therefore, we have followed the default settings in the silcheck method in bioconductor and limited the maximum number of clusters to  <dig>  additional subdivision of clusters can be based on biological knowledge or supplementary analysis, such as inspecting inter-protein go distances or further cluster analysis within a protein cluster.
many of the methods for estimating k and cluster reproducibility depend on some form of resampling, such as resampling expression arrays, and are not applicable in the context of go similarity.
silhouette widths and silhouette plots
we assess our clustering results using the silhouette plot, which graphically illustrates the strength of the clustering for the entire data set, of each cluster and of the association of each protein to the cluster to which it is assigned .
we label each cluster in the silhouette plot with the go annotation of the protein selected as the medoid to provide a first glance at the annotation patterns uncovered by clustering.
there are three types of silhouette widths found on a silhouette plot.
the silhouette width for each object  in the data set  measures how well the object fits in the cluster to which it was assigned.
for each object i, ai = average dissimilarity between i and all other objects of the cluster to which i belongs.
thus, if there is only one object in a cluster, si =  <dig> without further calculation.
for all other clusters c , dic = average dissimilarity of i to all observations in c. then bi = the smallest value of dic and thus represents the dissimilarity between i and its neighbour cluster, the nearest cluster to which i does not belong.
finally,
si=max⁡
mathtype@mtef@5@5@+=feaafiart1ev1aaatcvaufkttlearuwrp9mdh5mbpbiqv92aaexatlxbi9gbaebbnrfifhhdyfgasaach8aky=wiffydh8gipec8eeeu0xxdbba9frfj0=oqffea0dxdd9vqai=hguq8kuc9pgc9s8qqaq=dirpe0xb9q8qilsfr0=vr0=vr0dc8meaabaqaciaacagaaeqabaqabegadaaakeaacqqgzbwcdawgaawcbagaeeyaakgabeaakiabg2da9maalaaabagaeiikagiaeeoyai2aasbaasqaaiabbmgapbqabagccqghsislcqqghbqydawgaawcbagaeeyaakgabeaakiabcmcapaqaaigbc2gatjabcggahjabciha4jabcicaoiabbggahnaabaaaleaacqqgpbqaaeqaaogaeiilawiaeeoyai2aasbaasqaaiabbmgapbqabagccqggpaqkaaaaaa@4579@
the average si of each cluster  is the mean of the si values for all objects in the cluster.
the average si for the entire data set  is the mean of the si values for all objects in the set.
in general, the clustering results for the object, cluster or data set are strongest when the si, sic or sid are close to  <dig> .
more specifically, when si is close to  <dig>  the average dissimilarity of this object to other objects in its cluster is much smaller than the average dissimilarity of this object to the objects in the neighbouring cluster  <cit> .
therefore, this object appears to be assigned to the correct cluster.
when si is close to  <dig>  the object lies equally far away from its own cluster and its closest neighbouring cluster  <cit> , hence this is more likely to be an intermediate object that lies between two clusters.
alternatively, the object may legitimately belong to both clusters.
an si that is close to - <dig> indicates that the object may have been misclassified as it is much closer to the objects in another cluster than to those in its own cluster  <cit> .
similarly, an sic close to  <dig> indicates that all of the objects in that cluster are very similar whereas an sic below  <dig>  indicates that this cluster is not clearly separated from the other cluster  <cit> .
kaufman and rousseeuw describe a subjective interpretation of sid based solely on experience  <cit> .
they find that an sid of  <dig> – <dig>  indicates a reasonable to strong clustering structure has been found.
an sid of  <dig> – <dig>  indicates a weak clustering structure that could be artificial and the use of additional methods of data analysis is recommended.
an sid below  <dig>  indicates that no substantial structure has been found  <cit> .
as this is by the authors own admission a subjective interpretation, average silhouette widths that fall below  <dig>  do not always produce meaningless clustering results.
interpretation and evaluation of clusters
we evaluate our clustering results by examining the induced go graph of the proteins in a given cluster .
at this stage, scientific knowledge of the original purpose of the screen and the molecules being studied allows the assessment of whether the clustering procedure described above reveals interesting associations in cellular role, molecular function or localization for further experimentation and study.
the interpretation of the clusters may lead to a revision of the number of clusters and reiteration of the cluster analysis step.
due to the inherently close relationships between biological annotation terms and the interconnectedness within each aspect of the go, one would not expect clustering by go annotation to produce strong clustering structures with clear delineations between clusters.
therefore, we expect that any clusters identified will require further analysis using complementary methods such as examination of other cluster properties or detailed examination of the proteins in the cluster.
to validate the methodology of clustering by annotation, we compare our clustering results with an analytic approach commonly used in dna microarray analysis, identification of statistically over-represented go terms  <cit> .
we test the appropriateness of our medoid labels by determining whether the go annotation of the medoid protein is a statistically enriched go term for that cluster.
that is, if the go annotation of the medoid protein is a statistically enriched go term for the proteins in that cluster, it indicates that the medoid label accurately represents the go annotation of the proteins in that cluster.
in a separate but related approach, we test whether clustering of proteins by annotation is able to identify novel annotation patterns within the data set by comparing the go terms of the medoid proteins to the statistically enriched go terms for the entire data set.
if the medoid go terms are statistically enriched terms in the entire data set, then our approach has not provided any new information about this data set.
if, however, the medoid go terms are not statistically enriched in the entire data set, our approach has revealed novel annotation patterns within the set of molecules that would not have been identified otherwise.
RESULTS
generation of similarity matrices for sample data sets
most of the proteins in the two sample data sets  had corresponding entrez gene identifiers.
specifically,  <dig> of the  <dig> proteins in the schreiber data set and  <dig> of the  <dig> proteins in the snyder data set had gene ids.
similarity scores were calculated using bioconductor simui for each data set  for each go aspect , which generated six sets of similarity scores.
schreiber data: proteins that bind small molecule inhibitors of rapamycin can play a role in transport or redox reactions or be found in nuclear sub-complexes
screening the yeast proteome array with two different small molecules, smir <dig> and smir <dig> that were able to inhibit rapamycin, isolated  <dig> smir-binding proteins  <cit> , of which  <dig> were analysed here.
for the schreiber data set bp k =  <dig> was selected and for mf and cc k =  <dig> was selected.
pam clustering was performed for the three sets of dissimilarity scores  .
the sid for each of the three data sets is shown at the top of each figure.
each cluster is labelled with the go annotation assigned to the medoid and the sic .
the clustering structures in bp and mf were weak overall  and strong in cc .
upon further analysis, some of the clusters within each of the go aspects were informative.
the schreiber bp data set  had a weak sid as mentioned above, as did  <dig> of the  <dig> sic values.
however, schreiber bp cluster  <dig> had a strong sic of  <dig> .
we collected the go annotation for the four proteins in this cluster for further examination .
all four proteins are involved in transport.
the schreiber mf data set  had a sid just below  <dig>  which suggests that no substantial clustering structure was found.
indeed, mf clusters  <dig> and  <dig> had low sic values indicating that these clusters were not very clearly separated from other clusters.
mf cluster  <dig> had sic =  <dig> because there was only one protein in the cluster.
the two proteins in mf cluster  <dig>  were both assigned to the go: <dig> voltage-gated ion-selective channel activity and were thus a perfect cluster .
mf clusters  <dig>   <dig> and  <dig> were also small clusters containing  <dig>   <dig> and  <dig> proteins with sic values of  <dig> ,  <dig>  and  <dig> , respectively.
upon examination, it was clear that the go mf annotations for the proteins in each of these clusters are closely related.
mf clusters  <dig> and  <dig> had moderate sic values  and thus may reveal novel associations between proteins in this set that may not have been readily observed.
we examined the go annotation of the five proteins in mf cluster  <dig> in detail  and found that all of these proteins are able to catalyze redox reactions.
three of the five proteins use iron as the electron donor while a fourth chelates iron.
this may reveal a novel affinity of smir <dig> and smir <dig> for proteins that interact with double-charged iron .
the schreiber cc data set  had a strong sid value .
in fact, cc clusters  <dig> and  <dig> had perfect sic values, meaning that the proteins in these clusters have identical go cc annotation, while cc clusters  <dig>   <dig> and  <dig> also had high sic values .
we would expect that the  <dig>   <dig> and  <dig> proteins in these clusters, respectively, would have very similar cellular localization annotation.
cc clusters  <dig> and  <dig> had sic =  <dig> as both clusters contained only one protein.
we chose to examine cc cluster  <dig> in more detail as it had a moderate sic value  .
the go subgraph reveals that all four proteins are found within the nucleus, thus the clusters labels from the medoid of go: <dig> nucleus and go: <dig> nucleolus are apt.
however, there is quite specific knowledge about the complexes within the nucleus in which three of these proteins are found.
as a result, the go graph contained many detailed go cc terms causing the graph similarity between these proteins and the corresponding sic to appear lower than it might otherwise appear.
this cluster, along with mf cluster  <dig>  demonstrates that although experience using pam indicates that clusters with sic <=  <dig>  may not be interpretable, this does not hold true in all cases and protein clusters with moderate sic values should be considered for biological interpretation.
snyder data: proteins that bind phosphoinositides can be related to transport, transfer of phosphorous-containing groups or intracellular organelles
testing purified yeast proteins on an array for interaction with several phosphoinositides identified a set of  <dig> proteins  <cit> , of which  <dig> were analysed here.
for the snyder data set, k =  <dig> was selected for all three go aspects.
silhouette plots of the pam clustering results for each go aspect are labelled with sid at the top of each figure and medoid go annotation, cluster number, number of proteins in the cluster and sic for each cluster  .
the medoid labels for bp cluster  <dig>  and cc clusters  <dig> and  <dig>  are listed in the figure legend.
overall, the sid for bp and mf were low  while cc was moderate  indicating that further analysis is required.
snyder bp clusters  <dig>   <dig> and  <dig> had low sic values  .
bp cluster  <dig> contained two proteins and had a perfect sic .
the remaining bp clusters  had sic values between  <dig>  and  <dig>  suggesting that they should be examined further.
these clusters contain between  <dig> and  <dig> proteins; we selected the largest cluster, bp cluster  <dig>  for further analysis .
the graph of the go bp annotation of these eight proteins appears to uncover widely varying cellular roles but on closer examination we see that seven of the eight proteins are involved in transport.
indeed, five are annotated to progeny terms of go: <dig> intracellular transport.
it is the additional go bp annotations associated with some of the proteins in this subset, i.e.
go: <dig> chromosome segregation, go: <dig> autophagy, go: <dig> aerobic respiration and go: <dig> anaerobic respiration, that make the go graph appear complex.
snyder mf cluster  <dig> contained nine proteins whose si values range from  <dig>  to - <dig>  and thus had a sic value close to  <dig> .
mf cluster  <dig> contained  <dig> proteins and also had a very low sic value  but most of these proteins had si values above  <dig>  snyder mf cluster  <dig> had a perfect sic value and consisted of two proteins annotated to go: <dig> structural constituent of ribosome.
mf clusters  <dig> and  <dig> had moderate to high sic values .
inspection of the go annotation of the proteins in each of these clusters revealed subsets of proteins with very closely related go mf annotation .
mf clusters  <dig>   <dig>   <dig> and  <dig> had sic values ranging from  <dig>  to  <dig>  and contain between  <dig> and  <dig> proteins.
we again chose the largest cluster, mf cluster  <dig>  to examine in detail .
the go graph shows that all eleven proteins are enzymes belonging to ec class  <dig>  transferases.
although the molecules that these enzymes transfer vary from glycosyl to nitrogenous to acyl, there is a subset of six proteins that transfer phosphorous-containing groups.
many of the clusters in the snyder cc clustering result  had high sic values indicating tight clusters.
specifically, the sic values for cc clusters  <dig>   <dig>   <dig>   <dig>   <dig>   <dig> and  <dig> ranged from  <dig>  to  <dig> .
examination of the go annotation of the proteins in these clusters quickly revealed that the medoid go annotation is an accurate and useful representation.
cc cluster  <dig> had a very low sic value of  <dig>  but, as was the case with schreiber cc cluster  <dig>  the detailed biological knowledge that exists about nuclear sub-complexes allows the construction of a more detailed go tree for these terms, which then lowered the apparent similarity between these proteins.
all four proteins in snyder cc cluster  <dig> are found in nuclear complexes and three of four are known to associate with chromosomes.
we chose to illustrate examination of the go annotation with the four proteins in cc cluster  <dig>  .
three of these proteins are found in the mitochondrion, either in the mitochondrial nucleoid or mitochondrial inner membrane.
the fourth protein is found in both the cytoplasm and nuclear pore complex.
it is not surprising to see that gfd1/ymr255w, which is found in the cytoplasm and nuclear pore, has a negative si value for its assignment to this cluster  as there are few shared ancestor terms between these two terms and the mitochondrion-related terms.
however, it is surprising that pet9/ybl030c has a negative si value for its assignment to this cluster as it is assigned to the same go term as one of the other proteins in this cluster, sls1/ylr129c .
we might expect the simui similarity between these two proteins to be high since they are assigned to the same go term but sls1/ylr129c is also assigned to two other go cc terms, go: <dig> mitochondrial nucleoid and go: <dig> integral to membrane.
the induced go graph for sls1/ylr129c therefore contained many nodes that were not found in the induced go graph for pet9/ybl030c, thus reducing their simui-calculated graph similarity.
go annotation of medoid is often a statistically enriched go term for the corresponding cluster
we investigated whether the go annotations of the proteins selected as the medoids, which are used as cluster labels, are actually representative of the annotation of the proteins assigned to the cluster by comparing the medoid go terms to the statistically enriched go terms for each cluster.
identifying statistically enriched go terms for a set of molecules is a common method of analysis for microarray results  <cit> .
in this method, the go annotation of a selected subset of molecules is compared to the go annotation of a reference set of molecules  and any term or any of its ancestor terms that occur more often in the selected subset than in the reference set are said to be statistically enriched.
if the go annotation of the medoid is representative of the annotation of the proteins in the cluster, we would expect the cluster label go terms or closely related go terms to be statistically enriched for that cluster.
we employed funspec, a free online tool that identifies statistically enriched annotation for yeast molecules via hypergeometric distribution  <cit> .
first we submitted the list of molecules for each of the  <dig> clusters  to funspec  <cit>  and collected the statistically enriched go terms from the relevant go aspect .
we found that  <dig> of  <dig> clusters had one or more statistically enriched go terms .
for  <dig> of  <dig> clusters, the medoid go term chosen as the cluster label was  the statistically enriched go term.
for  <dig> of the  <dig> remaining clusters, one or more of the statistically enriched go terms was an ancestor or progeny term of the medoid go term, indicating that the medoid go term is related to the statistically enriched go terms.
indeed,  <dig> of  <dig> related terms were direct parent terms of the medoid go term.
in summary, 78%  of the cluster labels selected by pam are statistically enriched go terms for their cluster and are thus appropriate and useful go terms to apply as cluster labels.
go annotation of medoid proteins uncover patterns not found in statistically enriched go terms for the data set
we then examined whether the approach of clustering proteins by their annotation revealed patterns in the protein set that were not revealed by existing methods.
as mentioned, sets of genes identified in dna microarray experiments are often examined for statistically over-represented go terms.
we hypothesized that if the clustering is able to uncover new annotation patterns, the go terms assigned to the medoid proteins or closely related go terms would be distinct from the list of go terms over-represented in the entire data set.
we submitted six lists of proteins representing the protein sets that were clustered for each of the two data sets for each of the three go aspects.
the number of proteins was slightly different for each go aspect from the same dataset because proteins that were annotated to unknown go terms  were excluded.
thus, the following six sets were submitted to funspec:  schreiber bp –  <dig> proteins,  schreiber mf –  <dig> proteins,  schreiber cc –  <dig> proteins,  snyder bp –  <dig> proteins,  snyder mf –  <dig> proteins and  snyder cc –  <dig> proteins.
we searched the list of statistically enriched go terms for each of these six data sets for the go terms assigned to the medoid proteins.
only  <dig> of the  <dig> medoid go terms were found to also be statistically enriched when examining the entire data set.
even if we expanded the search to look for any ancestors or progeny of the medoid go terms, only  <dig> of  <dig> cluster labels  are identified by funspec as statistically over-represented.
this suggests that the process of clustering the proteins by their go annotation and selection of a representative go term with which to label each cluster is a valuable and useful way to identify novel annotation patterns within the data set that are not identified by existing methods.
discussion
compared to listing the statistically enriched go terms for a set of molecules, this novel approach generates sets of related molecules labelled with representative go terms that are in fact assigned to one of the molecules in the set.
the go annotations of the medoid proteins help to uncover patterns that are not identified by searching for statistically enriched go terms.
these labelled subsets make the annotation patterns found within the set of molecules much more readily apparent than annotation patterns represented in a dag.
we examined a set of proteins identified by their ability to interact with one of two small molecule inhibitors of rapamycin  <cit> .
one subset was found to contain four proteins involved in transport.
it is known that mammalian target of rapamycin  is involved in nutrient and protein transport  <cit>  and that rapamycin inhibits this function of the mtor pathway.
thus it is reasonable that small molecules that inhibit the effect of rapamycin on the cell could also affect transport pathways.
another subset contained four proteins that bind fe2+.
it has been shown that removal of growth factors can cause a loss of surface transporters for several types of molecules, including iron  <cit> .
by exogenously stimulating growth factor receptor pathways, an mtor-dependent mechanism can maintain these transporters on the cell surface.
thus, it would be interesting to investigate whether the subset of proteins identified here are involved in the regulation of cell surface iron transporters by the mtor pathway.
a final subset contains four proteins known to be located in nuclear complexes.
study of these proteins may reveal the mechanisms by which the mtor pathway is involved in various nuclear events such as dna damage and transcription  <cit> .
we also examined a set of proteins known to interact with phospholipids  <cit> .
we identified a subset of seven proteins that are involved in different types of transport.
many of the processes involve intracellular membrane-bound compartments such as golgi apparatus, mitochondria and vacuole.
thus, it is reasonable to expect that these proteins bind phospholipids in the membranes of these compartments.
we also identified a group of eleven transferases, of which six transfer phosphorous-containing groups.
many protein kinases that are involved in signal transduction are known to bind and be regulated by phospholipids  <cit> .
thus it would be interesting to investigate whether the activity of these kinases are regulated by their interaction with phospholipids.
lastly, we identified a cluster of four proteins with phospholipid-binding ability that are localized to the mitochondrial inner membrane or the membrane-integral nuclear pore complex, both of which are phospholipid-containing structures.
examination of these proteins may determine whether their localization depends on their ability to bind phospholipids.
for both of these data sets, our analysis revealed annotation patterns that were not identified by the authors in the original article nor were they identified by an existing method for analysing the annotation of sets of molecules.
indeed, the annotation patterns that were identified themselves suggest potential follow-up experiments to examine the mechanisms and impact of the interactions identified in the protein array screens.
we are currently working to create a web-based software tool to automate this method of analysis.
in principle, this method does not only apply to protein array results but could also be used to analyse any set of genes or proteins.
preliminary work to analyse two protein datasets from higher organisms shows, not unexpectedly, that fewer of the proteins in the dataset have go annotation than was found to be the case with the yeast datasets but that clusters maintain moderate to high sic values  .
while the annotation of proteins from higher organisms is not as comprehensive as the annotation of yeast proteins, we have found that analysis of the existing publicly available go annotation still produces functional themes that suggest testable hypotheses.
as annotation of higher organisms grows, the application of this analytic approach will improve.
CONCLUSIONS
the growing field of high-throughput experimentation is creating a rising need for tools that facilitate the integrated analysis of sets of molecules.
clustering can be used to identify annotation patterns within a set of proteins, such as is generated by protein array screens.
visual display of these annotation patterns can suggest new testable hypotheses as the basis for further analysis.

 the advent of high-throughput investigation of proteins using proteomic methodologies has created a need for new approaches in bioinformatic analysis of experimental results. most publicly available databases display information about proteins one record at a time. this is useful in the case where the number of proteins of interest is small. however, a set of proteins identified in a typical proteomic experiment may contain tens, hundreds or even thousands of proteins to analyse, at which point it is no longer feasible to collect information one protein at a time. in addition, there may be patterns or subsets of interest that exist within the set of proteins that are not obvious if the proteins are analysed one at a time. thus, analysis of data generated in htp experiments requires tools that allow the integrated analysis and interpretation of a collection of proteins. several freely available tools facilitate analysis of sets of proteins or gene products. pandora clusters sets of proteins according to shared annotation and displays the results as a directed acyclic graph. many types of annotation are incorporated, including gene ontology annotation. pandora provides sets of proteins or allows the user to input a list of proteins of interest. sgd provides the yeast community with the tools go term finder, go slim mapper and go annotation summary for the analysis of a protein and all its interactors as found in sgd. webgestalt permits the user to input interesting sets of genes and identify up to types of annotation to be employed. the sets can then be visualized in one of eight different ways according to the type of annotation, e.g., dag for go. separately, the annotation can be analysed using statistical tests to identify over- or under-represented categories in the specified set as compared to a reference set. goclust is a perl program used to identify proteins from a list of proteins that are annotated to a selected go term or its progeny terms. interestingly, all of the tools described above incorporate go annotation to find commonalities within a list of proteins, emphasizing the importance of using go annotation for analysing sets of molecules. yet none of these tools provide an integrated display of results facilitating interpretation of the biological meaning of the protein set annotation. clustering proteins according to shared annotation may reveal related subsets that warrant further investigation. two separate groups have clustered proteins by their annotation in order to identify incorrect annotations in curated databases. kaplan and linial measured the distance between any two proteins as a function of the number of terms that are annotated to both proteins, where less common terms, such as heat shock protein, score higher than more common terms, such as enzyme. they identified successful hierarchical clustering as the point in the hierarchy at which one of the clusters contains no false positive annotations. the similarity score used by kunin and ouzounis incorporated the ratio of common to unique terms between the annotation of two swissprot proteins and the frequency of those terms within swissprot as a whole. all proteins in swissprot were then clustered into > clusters. sequence similarity between proteins within clusters was found to be consistent overall, apart from six types of exceptions, one of which was swissprot annotation errors. as a first step towards investigating the feasibility of clustering proteins by annotation for the purpose of facilitating interpretation of htp results, we have employed a graph similarity distance measure implemented in bioconductor and partitioning around medoids clustering to examine the annotation of two published htp proteomic data sets. zhu et al., hereafter referred to as the snyder data set, demonstrated that purified proteins representing most of the yeast proteome could be immobilized on chips and tested for interaction with proteins or lipids. the primary purpose of the publication was to demonstrate that the proteome array is able to detect known interactions in addition to identifying new ones, lending support to the usefulness of the technique. in huang et al., hereafter referred to as the schreiber data set, proteins from the yeast proteome array that interacted with two small molecules of interest were tested using in vivo experiments to further examine whether the loss of the protein affected the cellular response to the presence of the inhibitors. from this, only one of interacting proteins identified was chosen for further study. here we have assembled these two sets of proteins as identified in screens of purified protein arrays and re-analysed them by clustering the proteins according to their go annotation, thus generating new hypotheses about how proteins in these sets may function within the cell. methodologies and concepts distance metric our objective is to find clusters of proteins such that the proteins within a cluster are close from a biological perspective and correspondingly far from the proteins in other clusters. the biological perspective that we choose is go annotation, and we define distance by referring to the go graph. of the many possible go-based distance metrics, we choose the simui metric included in the gostats package of bioconductor, in part because of its universal availability. this metric is based on the notion of an induced go graph and treats each of the three go aspects separately, molecular function, cellular component ). the go terms to which a protein maps constitute the leaves of the graph; thus, a protein with more than one go annotation will have more than one leaf in the induced go graph. the complete induced go graph consists of those leaves and all parents of those terms, and so on until the root node has been obtained. the graph similarity between two proteins calculated using simui equals the number of common nodes in the two induced go graphs divided by the number of nodes in the union of the two graphs, thus the similarity lies between and the associated dissimilarity is – similarity. figure illustrates the simui distance between two yeast proteins. figure 2a shows the go bp annotation for ino4/yol108c and figure 2b shows the go bp annotation for rsc30/yhr056c as retrieved using go version. in bioconductor. the go terms found in both induced go graphs are highlighted in blue and there are unique go terms in total. therefore, the graph similarity between ino4/yol108c and rsc30/yhr056c in go bp is common nodes/ unique nodes =. clustering method and selecting k the clustering method employed is partitioning around medoids. the medoid of a cluster is the protein with smallest average dissimilarity to all other objects in the cluster. it is important to note that the medoid is an actual protein as opposed to an abstract entity such as the cluster mean and thus we find this feature is helpful in describing the clusters. for a specified number of clusters k, pam begins by arbitrarily selecting k proteins to be medoids. it then forms clusters by grouping each protein with the closest medoid. the medoids are then recalculated and the proteins regrouped, and so on until the clusters cease to change. the number of clusters, k, must be specified in advance of the clustering step. a review of procedures for estimating k is given by milligan and cooper. dudoid and fridlyand discuss several methods in the context of gene expression data. unfortunately, none of the available methods are completely satisfactory and there is no consensus about the choice of method. we have adopted a very common method that selects k to maximize the average silhouette. this method was chosen because it utilizes the same framework employed in interpreting the clusters. cluster analysis is a descriptive technique that can reveal associations that may not be noticed otherwise. a larger value of k produces smaller clusters; a small cluster may be less informative in that it forms connections between fewer proteins and thus is less likely to point out novel associations. a small value of k can produce large clusters which may display associations that do not really exist in the underlying biology. therefore, we have followed the default settings in the silcheck method in bioconductor and limited the maximum number of clusters to additional subdivision of clusters can be based on biological knowledge or supplementary analysis, such as inspecting inter-protein go distances or further cluster analysis within a protein cluster. many of the methods for estimating k and cluster reproducibility depend on some form of resampling, such as resampling expression arrays, and are not applicable in the context of go similarity. silhouette widths and silhouette plots we assess our clustering results using the silhouette plot, which graphically illustrates the strength of the clustering for the entire data set, of each cluster and of the association of each protein to the cluster to which it is assigned. we label each cluster in the silhouette plot with the go annotation of the protein selected as the medoid to provide a first glance at the annotation patterns uncovered by clustering. there are three types of silhouette widths found on a silhouette plot. the silhouette width for each object in the data set measures how well the object fits in the cluster to which it was assigned. for each object i, ai = average dissimilarity between i and all other objects of the cluster to which i belongs. thus, if there is only one object in a cluster, si = without further calculation. for all other clusters c, dic = average dissimilarity of i to all observations in c. then bi = the smallest value of dic and thus represents the dissimilarity between i and its neighbour cluster, the nearest cluster to which i does not belong. finally, si=max⁡ mathtype@mtef@5@5@+=feaafiart1ev1aaatcvaufkttlearuwrp9mdh5mbpbiqv92aaexatlxbi9gbaebbnrfifhhdyfgasaach8aky=wiffydh8gipec8eeeu0xxdbba9frfj0=oqffea0dxdd9vqai=hguq8kuc9pgc9s8qqaq=dirpe0xb9q8qilsfr0=vr0=vr0dc8meaabaqaciaacagaaeqabaqabegadaaakeaacqqgzbwcdawgaawcbagaeeyaakgabeaakiabg2da9maalaaabagaeiikagiaeeoyai2aasbaasqaaiabbmgapbqabagccqghsislcqqghbqydawgaawcbagaeeyaakgabeaakiabcmcapaqaaigbc2gatjabcggahjabciha4jabcicaoiabbggahnaabaaaleaacqqgpbqaaeqaaogaeiilawiaeeoyai2aasbaasqaaiabbmgapbqabagccqggpaqkaaaaaa@4579@ the average si of each cluster is the mean of the si values for all objects in the cluster. the average si for the entire data set is the mean of the si values for all objects in the set. in general, the clustering results for the object, cluster or data set are strongest when the si, sic or sid are close to. more specifically, when si is close to the average dissimilarity of this object to other objects in its cluster is much smaller than the average dissimilarity of this object to the objects in the neighbouring cluster. therefore, this object appears to be assigned to the correct cluster. when si is close to the object lies equally far away from its own cluster and its closest neighbouring cluster, hence this is more likely to be an intermediate object that lies between two clusters. alternatively, the object may legitimately belong to both clusters. an si that is close to - indicates that the object may have been misclassified as it is much closer to the objects in another cluster than to those in its own cluster. similarly, an sic close to indicates that all of the objects in that cluster are very similar whereas an sic below indicates that this cluster is not clearly separated from the other cluster. kaufman and rousseeuw describe a subjective interpretation of sid based solely on experience. they find that an sid of – indicates a reasonable to strong clustering structure has been found. an sid of – indicates a weak clustering structure that could be artificial and the use of additional methods of data analysis is recommended. an sid below indicates that no substantial structure has been found. as this is by the authors own admission a subjective interpretation, average silhouette widths that fall below do not always produce meaningless clustering results. interpretation and evaluation of clusters we evaluate our clustering results by examining the induced go graph of the proteins in a given cluster. at this stage, scientific knowledge of the original purpose of the screen and the molecules being studied allows the assessment of whether the clustering procedure described above reveals interesting associations in cellular role, molecular function or localization for further experimentation and study. the interpretation of the clusters may lead to a revision of the number of clusters and reiteration of the cluster analysis step. due to the inherently close relationships between biological annotation terms and the interconnectedness within each aspect of the go, one would not expect clustering by go annotation to produce strong clustering structures with clear delineations between clusters. therefore, we expect that any clusters identified will require further analysis using complementary methods such as examination of other cluster properties or detailed examination of the proteins in the cluster. to validate the methodology of clustering by annotation, we compare our clustering results with an analytic approach commonly used in dna microarray analysis, identification of statistically over-represented go terms. we test the appropriateness of our medoid labels by determining whether the go annotation of the medoid protein is a statistically enriched go term for that cluster. that is, if the go annotation of the medoid protein is a statistically enriched go term for the proteins in that cluster, it indicates that the medoid label accurately represents the go annotation of the proteins in that cluster. in a separate but related approach, we test whether clustering of proteins by annotation is able to identify novel annotation patterns within the data set by comparing the go terms of the medoid proteins to the statistically enriched go terms for the entire data set. if the medoid go terms are statistically enriched terms in the entire data set, then our approach has not provided any new information about this data set. if, however, the medoid go terms are not statistically enriched in the entire data set, our approach has revealed novel annotation patterns within the set of molecules that would not have been identified otherwise.  generation of similarity matrices for sample data sets most of the proteins in the two sample data sets had corresponding entrez gene identifiers. specifically, of the proteins in the schreiber data set and of the proteins in the snyder data set had gene ids. similarity scores were calculated using bioconductor simui for each data set for each go aspect, which generated six sets of similarity scores. schreiber data: proteins that bind small molecule inhibitors of rapamycin can play a role in transport or redox reactions or be found in nuclear sub-complexes screening the yeast proteome array with two different small molecules, smir and smir that were able to inhibit rapamycin, isolated smir-binding proteins, of which were analysed here. for the schreiber data set bp k = was selected and for mf and cc k = was selected. pam clustering was performed for the three sets of dissimilarity scores. the sid for each of the three data sets is shown at the top of each figure. each cluster is labelled with the go annotation assigned to the medoid and the sic. the clustering structures in bp and mf were weak overall and strong in cc. upon further analysis, some of the clusters within each of the go aspects were informative. the schreiber bp data set had a weak sid as mentioned above, as did of the sic values. however, schreiber bp cluster had a strong sic of. we collected the go annotation for the four proteins in this cluster for further examination. all four proteins are involved in transport. the schreiber mf data set had a sid just below which suggests that no substantial clustering structure was found. indeed, mf clusters and had low sic values indicating that these clusters were not very clearly separated from other clusters. mf cluster had sic = because there was only one protein in the cluster. the two proteins in mf cluster were both assigned to the go: voltage-gated ion-selective channel activity and were thus a perfect cluster. mf clusters and were also small clusters containing and proteins with sic values of, and, respectively. upon examination, it was clear that the go mf annotations for the proteins in each of these clusters are closely related. mf clusters and had moderate sic values and thus may reveal novel associations between proteins in this set that may not have been readily observed. we examined the go annotation of the five proteins in mf cluster in detail and found that all of these proteins are able to catalyze redox reactions. three of the five proteins use iron as the electron donor while a fourth chelates iron. this may reveal a novel affinity of smir and smir for proteins that interact with double-charged iron. the schreiber cc data set had a strong sid value. in fact, cc clusters and had perfect sic values, meaning that the proteins in these clusters have identical go cc annotation, while cc clusters and also had high sic values. we would expect that the and proteins in these clusters, respectively, would have very similar cellular localization annotation. cc clusters and had sic = as both clusters contained only one protein. we chose to examine cc cluster in more detail as it had a moderate sic value. the go subgraph reveals that all four proteins are found within the nucleus, thus the clusters labels from the medoid of go: nucleus and go: nucleolus are apt. however, there is quite specific knowledge about the complexes within the nucleus in which three of these proteins are found. as a result, the go graph contained many detailed go cc terms causing the graph similarity between these proteins and the corresponding sic to appear lower than it might otherwise appear. this cluster, along with mf cluster demonstrates that although experience using pam indicates that clusters with sic <= may not be interpretable, this does not hold true in all cases and protein clusters with moderate sic values should be considered for biological interpretation. snyder data: proteins that bind phosphoinositides can be related to transport, transfer of phosphorous-containing groups or intracellular organelles testing purified yeast proteins on an array for interaction with several phosphoinositides identified a set of proteins, of which were analysed here. for the snyder data set, k = was selected for all three go aspects. silhouette plots of the pam clustering results for each go aspect are labelled with sid at the top of each figure and medoid go annotation, cluster number, number of proteins in the cluster and sic for each cluster. the medoid labels for bp cluster and cc clusters and are listed in the figure legend. overall, the sid for bp and mf were low while cc was moderate indicating that further analysis is required. snyder bp clusters and had low sic values. bp cluster contained two proteins and had a perfect sic. the remaining bp clusters had sic values between and suggesting that they should be examined further. these clusters contain between and proteins; we selected the largest cluster, bp cluster for further analysis. the graph of the go bp annotation of these eight proteins appears to uncover widely varying cellular roles but on closer examination we see that seven of the eight proteins are involved in transport. indeed, five are annotated to progeny terms of go: intracellular transport. it is the additional go bp annotations associated with some of the proteins in this subset, i.e. go: chromosome segregation, go: autophagy, go: aerobic respiration and go: anaerobic respiration, that make the go graph appear complex. snyder mf cluster contained nine proteins whose si values range from to - and thus had a sic value close to. mf cluster contained proteins and also had a very low sic value but most of these proteins had si values above snyder mf cluster had a perfect sic value and consisted of two proteins annotated to go: structural constituent of ribosome. mf clusters and had moderate to high sic values. inspection of the go annotation of the proteins in each of these clusters revealed subsets of proteins with very closely related go mf annotation. mf clusters and had sic values ranging from to and contain between and proteins. we again chose the largest cluster, mf cluster to examine in detail. the go graph shows that all eleven proteins are enzymes belonging to ec class transferases. although the molecules that these enzymes transfer vary from glycosyl to nitrogenous to acyl, there is a subset of six proteins that transfer phosphorous-containing groups. many of the clusters in the snyder cc clustering result had high sic values indicating tight clusters. specifically, the sic values for cc clusters and ranged from to. examination of the go annotation of the proteins in these clusters quickly revealed that the medoid go annotation is an accurate and useful representation. cc cluster had a very low sic value of but, as was the case with schreiber cc cluster the detailed biological knowledge that exists about nuclear sub-complexes allows the construction of a more detailed go tree for these terms, which then lowered the apparent similarity between these proteins. all four proteins in snyder cc cluster are found in nuclear complexes and three of four are known to associate with chromosomes. we chose to illustrate examination of the go annotation with the four proteins in cc cluster. three of these proteins are found in the mitochondrion, either in the mitochondrial nucleoid or mitochondrial inner membrane. the fourth protein is found in both the cytoplasm and nuclear pore complex. it is not surprising to see that gfd1/ymr255w, which is found in the cytoplasm and nuclear pore, has a negative si value for its assignment to this cluster as there are few shared ancestor terms between these two terms and the mitochondrion-related terms. however, it is surprising that pet9/ybl030c has a negative si value for its assignment to this cluster as it is assigned to the same go term as one of the other proteins in this cluster, sls1/ylr129c. we might expect the simui similarity between these two proteins to be high since they are assigned to the same go term but sls1/ylr129c is also assigned to two other go cc terms, go: mitochondrial nucleoid and go: integral to membrane. the induced go graph for sls1/ylr129c therefore contained many nodes that were not found in the induced go graph for pet9/ybl030c, thus reducing their simui-calculated graph similarity. go annotation of medoid is often a statistically enriched go term for the corresponding cluster we investigated whether the go annotations of the proteins selected as the medoids, which are used as cluster labels, are actually representative of the annotation of the proteins assigned to the cluster by comparing the medoid go terms to the statistically enriched go terms for each cluster. identifying statistically enriched go terms for a set of molecules is a common method of analysis for microarray results. in this method, the go annotation of a selected subset of molecules is compared to the go annotation of a reference set of molecules and any term or any of its ancestor terms that occur more often in the selected subset than in the reference set are said to be statistically enriched. if the go annotation of the medoid is representative of the annotation of the proteins in the cluster, we would expect the cluster label go terms or closely related go terms to be statistically enriched for that cluster. we employed funspec, a free online tool that identifies statistically enriched annotation for yeast molecules via hypergeometric distribution. first we submitted the list of molecules for each of the clusters to funspec and collected the statistically enriched go terms from the relevant go aspect. we found that of clusters had one or more statistically enriched go terms. for of clusters, the medoid go term chosen as the cluster label was the statistically enriched go term. for of the remaining clusters, one or more of the statistically enriched go terms was an ancestor or progeny term of the medoid go term, indicating that the medoid go term is related to the statistically enriched go terms. indeed, of related terms were direct parent terms of the medoid go term. in summary, 78% of the cluster labels selected by pam are statistically enriched go terms for their cluster and are thus appropriate and useful go terms to apply as cluster labels. go annotation of medoid proteins uncover patterns not found in statistically enriched go terms for the data set we then examined whether the approach of clustering proteins by their annotation revealed patterns in the protein set that were not revealed by existing methods. as mentioned, sets of genes identified in dna microarray experiments are often examined for statistically over-represented go terms. we hypothesized that if the clustering is able to uncover new annotation patterns, the go terms assigned to the medoid proteins or closely related go terms would be distinct from the list of go terms over-represented in the entire data set. we submitted six lists of proteins representing the protein sets that were clustered for each of the two data sets for each of the three go aspects. the number of proteins was slightly different for each go aspect from the same dataset because proteins that were annotated to unknown go terms were excluded. thus, the following six sets were submitted to funspec: schreiber bp – proteins, schreiber mf – proteins, schreiber cc – proteins, snyder bp – proteins, snyder mf – proteins and snyder cc – proteins. we searched the list of statistically enriched go terms for each of these six data sets for the go terms assigned to the medoid proteins. only of the medoid go terms were found to also be statistically enriched when examining the entire data set. even if we expanded the search to look for any ancestors or progeny of the medoid go terms, only of cluster labels are identified by funspec as statistically over-represented. this suggests that the process of clustering the proteins by their go annotation and selection of a representative go term with which to label each cluster is a valuable and useful way to identify novel annotation patterns within the data set that are not identified by existing methods. discussion compared to listing the statistically enriched go terms for a set of molecules, this novel approach generates sets of related molecules labelled with representative go terms that are in fact assigned to one of the molecules in the set. the go annotations of the medoid proteins help to uncover patterns that are not identified by searching for statistically enriched go terms. these labelled subsets make the annotation patterns found within the set of molecules much more readily apparent than annotation patterns represented in a dag. we examined a set of proteins identified by their ability to interact with one of two small molecule inhibitors of rapamycin. one subset was found to contain four proteins involved in transport. it is known that mammalian target of rapamycin is involved in nutrient and protein transport and that rapamycin inhibits this function of the mtor pathway. thus it is reasonable that small molecules that inhibit the effect of rapamycin on the cell could also affect transport pathways. another subset contained four proteins that bind fe2+. it has been shown that removal of growth factors can cause a loss of surface transporters for several types of molecules, including iron. by exogenously stimulating growth factor receptor pathways, an mtor-dependent mechanism can maintain these transporters on the cell surface. thus, it would be interesting to investigate whether the subset of proteins identified here are involved in the regulation of cell surface iron transporters by the mtor pathway. a final subset contains four proteins known to be located in nuclear complexes. study of these proteins may reveal the mechanisms by which the mtor pathway is involved in various nuclear events such as dna damage and transcription. we also examined a set of proteins known to interact with phospholipids. we identified a subset of seven proteins that are involved in different types of transport. many of the processes involve intracellular membrane-bound compartments such as golgi apparatus, mitochondria and vacuole. thus, it is reasonable to expect that these proteins bind phospholipids in the membranes of these compartments. we also identified a group of eleven transferases, of which six transfer phosphorous-containing groups. many protein kinases that are involved in signal transduction are known to bind and be regulated by phospholipids. thus it would be interesting to investigate whether the activity of these kinases are regulated by their interaction with phospholipids. lastly, we identified a cluster of four proteins with phospholipid-binding ability that are localized to the mitochondrial inner membrane or the membrane-integral nuclear pore complex, both of which are phospholipid-containing structures. examination of these proteins may determine whether their localization depends on their ability to bind phospholipids. for both of these data sets, our analysis revealed annotation patterns that were not identified by the authors in the original article nor were they identified by an existing method for analysing the annotation of sets of molecules. indeed, the annotation patterns that were identified themselves suggest potential follow-up experiments to examine the mechanisms and impact of the interactions identified in the protein array screens. we are currently working to create a web-based software tool to automate this method of analysis. in principle, this method does not only apply to protein array results but could also be used to analyse any set of genes or proteins. preliminary work to analyse two protein datasets from higher organisms shows, not unexpectedly, that fewer of the proteins in the dataset have go annotation than was found to be the case with the yeast datasets but that clusters maintain moderate to high sic values. while the annotation of proteins from higher organisms is not as comprehensive as the annotation of yeast proteins, we have found that analysis of the existing publicly available go annotation still produces functional themes that suggest testable hypotheses. as annotation of higher organisms grows, the application of this analytic approach will improve.  the growing field of high-throughput experimentation is creating a rising need for tools that facilitate the integrated analysis of sets of molecules. clustering can be used to identify annotation patterns within a set of proteins, such as is generated by protein array screens. visual display of these annotation patterns can suggest new testable hypotheses as the basis for further analysis. 
in the first set of proteins found to bind small molecule inhibitors of rapamycin, we identified three subsets containing four or five proteins each that may help to elucidate how rapamycin affects cell growth whereas the original authors chose only one novel protein from the array results for further study. the distance between any two proteins was measured as the graph similarity between their gene ontology annotations. although there are several publicly available tools that facilitate the analysis of protein sets, they do not display integrated results in an easily-interpreted image or do not allow the user to specify the proteins to be analysed. as proof of principle, we analysed two sets of proteins identified in published protein array screens. in an era of increasingly complex datasets, such tools will help in the formulation of new, testable hypotheses from high-throughput experimental data.
 with the advent of high-throughput proteomic experiments such as arrays of purified proteins comes the need to analyse sets of proteins as an ensemble, as opposed to the traditional one-protein-at-a-time approach. although there are several publicly available tools that facilitate the analysis of protein sets, they do not display integrated results in an easily-interpreted image or do not allow the user to specify the proteins to be analysed.  we developed a novel computational approach to analyse the annotation of sets of molecules. as proof of principle, we analysed two sets of proteins identified in published protein array screens. the distance between any two proteins was measured as the graph similarity between their gene ontology annotations. these distances were then clustered to highlight subsets of proteins sharing related go annotation. in the first set of proteins found to bind small molecule inhibitors of rapamycin, we identified three subsets containing four or five proteins each that may help to elucidate how rapamycin affects cell growth whereas the original authors chose only one novel protein from the array results for further study. in a set of phosphoinositide-binding proteins, we identified subsets of proteins associated with different intracellular structures that were not highlighted by the analysis performed in the original publication.  by determining the distances between annotations, our methodology reveals trends and enrichment of proteins of particular functions within high-throughput datasets at a higher sensitivity than perusal of end-point annotations. in an era of increasingly complex datasets, such tools will help in the formulation of new, testable hypotheses from high-throughput experimental data. 