<title>Background</title> <p>Proteins are fundamental to the complex molecular and biochemical processes taking place within organisms. An understanding of their role is therefore critical in biology and bio-related areas, for purposes ranging from general knowledge to the development of targeted medicine and diagnostics. High-throughput sequencing technology has identified a tremendous number of genes with no known functional annotation. On average, as many as 70% of the genes in a genome have poorly known or unknown functions [##REF##17160037##1##]. Not surprisingly, therefore, the prediction of protein function has become an important and urgent problem in functional genomics.</p> <p>Protein function prediction can take many forms. The traditional and most popular methodologies use homology modeling and sequence similarity to infer biochemical function [##REF##14681378##2##,##REF##9254694##3##]. In simple cases, such as certain families of ribosomal proteins, globins, kinases or caspases, these procedures work reasonably well. Sequence similarity has been used with great success for inference of molecular function. For biological process and pathway annotation, guilt by association using functional linkage methods has been a popular choice in recent years.</p> <p>For example, microarrays are often used to cluster proteins into groups of genes that respond concordantly to a given environmental stimuli. When these groups are strongly enriched in proteins in a given biological process such as insulin signaling and also contain proteins without annotation we often take the leap of faith and predict the unknown proteins to be associated with this process as well. Similarly, when two proteins are found to interact in a high throughput assay we also tend to use this as evidence of functional linkage.</p> <p>However, enrichment and guilt by association are often highly misleading and can lead to a very high false positive rate if not used with caution. The work in [##REF##12855458##4##] and several other papers, e.g., [##REF##12826619##5##, ####REF##15567862##6##, ##REF##17396164##7####17396164##7##], attempted to frame these inference problems in a precise network-based probabilistic framework. Here we attempt to make a fundamental advance in this area, by augmenting the network-based perspective to additionally make explicit use of the structure of the GO hierarchy to compute more precise probabilities, thereby improving on the quality of predictions made by the inference algorithms.</p> <p>More broadly, the work in this paper is important in demonstrating that an important role can be played in this context by the knowledge captured in biological ontologies, when properly harnessed. That this should be the case is not obvious <italic>a priori</italic>. For example, while many scientists use GO in their daily research, it can be (and has been) claimed that overlap among categories, as well as the inherent ambiguity and semantic complexity of naming biological functions and processes, can frequently lead to misleading interpretations and wild goose chases. Classic statistical approaches are based on flat disjoint categories, and quantitative measures of annotation similarity such as through semantic similarity remain somewhat <italic>ad hoc</italic>.</p> <p>Nevertheless, despite such concerns, our work here shows that in the present context of automated protein function prediction, the leverage of hierarchies grounded in biological ontologies can yield real, quantifiable advantages over 'flat' network-based approaches.</p> <title>Objective</title> <p>Computational protein function prediction is typically treated as a classification problem. From this perspective, given a protein <italic>i </italic>and the label <italic>G </italic>of a potential function for that protein, the goal is to predict whether or not <italic>i </italic>has label <italic>G</italic>, using a classifier built from a set of training cases and additional related data. Such related data can be of many types (e.g., protein interaction data, gene expression data, protein localization data) but often can be summarized in the form of a functional linkage graph (e.g., protein-protein interaction network, gene association network). The labels <italic>G </italic>typically derive from a database of terms.</p> <p>Protein-protein interaction (PPI) data are common, and have been used widely in the protein function prediction problem. A functional linkage graph is used to represent the information in the PPI, where nodes represent proteins and edges indicate pairwise interactions, as in Fig. ##FIG##0##1(a)##. Numerous studies have demonstrated that proteins sharing similar functional annotations tend to interact more frequently than proteins which do not share them, both as members in relatively fixed complexes, e.g. the ribosome, or as transient interactors, such as kinases and substrates in signal transduction networks. Hence, it is natural to want to take advantage of the neighborhood information to predict protein functions. For example, to predict for the protein with a question mark in the center in Fig. ##FIG##0##1(a)##, we can try to utilize any known functional annotations of its neighbors, i.e., the proteins directly interacting with it.</p> <p>Databases of labels <italic>G </italic>are commonly structured in a hierarchical form (more formally, as a directed acyclic graph (DAG)). The Gene Ontology (GO) database is one such example <ext-link ext-link-type="uri" xlink:href="http://www.geneontology.org/"/>. Viewed as a DAG, nodes represent labels and a link represents the <italic>is_a </italic>and <italic>part_of </italic>relations between labels. Function assignments to proteins must obey the <italic>true-path rule</italic>: if a child term (i.e., more specific term) describes the gene product, then all its parent terms (i.e., less specific terms) must also apply to that gene product. Fig. ##FIG##0##1(b)## shows a small schematic illustration. For any protein labeled with term <italic>A</italic>, it may or may not have term <italic>D</italic>, the child of <italic>A</italic>; on the other hand, if it does not have term <italic>A</italic>, it surely does not have <italic>D</italic>.</p> <p>This annotation rule suggests that when predicting the label of a term in the hierarchy, it is helpful to first consider whether the protein has the parent term or not. Thus, informative are not only the neighbors labeled with the term of interest but also those labeled with the parent. For instance, to predict the label of term <italic>D </italic>for the central protein in Fig. ##FIG##0##1(a)##, we want to use both the neighbors labeled with <italic>A </italic>and the neighbors labeled with <italic>D</italic>. The exploitation of GO hierarchy is not novel, and indeed is natural. It has been used in functional annotation of genes, as mentioned in the Related Work section, as well as for other purposes, such as identifying over- and under-representation of GO terms in a gene dataset, and clustering functionally related genes [##REF##14962934##8##, ####REF##15297299##9##, ##REF##15575967##10####15575967##10##].</p> <p>As currently practiced in most instances, prediction of protein function is done with classifiers trained separately for each possible label <italic>G</italic>, as in [##REF##12855458##4##,##REF##17396164##7##,##REF##15130933##11##,##REF##15285902##12##]. (Please also see the section of Related Work.) But, as just discussed, the overall collection of labels to be assigned generally has a <italic>hierarchical </italic>structure to it i.e., the labels are related to each other in a specific manner. This structure typically is enforced only after producing an initial set of predictions, as post-processing steps, either using transitive closure, [##REF##12855458##4##], or using more sophisticated methods, [##REF##16410319##13##,##UREF##0##14##].</p> <p>To further illustrate this, we show a toy GO hierarchy in Fig. ##FIG##1##2##, which contains a root and four descendant terms A, B, C and D, where term A and B are the parents for C and D, respectively. For a given protein, the label format for the terms is "true label (predicted probability)". For example, the protein is annotated with term A but not with term D. The probabilities of having term A and D are 0.4 and 0.5, respectively.</p> <p>Most existing methods, as discussed earlier, predict protein function in a term-by-term fashion, without considering the relationship among terms. Suppose the probabilities in the plot are obtained from one of such methods. If we apply a cut-off of 0.5, which is a commonly used threshold in this field, we will predict that the protein is NOT annotated with term A, since the probability of having A is 0.4, less than 0.5; and is annotated with A's child C. This violates <italic>the true-path rule</italic>, since if the protein is predicted not having term A, then it is not having any of A's descendent terms. On the other hand, the protein is predicted to be labeled with both terms B and D, with probabilities of 0.7 and 0.5, respectively, which obeys <italic>the true-path rule</italic>, with the prediction on D as a false positive. Such a violation to <italic>the true-path rule </italic>is not uncommon.</p> <p>The basic premise of this paper is that reference to this hierarchical relationship among labels is best incorporated in the initial stage of constructing a classifier, as a valuable source of information in and of itself. Our objective here is to demonstrate the power of this premise and to show that it may be tapped in the form of a single, coherent probabilistic classifier. In particular, we develop a probability model that integrates relational data and a hierarchy of labels, and illustrate its advantages in predicting protein function using a PPI network and the Gene Ontology (GO) hierarchy.</p> <title>Related Work</title> <p>Many methodologies have been proposed to predict protein functions. Most of the earlier methods tend to use a single source of protein information, such as PPI. Typical examples include the "Nearest-Neighbor" algorithm, also known as "guilt-by-association" principle, and the Binomial-Neighborhood (BN) method [##REF##12855458##4##].</p> <p>These earlier methods were followed later by a surge of interest in combining heterogeneous sources of protein information. For example, a machine learning approach integrating datasets of PPI, gene expression, hydropathy profile and amino acid sequences, in the form of different kernels, has been introduced [##REF##15130933##11##]. Various genome-wide data can also be employed in a Bayesian framework to produce posterior probability for function assignments [##REF##12826619##5##,##REF##15567862##6##]. And a Markov Random Field model combining PPI network and protein domain information was introduced in [##REF##15285902##12##]. A common characteristic of these methods is detecting protein functions individually, without considering the relationship among them. As remarked, a pitfall of this is that the predictions may conflict with the <italic>true-path rule </italic>of ontologies.</p> <p>Motivated in part by seminal work of [##UREF##1##15##], combining protein data and ontology structure has recently become a focus. One approach is using a Bayesian network structure to correct inconsistent function predictions, by calculating the largest posterior probability of the <italic>true-path </italic>consistent labels, given the predictions from independent classifiers for each of the proteins [##REF##16410319##13##]. Similar work has been done in [##UREF##0##14##], where multiple classifiers are built and training data are modified according to the GO hierarchy. A Bayesian model consisting of a set of nested multinomial logit models, where a prior describing correlations of parameters for nearby GO terms is trained by the hierarchy, has been proposed in [##REF##17038174##16##]. Observing the fact that a protein is actually associated with multiple GO terms, this problem can also be treated as a hierarchical multi-label classification task [##REF##16410319##13##,##UREF##2##17##]. Yielding various degrees of improvement in prediction accuracy, these methods all seek to take advantage of the hierarchical label structure. However, importantly, we note that all of those that predict at multiple depths in the GO hierarchy take a separate step to correct <italic>true-path </italic>inconsistent predictions, rather than producing them directly in a probabilistically coherent fashion.</p> <p>In summary, combining relational protein data, such as PPI, and hierarchical structures, as in GO, in one probabilistic model to predict <italic>true-path </italic>consistent function labels, has to the best of our knowledge not been done to date. This task is the focus of our work.</p>
<title>Methods</title> <p>Ontologies like GO are structured as directed acyclic graphs (DAG's), where a child term may have multiple parent terms. The DAG structure, with alternative paths from the root to internal and leaf terms, is one of the reasons that formal approaches to annotation predictions have been difficult. It is well known that computing the most likely assignment of values to variables in a DAG of size <italic>N </italic>given their conditional probabilities on the arcs is a classical NP-hard problem in graphical models. In fact, variants of this problem are actually formally harder by some theoretical considerations. Therefore, people routinely use tree approximations of probability distributions, which goes back to the work in [##UREF##3##18##]. In our work, clearly, a tree-based approach is the first step to something concrete, rather than <italic>ad hoc</italic>. We will show in the following sections that, as a way of balance, and in light of our results, it would appear that a tree is a good compromise between <italic>ad hoc </italic>and completely rigorous usage of the DAG.</p> <p>We apply a minimal spanning tree (MST) algorithm to transform a DAG into a tree-structured hierarchy, by preserving the link between the child and the parent with the heaviest weight <italic>w</italic>, where <italic>w </italic>is the empirical conditional probability of having the child term given having the parent, based on a given PPI training set. Each GO term, in such a hierarchy, may still have more than one child term, but only one parent term (if the term itself is not the root of the hierarchy).</p> <p>As a result of this transformation, there now exists a unique path from the root term to any non-root term. That is, let <italic>G</italic><sub><italic>d </italic></sub>denote a term at the <italic>d</italic>-th level below the root. For example, <italic>d </italic>= 1 if the term is a child of the root. Then in our tree-structured hierarchy there is always a unique path of the form <italic>G</italic><sub><italic>d</italic></sub>, <italic>G</italic><sub><italic>d</italic>-1</sub>, ..., <italic>G</italic><sub>1</sub>, <italic>G</italic><sub>0</sub>, with <italic>G</italic><sub>0 </sub>being the root, and <italic>G</italic><sub><italic>i</italic>-1 </sub>being the parent of <italic>G</italic><sub><italic>i</italic></sub>. For example, in Fig. ##FIG##0##1(b)##, the result of applying our MST algorithm would be to drop the (<italic>B</italic>, <italic>E</italic>) link.</p> <p>We propose to build a classifier in this setting based on the use of hierarchical conditional probabilities of the form . Here <italic>i </italic>indexes a certain protein, and <italic>G</italic><sub><italic>d </italic></sub>is a GO term of interest. The binary variable  = 1 indicates that protein <italic>i </italic>is labeled with <italic>G</italic><sub><italic>d</italic></sub>; otherwise, it takes the value -1. Finally,  denotes the status of all of protein <italic>i</italic>'s neighbors in the PPI network, across all GO terms, as well as the status for protein <italic>i </italic>of all of the ancestor terms of <italic>G</italic><sub><italic>d</italic></sub>. We will refer to  as the <italic>neighborhood status </italic>of <italic>i</italic>.</p> <p>In the remainder of this section, we present certain model assumptions that in turn lead to a particular form for the probabilities , as well as an efficient algorithm for their computation.</p> <title>Assumptions</title> <p>We assume that labels on proteins obey a Markov property with respect to the PPI. That is, that the labeling of a protein is independent of any other proteins given that of its neighbors. Similarly, we assume that a Markov property holds on the GO tree-structured hierarchy, meaning that for a given protein the status of a GO term label is independent of that of the other terms, given that of its parent.</p> <p>In addition, we assume that for any given protein <italic>i</italic>, the number of its neighbors labeled with a child term, among those labeled with the parent term, follows a binomial distribution, with probability depending on whether protein <italic>i </italic>is with the child or not. More precisely, we model</p> <p></p> <p>and</p> <p></p> <p>where</p> <p>• <italic>G</italic><sub><italic>ch </italic></sub>is the child term; <italic>G</italic><sub><italic>pa </italic></sub>is its parent;</p> <p>•  is the number of <italic>i</italic>'s neighbors labeled with the <italic>G</italic><sub><italic>ch</italic></sub>, and  is the number of neighbors labeled with <italic>G</italic><sub><italic>pa</italic></sub>;</p> <p>• <italic>p</italic><sub>1 </sub>is the probability with which neighbors of <italic>i </italic>are independently labeled with <italic>G</italic><sub><italic>ch </italic></sub>(being already labeled with <italic>G</italic><sub><italic>pa</italic></sub>), given <italic>i </italic>is labeled with <italic>G</italic><sub><italic>ch</italic></sub>;</p> <p>• <italic>p</italic><sub>0 </sub>is the probability with which neighbors of <italic>i </italic>are independently labeled with <italic>G</italic><sub><italic>ch </italic></sub>(being already labeled with <italic>G</italic><sub><italic>pa</italic></sub>), given <italic>i </italic>is NOT labeled with <italic>G</italic><sub><italic>ch </italic></sub>but is labeled with <italic>G</italic><sub><italic>pa</italic></sub>.</p> <p>We refer to this overall set of model assumptions as the <italic>Hierarchical Binomial-Neighborhood (HBN) </italic>assumptions, in reference to their extension of the Binomial-Neighborhood (BN) assumptions of [##REF##12855458##4##]. Note that the form of the probabilities above assumes that , the number of neighbors with the child term, is independent of the neighborhood size <italic>N</italic>, given , the number of neighbors with the parent. This condition seems reasonable since, recall that, by the <italic>true-path rule</italic>, only those among <italic>i</italic>'s neighbors that are labeled with the parent term can possibly have the child term. In other words, those neighbors with the child form a subset of those neighbors with the parent.</p> <p>Parameters <italic>p</italic><sub>1 </sub>and <italic>p</italic><sub>0 </sub>are term-specific: different terms have different <italic>p</italic><sub>1 </sub>and <italic>p</italic><sub>0</sub>. For a given term <italic>G</italic><sub><italic>ch</italic></sub>, all proteins share the same <italic>p</italic><sub>1 </sub>and <italic>p</italic><sub>0</sub>. They are estimated by pseudo-likelihood approach, from the labeled training data, separately for each <italic>G</italic><sub><italic>ch </italic></sub>to be predicted. When calculating , , we use only the neighbors in the training set.</p> <p>More specifically, assume there are <italic>n </italic>proteins in the training set, with <italic>m </italic>proteins labeled with <italic>G</italic><sub><italic>ch </italic></sub>and <italic>n </italic>- <italic>m </italic>proteins not labeled with <italic>G</italic><sub><italic>ch</italic></sub>. To simplify notation, let <italic>k</italic><sub><italic>ch</italic>, <italic>i </italic></sub>and <italic>k</italic><sub><italic>pa</italic>, <italic>i </italic></sub>be protein <italic>i</italic>'s training neighbors labeled with <italic>G</italic><sub><italic>ch </italic></sub>and <italic>G</italic><sub><italic>pa</italic></sub>, respectively. For the <italic>m G</italic><sub><italic>ch</italic></sub>-annotated proteins, we have</p> <p></p> <p>where  = 1 and <italic>i </italic>= 1, 2, ..., <italic>m</italic>. With the Markov property assumption, the likelihood function for <italic>p</italic><sub>1 </sub>based on all <italic>G</italic><sub><italic>ch</italic></sub>-annotated proteins is</p> <p></p> <p>The estimator for <italic>p</italic><sub>1 </sub>is based on all <italic>G</italic><sub><italic>ch</italic></sub>-annotated proteins' neighborhoods in the training set, and is the ratio of the total number of their <italic>G</italic><sub><italic>ch</italic></sub>-annotated neighbors and the total number of their <italic>G</italic><sub><italic>pa</italic></sub>-annotated neighbors, i.e.,</p> <p></p> <p>with  = 1.</p> <p>Similarly, the estimator for <italic>p</italic><sub>0 </sub>is based on all <italic>G</italic><sub><italic>ch</italic></sub>-unannoated proteins' neighborhoods in the training set, and is the ratio of the total number of their <italic>G</italic><sub><italic>ch</italic></sub>-annotated neighbors and the total number of their <italic>G</italic><sub><italic>pa</italic></sub>-annotated neighbors,</p> <p></p> <p>with  = -1. Estimators  and  are formally pseudo-likelihood estimators.</p> <p>An issue of estimation is the lack of data. Few data will affect the predictability and interpretability of the terms. Thus, we focus on terms with at least 5 proteins annotated with in the GO dataset. In principle, more formal work could be done, by using smoothing techniques and Empirical Bayes approaches, which we are exploring in our current work. It appears that improvement is not uniform, and the issue clearly requires separate consideration and will likely form a substantial component of a separate paper. Its subtlety likely is due to the well-known issue of classifiers doing well for classification while still being off-target for estimation [##UREF##4##19##].</p> <p>Also notice that we use one-hop neighborhoods in this paper, i.e., neighbors that are directly connected to the protein of study. The extension to larger neighborhoods could be easily done, and would likely yield some improvement in predictive performance, but at the expense of some additional mathematical overhead, replacing the BN framework with one like those in [##REF##14566057##20##, ####REF##14709178##21##, ##REF##16632496##22##, ##REF##17570151##23##, ##REF##15961472##24####15961472##24##]. Our choice to use a one-hop neighborhood structure here simply reflects a desire of maintaining a certain transparency in our model development, so as to emphasize primarily the effect of adding hierarchical information.</p> <title>Local Hierarchical Conditional Probability</title> <p>By the Markov property assumed on the GO hierarchy, for any non-root term, only the parent affects its labelling. Therefore, to derive an expression for our hierarchical conditional probabilities , we first concentrate on an expression for local hierarchical conditional probabilities of the form</p> <p></p> <p>Applying Bayes' rule, we have</p> <p></p> <p>For the first term in the numerator,</p> <p></p> <p>For the second term in the numerator, we use the plug-in estimate <italic>f</italic>, where <italic>f </italic>is defined to be the empirical probability of having the child term, given its having the parent, i.e.,</p> <p></p> <p>For the denominator, we apply the law of total probability and as a result, together with the two results above, the probability in (1) can be expressed as</p> <p></p> <p>where  = 1 - <italic>f</italic>.</p> <title>Global Hierarchical Conditional Probability</title> <p>Equipped with the local hierarchical conditional probability, for any non-root GO term <italic>G</italic><sub><italic>d </italic></sub>in the hierarchy, we now derive an expression for , the probability that protein <italic>i </italic>is annotated with <italic>G</italic><sub><italic>d </italic></sub>given its neighborhood status.</p> <p>Note that by the <italic>true-path rule </italic>we have , where <italic>G</italic><sub><italic>d</italic>-1 </sub>is the parent of <italic>G</italic><sub><italic>d</italic></sub>.</p> <p>Hence,</p> <p></p> <p>This logic easily extends recursively back through all ancestors of <italic>G</italic><sub><italic>d</italic></sub>, and thus the conditional probability (3) can be factorized as</p> <p></p> <p>where  is the local hierarchical neighborhood information on the parent-child GO term pair, <italic>G</italic><sub><italic>m </italic></sub>and <italic>G</italic><sub><italic>m</italic>-1</sub>.</p> <p>Importantly, note that due to the form of the factorization, the global conditional probability for <italic>G</italic><sub><italic>d </italic></sub>is no greater than that for its parent <italic>G</italic><sub><italic>d</italic>-1</sub>, i.e., we have the inequality</p> <p></p> <p>As we go down along the path from the root in the hierarchy, the probability that protein <italic>i </italic>is labeled with a more specific term is always no more than the probability of any of its ancestors. If the label of a term is predicted as -1, according to some pre-chosen threshold, the labels for every descendent below will also be assigned as -1. Thus, our model is guaranteed to produce GO term label assignments that comply with the <italic>true-path rule</italic>. Most existing methods for protein function prediction use ad-hoc enforcement to correct predictions in order to maintain <italic>true-path </italic>consistency.</p> <title>Algorithm</title> <p>Classification using our Hierarchical Binomial-Neighborhood (HBN) model may be accomplished using a straightforward top-to-bottom algorithm. Specifically, for a given protein <italic>i</italic>, and a pre-determined threshold <italic>t</italic>, we proceed from the child terms of the root in the MST representation of the GO hierarchy in the following fashion.</p> <p><bold>initialize </bold>P<sc>ROB</sc> = 1</p> <p><bold>for </bold><italic>m </italic>= 1: <italic>d</italic><sub><italic>max</italic></sub>,</p> <p>      <bold>while ∃ </bold>unlabeled terms <italic>G</italic><sub><italic>m </italic></sub>at level <italic>m</italic>,</p> <p>      <bold>compute </bold></p> <p>         </p> <p>      <bold>if </bold> &gt;<italic>t</italic>, set  = 1</p> <p>      <bold>else </bold>set  = -1 and propagate to all descendants of <italic>G</italic><sub><italic>m</italic></sub></p> <p>   <bold>end</bold></p> <p>end</p> <p>Notice that setting the labels at each step is not necessary. However, doing so facilitates the computation efficiency, by avoiding the calculation of the probabilities below the threshold. By letting <italic>t </italic>= 0, we can obtain all probabilities. The fact that we can do this is a direct outcome of the fact that our predictions are guaranteed to obey <italic>the true-path rule</italic>.</p> <p>For a given protein, the algorithm requires at most <italic>O</italic>(<italic>N</italic><sub><italic>GO</italic></sub>) steps, where <italic>N</italic><sub><italic>GO </italic></sub>is the number of GO terms, and therefore, for <italic>N</italic><sub><italic>Protein </italic></sub>proteins, no more than <italic>O</italic>(<italic>N</italic><sub><italic>Protein</italic></sub><italic>N</italic><sub><italic>GO</italic></sub>) steps are needed. Hence, the algorithm is linear in the size of both the PPI and the GO networks. In practice, it has been found to be quite fast, particularly because each protein can be expected to have a large proportion of -1 labels, and once a -1 is assigned to a term it is simply propagated to all descendant terms.</p>
<title>Results</title> <title>Data</title> <p>The PPI data used in this paper is from the yeast <italic>Saccharomyces cerevisiae</italic>, as updated in January 2007 at <ext-link ext-link-type="uri" xlink:href="http://www.thebiogrid.org/"/>. There are 5143 genes (nodes) and 31190 non-redundant physical interactions (edges), after deleting self-interacting and unannotated nodes, and genetic interactions.</p> <p>The Gene Ontology used is <italic>biological process</italic>, updated in June 2006, as posted at <ext-link ext-link-type="uri" xlink:href="http://www.geneontology.org/"/>. From the biological perspective, more specific terms are more interesting than less specific ones, and we therefore only predict for terms with 300 or less genes annotated in the database. As a result, the entire <italic>biological process </italic>ontology breaks down into 47 sub-hierarchies. In addition, to avoid extremes with little to no information, we only predict for terms with at least 5 genes. We also delete GO:0000004, biological function unknown. The total number of terms predicted is 1037. The GO term annotations used to train the model are updated in June 2006, from <ext-link ext-link-type="uri" xlink:href="http://www.geneontology.org/"/>.</p> <p>From the initial data, a set of labels is constructed in a way that follows the <italic>true-path rule</italic>. Specifically, for any protein-term association in the data, we assign a +1 label to the term for that protein, as well as to all of the ancestors in the transitive closure of that term in the GO hierarchy. We repeat this for all protein-term associations to get the set of all positive labels. We assign -1 to all other protein-term pairs.</p> <p>Please visit <ext-link ext-link-type="uri" xlink:href="http://math.bu.edu/people/kolaczyk/software.html"/> for the datasets used in this paper and the Matlab scripts for the HBN algorithm.</p> <title>Cross-Validation Study</title> <p>We apply our Hierarchical Binomial-Neighborhood (HBN) method, as well as the "Nearest-Neighbor" (NN) algorithm and the Binomial-Neighborhood (BN) method of [##REF##12855458##4##], to the data just described, using a 5-fold cross-validation design. The HBN and BN methods each produce a probability of protein-term association, while the NN algorithm similarly produces a number between 0 and 1 (i.e., the fraction of a protein's neighbors in the PPI network possessing the term in question). For each test fold, representing 20% of the proteins, all GO term annotations are taken as unknown, and predictions of protein-term associations are made with each of the three methods, based on comparison of their output to a threshold <italic>t </italic>∈ [0, 1], using the annotations in the other four folds as training data.</p> <title>Evaluation</title> <p>We use three metrics by which to evaluate the performance characteristics of each classification method. The first is the standard Receiver Operating Characteristic (ROC) curve, which evaluates a classifier's performance in a manner that aggregates across all terms. We examine ROC curves both for the overall GO hierarchy and within each of the 47 sub-hierarchies.</p> <p>Since the ROC curve, as a metric, is 'flat', in that it ignores any hierarchical structure among terms, we use as a second metric a hierarchical performance measure, called <italic>hF<sub>β</sub></italic>, proposed in [##UREF##5##25##,##UREF##6##26##] and defined as follows. For a hierarchy of GO terms and any protein <italic>i </italic>that is annotated with the hierarchy root, first take the transitive closure of all of the most specific +1 predictions and change -1's into +1's, if there is any. Note that this step is only necessary here for "Nearest-Neighbor" and the "Binomial-Neighborhood" method.</p> <p>Next, for each protein <italic>i</italic>, calculate the true positive (TP), false positive (FP), and false negative (FN) counts, based on the true labels of all terms in the hierarchy and the corrected predictions, denoted as <italic>TP</italic><sub><italic>i</italic></sub>,</p> <p><italic>FP</italic><sub><italic>i </italic></sub>and <italic>FN</italic><sub><italic>i</italic></sub>, respectively. Define hierarchical precision (<italic>hP</italic>) and hierarchical recall (<italic>hR</italic>) as</p> <p></p> <p>The value <italic>hF<sub>β </sub></italic>is then defined as a weighted combination of <italic>hP </italic>and <italic>hR</italic>, in the form</p> <p></p> <p>where <italic>β </italic>∈ [0, ∞) is a tuning parameter. In this paper, we use <italic>hF</italic><sub>1 </sub>with equal weights on precision and recall, simply denoted as <italic>hF</italic>. Note that <italic>hF</italic>, <italic>hP </italic>and <italic>hR </italic>are all scaled between 0 and 1, with higher <italic>hF </italic>indicating better performance over the hierarchy.</p> <p>Lastly, because accurate positive predictions are of most biological interest in this area, and because predictions of terms increasingly deeper in the GO hierarchy are of increasingly greater use, we examine the positive predictive value (PPV) of each of the methods, as a function of depth in the hierarchy. However, as the prevalence of known terms tends to decrease substantially with depth, and PPV decreases similarly with decreasing prevalence, we normalize PPV by prevalence to allow meaningful comparison across depths. Specifically, we compute a log-odds version of PPV in the form</p> <p></p> <p>where <italic>f </italic>is the prevalence of a given term. This quantity therefore indicates relative performance of a given classifier, in comparison with a method that simply predicts proteins to have a given term with <italic>a priori </italic>probability <italic>f</italic>.</p> <title>An Illustration</title> <p>To better appreciate the performance gains from HBN that we describe momentarily below, we first present an illustrative example. Consider protein YGL017W (AFT1) and its neighborhood, as depicted in Fig. ##FIG##2##3(a)##. Knowing that YGL017W is labeled with the parent term <italic>G</italic><sub><italic>pa </italic></sub>= GO:0045449, or <italic>regulation of transcription</italic>, we want to predict whether YGL017W is labeled with the child term <italic>G</italic><sub><italic>ch </italic></sub>= GO:0045941, or <italic>positive regulation of transcription</italic>. All six neighbors are in the training set, and used together with other training nodes to estimate parameters. Three out of six neighbors are labeled with <italic>G</italic><sub><italic>pa</italic></sub>, and two with <italic>G</italic><sub><italic>ch</italic></sub>. The prediction from HBN results from applying a threshold to Equation. The analogous probability for BN is given by</p> <p></p> <p>where</p> <p>• <italic>G </italic>is the target GO term, GO:0045941;</p> <p>• <italic>k </italic>is the number of training neighbors labeled with <italic>G</italic>;</p> <p>• <italic>N </italic>is the training neighborhood size;</p> <p>•  is the probability with which neighbors are independently labeled with <italic>G</italic>, given protein YGL017W is labeled with <italic>G</italic>;</p> <p>•  is the probability with which neighbors are independently labeled with <italic>G</italic>, given protein YGL017W is NOT labeled with <italic>G</italic>;</p> <p>• <italic>f</italic>* is the relative frequency of <italic>G </italic>in the training set, and  = 1 - <italic>f</italic>*.</p> <p>Table ##TAB##0##1## contains the parameters for each of the three classification methods, and the output they produce. HBN provides substantially more evidence for YGL017W being labeled with GO term GO:0045941, which is in fact the case. With a threshold <italic>t </italic>= 0.5, only HBN provides a correct positive prediction. The improvement here comes from the additional information provided by including parent-term information.</p> <title>Cross-Validation Results</title> <p>A comparison of the overall performance of the three methods, by ROC curves and the <italic>hF </italic>measure, is shown in Fig. ##FIG##3##4## and Fig. ##FIG##4##5##, respectively. We are also interested in visualizing precision versus recall, shown in Fig. ##FIG##5##6##. A total of 1037 GO terms are studied on 5143 proteins. Sensitivity, specificity and <italic>hF </italic>are calculated by combining, within each of the 5 folds, the true positive (TP), false positive (FP), true negative (TN) and false negative (FN) counts, over all proteins and all terms for varying thresholds, and averaging across folds. Precision and recall are defined as , . The HBN method outperforms the other two methods by a clear margin in all figures, except at very small thresholds (<italic>t </italic>&lt; 0.1) in the <italic>hF </italic>plot. Comparison of the area under the curve (AUC) for each method, in the ROC and <italic>hF </italic>plots, through a simple paired <italic>t</italic>-test on four degrees of freedom, confirms this observation, i.e., <italic>p </italic>&lt; 10<sup>-5 </sup>for comparison of HBN with BN and with NN. The gains of HBN over BN directly reflects the benefit of effectively integrating the GO hierarchical information into the construction of our classifier.</p> <p>Recall that, as a result of our predicting only for GO terms annotated with less than 300 proteins in the database, the full <italic>biological process </italic>hierarchy actually breaks into 47 sub-hierarchies. Examination of performance on these sub-hierarchies provides some sense of the extent to which the HBN performance improvements are uniform across the GO hierarchy. We compute a ROC curve and <italic>hF </italic>plot for each of the sub-hierarchies (See additional file ##SUPPL##0##1##: ROC curves and <italic>hF </italic>plots for 47 sub-hierarchies in cross-validation study). Numerical comparison of the corresponding AUCs finds, at a 5% significance level that HBN improves on BN in 38 of the 47 sub-hierarchies, according to the ROC curves, 19 of the sub-hierarchies, according to the <italic>hF </italic>plots, and 18 commonly between them. Conversely, BN outperforms HBN in only 1 of the 47 sub-hierarchies, according to the ROC curves, and 9 of the sub-hierarchies, according to the <italic>hF </italic>plots. (NN was uniformly the worse performer.)</p> <p>These ROC plots are constructed using the original BN (and NN) predictions, without any correction for "true-path" consistency. However, the overwhelming improvement of HBN over BN indicated by the ROC curves is actually similar when the initial predictions of BN are post-processed by applying transitive closure. Specifically, HBN improves on BN in 28 of the sub-hierarchies, while BN outperforms HBN in only 4 sub-hierarchies. These results strongly suggest the validity of our premise as to the importance of incorporating hierarchical information in the GO database in the initial construction of a classifier. The <italic>hF </italic>plots, which incorporate transitive closure for BN (and NN) directly into their definition, and are designed to provide a more accurate summary of classification accuracy with hierarchically related class labels, support this conclusion. The gains of HBN over BN, although reduced, are still substantial, with HBN outperforming BN in just over 40% of the 47 hierarchies, and BN outperforming HBN, in less than 20%.</p> <p>As an illustration, consider the performance on the sub-hierarchy corresponding to Fig. ##FIG##6##7## and Fig. ##FIG##7##8##. The root term of the sub-hierarchy is GO:0050896, <italic>response to stimulus</italic>, with 72 more specific terms below it, 40 out of which are predicted for 536 proteins annotated with root. The shapes and locations of the curves in these plots are similar to those in Fig. ##FIG##3##4## and Fig. ##FIG##4##5##, with arguably a more substantial improvement from HBN in the <italic>hF </italic>plot. For instance, using a threshold of <italic>t </italic>= 0.5 for prediction, HBN produces an <italic>hF </italic>measure nearly 254% and 60% higher than NN and BN, respectively (<italic>hF</italic><sub><italic>NN </italic></sub>= 0.16, <italic>hF</italic><sub><italic>BN </italic></sub>= 0.35, and <italic>hF</italic><sub><italic>HBN </italic></sub>= 0.56).</p> <p>In contrast, Fig. ##FIG##8##9## and Fig. ##FIG##9##10## show an example of a sub-hierarchy in which the performance of HBN and BN are too close to declare one or the other better. This sub-hierarchy has root term GO:0019538, <italic>protein metabolism</italic>. Examination of the predictions seems to suggest that the comparatively poorer relative performance of HBN in this sub-hierarchy is due to its over-optimistic positive predictions, i.e., HBN produces a higher rate of false positives (FP) that lowers the hierarchical precision (<italic>hP</italic>) and hence the <italic>hF </italic>measure.</p> <p>Lastly, Fig. ##FIG##10##11## and Fig. ##FIG##11##12## contain plots summarizing the positive predictive value (PPV) of the three methods. In Fig. ##FIG##10##11##, we show how the averaged PPV varies against the averaged negative predictive value (NPV), over all proteins and GO terms for which all three methods produced at least one positive prediction, averaged over the five folds (PPV versus 1-NPV). We see that the HBN method has consistently higher PPV across all values of NPV. At an NPV of 0.987 (i.e., 1 - NPV = 0.013), for example, where the PPV for HBN is nearly 50% (i.e., PPV = 0.465), that for BN and NN are only roughly 30% (i.e., PPV = 0.310 and 0.326, respectively). That is, for the same rate of correct negative predictions, HBN produces nearly one in two correct positive predictions, while the other two methods produce not quite one in three. Note that the extremely high NPV values for all three methods are largely a result of the similarly high prevalence of -1 labels in the database.</p> <p>Shown in Fig. ##FIG##11##12## is the log-odds PPV of all three methods, for NPV = 0.987, as a function of depth in the GO hierarchy. We see that the improvement in positive predictive capabilities of HBN is fairly uniform across depths. A one-sided paired <italic>t</italic>-test at each depth confirmed the differences to be highly significant (i.e., <italic>p</italic>-values roughly 0.001 or less) at depths 3, 4, and 5, but not at depths 1, 2, 6, 7, or 8. We note, however, that the lack of significance at the latter depths is likely partly driven by sample size, since at each of these depths there were less than 30 cases of positive protein-term predictions by all three methods used in calculating LO-PPV, while at the other three depths there were well in excess of 100.</p> <title>In Silico Validation Results</title> <p>Recall that the above results are based on gene-GO term annotations in the January 2007 GO database. As an <italic>in silico </italic>proxy to <italic>in vitro </italic>validation, beyond that of the cross-validation study, we examined the performance of HBN, in comparison to NN and BN, when applied to new gene-GO term annotations found in the updated May 2007 database. Here our goal is to evaluate the robustness of our cross-validation results for predicting naturally occurring unknowns (i.e., as opposed to those left out in a random fashion through cross-validation).</p> <p>We applied HBN, BN, and NN in each of the 47 sub-hierarchies to genes that (i) were annotated with only the root term in the June 2006 database, and (ii) were assigned more specific functions in that sub-hierarchy in the May 2007 database. There were a total of 508 genes that had received at least one new annotation in one of the sub-hierarchies, with as few as 1 gene and as many as 74 genes per hierarchy. There were 33 sub-hierarchies having such genes. The methods were compared for their accuracy through the <italic>hF </italic>function. We present the <italic>hF </italic>plots for only those sub-hierarchies (17) with sufficiently many annotations to yield meaningful results (See additional file ##SUPPL##1##2##: <italic>hF </italic>plots for 17 sub-hierarchies in <italic>in silico </italic>study); the <italic>hF </italic>measures for the others are trivial, due to too few new annotations. Over 40% (i.e., 7 out of 17) of these <italic>hF </italic>plots find HBN to work best in correctly detecting more specific associations, over a reasonably broad range of threshold values; in the majority of the remaining plots, HBN yields results similar to the at least one of the two other methods.</p> <p>Overall, most of the plots are consistent with the cross-validation results. Interestingly, however, there are a number of cases where HBN clearly outperforms NN and BN by a larger margin in the <italic>in silico </italic>validation than in the cross-validation study. For example, for the sub-hierarchy with root term <italic>response to stimulus</italic>, the new <italic>hF </italic>curve for HBN exceeds that for BN by as much as 300%, dominating those for the other two methods for most of the thresholds. See Fig. ##FIG##12##13##. In addition, in some sub-hierarchies where HBN does not perform best in cross-validation, its <italic>hF </italic>curve is significantly improved in the <italic>in silico </italic>study, and in fact outperforms the other two methods. The sub-hierarchy with root term <italic>protein metabolism </italic>is of this sort. The <italic>hF </italic>curve for HBN in Fig. ##FIG##13##14## dominates the other two methods for almost 60% of the possible threshold values on the new predictions, even though HBN works no better than BN in the cross-validation study.</p> <p>Overall, these results suggest that the performance advantages of HBN indicated by the cross-validation study are, if anything, potentially understated.</p>
<title>Discussion</title> <p>For a well-studied organism, such as <italic>S. cerevisiae</italic>, one can make certain inferences about genes for which there is no annotated function. First, it is likely that the gene has low sequence similarity to any gene of known function, thus preventing the most straightforward computational methods of predicting gene function. Secondly, it is likely that no altered phenotype is observed upon protein overexpression, knockdown, or knockout, foiling first-pass experimental attempts to discover gene function. In these cases, the next step would involve more elaborate experimental methods, which would typically be guided by a co-expression analysis of publicly available microarray data. The experiments selected will, in general, be time-consuming, costly, different for each gene being investigated, and offer modest chances for success. Thus, the development of more sophisticated and accurate methods of computational prediction of function which could precisely guide experimental activity remains a top priority.</p> <p>Biological and biomedical ontologies have become a prominent, and perhaps indispensable, tool in bioinformatics and biological research. GO in particular has been used in numerous papers to detect biological process enrichment of co-expressed genes, identify biological processes associated with disease, etc. However in the vast majority of applications the hierarchical nature of GO is actually not being used directly. For example, in enrichment testing such as GSEA or GNEA we typically test for every biological process if the differentially expressed genes in some condition are associated with this process more than expected by chance.</p> <p>Thus while GO and other ontologies obviously organize biological knowledge in an intuitive fashion, the structure is not typically exploited for actual inference by predictive analysis tools. This is rather different from evolutionary analysis tools and genetics frameworks where probabilistic ancestor/descendant relationships in phylogenies (hierarchies) are exploited very directly with substantial practical and theoretical benefits.</p> <p>Our work here suggests that similar developments of probabilistic frameworks are not only feasible, but promising, for improved protein function inference with gene ontologies. In addition, it suggests the need for further research to be done to clarify the utility of different representations for such purposes. Finally, it also raises the prospect of re-engineering ontologies or other similar representations, from the perspective of seeking to provide maximal value for probabilistic inference programs.</p>
<title>Conclusion</title> <p>We have developed a probabilistic framework for automated prediction of protein function using relational information (e.g., a network of protein-protein interactions) which exploits the hierarchical structure of ontologies, and guarantees the predictions obey a 'true-path' annotation rule. We have evaluated the performance of our method and compared it with two other network-based methods by both cross-validation and an <italic>in silico </italic>study, on the genome of yeast, for terms from the biological process category in the Gene Ontology. Results showed that our proposed method, by utilizing the ontological structure, significantly improved the prediction accuracy and the capability of detecting positive annotations over the hierarchies. Furthermore, our analysis suggests that such improvement persists across the ontology depths.</p>
<p>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/2.0"/>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</p> <title>Background</title> <p>In the current climate of high-throughput computational biology, the inference of a protein's function from related measurements, such as protein-protein interaction relations, has become a canonical task. Most existing technologies pursue this task as a classification problem, on a term-by-term basis, for each term in a database, such as the Gene Ontology (GO) database, a popular rigorous vocabulary for biological functions. However, ontology structures are essentially hierarchies, with certain top to bottom annotation rules which protein function predictions should in principle follow. Currently, the most common approach to imposing these hierarchical constraints on network-based classifiers is through the use of transitive closure to predictions.</p> <title>Results</title> <p>We propose a probabilistic framework to integrate information in relational data, in the form of a protein-protein interaction network, and a hierarchically structured database of terms, in the form of the GO database, for the purpose of protein function prediction. At the heart of our framework is a factorization of local neighborhood information in the protein-protein interaction network across successive ancestral terms in the GO hierarchy. We introduce a classifier within this framework, with computationally efficient implementation, that produces GO-term predictions that naturally obey a hierarchical 'true-path' consistency from root to leaves, without the need for further post-processing.</p> <title>Conclusion</title> <p>A cross-validation study, using data from the yeast <italic>Saccharomyces cerevisiae</italic>, shows our method offers substantial improvements over both standard 'guilt-by-association' (i.e., Nearest-Neighbor) and more refined Markov random field methods, whether in their original form or when post-processed to artificially impose 'true-path' consistency. Further analysis of the results indicates that these improvements are associated with increased predictive capabilities (i.e., increased positive predictive value), and that this increase is consistent uniformly with GO-term depth. Additional <italic>in silico </italic>validation on a collection of new annotations recently added to GO confirms the advantages suggested by the cross-validation study. Taken as a whole, our results show that a hierarchical approach to network-based protein function prediction, that exploits the ontological structure of protein annotation databases in a principled manner, can offer substantial advantages over the successive application of 'flat' network-based methods.</p>
<title>Authors' contributions</title> <p>XJ carried out the statistical study, implemented and performed the computation, drafted the manuscript. NN prepared the datasets and helped the computation. MS interpreted the results and took part in the analysis. SK participated in the design of the study and the analysis. EDK conceived of the study, participated in its design, supervised the analysis and finalized the manuscript. All authors read and approved the final manuscript.</p> <title>Supplementary Material</title>
<title>Acknowledgements</title> <p>The authors thank Russ Greiner for early feedback. This work was supported in part by NHGRI grant R01 HG003367-01A1, NIH award GM078987, NSF grant ITR-048715, and ONR award N00014-06-1-0096.</p>
<fig position="float" id="F1"><label>Figure 1</label><caption><p><bold>Visualization small PPI network and GO DAG</bold>. This plot contains two toy examples of Protein-Protein Interaction network and the Gene Ontology structure. (a) Schematic network of local protein interactions; (b) schematic GO hierarchy, where the thicker link indicates larger weight. Among the neighbors of the central protein in (a), 4 out of 5 are labeled with term <italic>A</italic>; 2 out of 5 are labeled with term <italic>D</italic>. One neighbor is not labeled with any term. We want to predict whether or not the central protein has term <italic>D</italic>.</p></caption></fig> <fig position="float" id="F2"><label>Figure 2</label><caption><p><bold>Illustration of obedience and disobedience to the true-path rule</bold>. The plot demonstrates a small example of GO hierarchy with four terms A, B, C and D. The true annotations and the predicted probabilities of the terms for some protein are also given, in a format of "true annotation (probability)". We use this to illustrate predictions that are consistent and are not consistent with the <italic>the true-path rule</italic>.</p></caption></fig> <fig position="float" id="F3"><label>Figure 3</label><caption><p><bold>Illustration of HBN's working mechanism</bold>. The plot shows (a) protein YGL017W and its neighborhood, (b) Small GO hierarchy. Three neighbors are labeled with the parent term GO:0045449; two of them are labeled with the child term GO:0045941. We want to predict whether YGL017W is labeled with GO:0045941.</p></caption></fig> <fig position="float" id="F4"><label>Figure 4</label><caption><p><bold>Overall method performance comparison by ROC curve</bold>. This plot demonstrates the ROC curves of the three methods based on the 5-fold cross-validation study on the whole yeast genome. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F5"><label>Figure 5</label><caption><p><bold>Overall method performance comparison by <italic>hF </italic>measure</bold>. This plot demonstrates the curves of <italic>hF </italic>measure of the three methods against predicting threshold, based on the 5-fold cross-validation study on the whole yeast genome. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F6"><label>Figure 6</label><caption><p><bold>Overall method performance comparison by precision and recall</bold>. This plot demonstrates the precision versus recall curves of the three methods based on the 5-fold cross-validation study on the whole yeast genome. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F7"><label>Figure 7</label><caption><p><bold>Method performance comparison by ROC curve on sub-hierarchy GO:0050896</bold>. The plot shows the ROC curves of the three methods based on the 5-fold cross-validation study on the sub-hierarchy with root GO term GO:0050896, <italic>response to stimulus</italic>. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F8"><label>Figure 8</label><caption><p><bold>Method performance comparison by <italic>hF </italic>on sub-hierarchy GO:0050896</bold>. The plot shows the curves of <italic>hF </italic>measure of the three methods against predicting threshold, based on the 5-fold cross-validation study on the sub-hierarchy with root GO term GO:0050896, <italic>response to stimulus</italic>. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F9"><label>Figure 9</label><caption><p><bold>Method performance comparison by ROC curve on sub-hierarchy GO:0019538</bold>. The plot shows the ROC curves of the three methods based on the 5-fold cross-validation study on the sub-hierarchy with root GO term GO:0019538, <italic>protein metabolism</italic>. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F10"><label>Figure 10</label><caption><p><bold>Comparison of method performance by <italic>hF </italic>on sub-hierarchy GO:0019538</bold>. The plot shows the curves of <italic>hF </italic>measure of the three methods against predicting threshold, based on the 5-fold cross-validation study on the sub-hierarchy with root GO term GO:0019538, <italic>protein metabolism</italic>. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F11"><label>Figure 11</label><caption><p><bold>Visualization of the averaged positive predictive value comparison</bold>. The plot contains the curves of the averaged positive predictive values (PPV) over cross-validation folds of the three methods, against 1-NPV, the averaged negative predictive value (NPV). Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F12"><label>Figure 12</label><caption><p><bold>Visualization of the averaged log-odds positive predictive value comparison on GO hierarchy depth</bold>. The plot demonstrates the curves of the averaged log-odds PPV over cross-validation folds of the three methods for NPV = 0.987, as a function of the GO hierarchy depth. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F13"><label>Figure 13</label><caption><p><bold><italic>hF </italic>plots for new predictions on sub-hierarchy GO:0050896</bold>. The plot shows the <italic>hF </italic>curves of the three methods based on the updated annotation for sub-hierarchy with root term GO:0050896, <italic>response to stimulus</italic>, as discussed in the <italic>in silico </italic>validation study. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig> <fig position="float" id="F14"><label>Figure 14</label><caption><p><bold><italic>hF </italic>plots for new predictions on sub-hierarchy GO:0019538</bold>. The plot shows the <italic>hF </italic>curves of the three methods based on the updated annotation for sub-hierarchy with root term GO:0019538, <italic>protein metabolism</italic>, as discussed in the <italic>in silico </italic>validation study. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></fig>
<table-wrap position="float" id="T1"><label>Table 1</label><caption><p>Parameters from Nearest-Neighbor (NN), Binomial-Neighborhood (BN) and Hierarchical Binomial-Neighborhood (HBN)</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="center">NN</td><td align="center">BN</td><td align="center">HBN</td></tr></thead><tbody><tr><td align="center"><italic>k </italic>= 2</td><td align="center"><italic>k </italic>= 2</td><td align="center"><italic>k </italic>= 2</td></tr><tr><td align="center"><italic>N </italic>= 6</td><td align="center"><italic>N </italic>= 6</td><td align="center"><italic>N </italic>= 6</td></tr><tr><td align="center">.</td><td align="center"> = 0.0661</td><td align="center"><italic>p</italic><sub>1 </sub>= 0.2927</td></tr><tr><td align="center">.</td><td align="center"> = 0.0085</td><td align="center"><italic>p</italic><sub>0 </sub>= 0.0992</td></tr><tr><td align="center">.</td><td align="center"><italic>f</italic>* = 0.0106</td><td align="center"><italic>f </italic>= 0.2186</td></tr><tr><td align="center"><italic>P </italic>= 0.3333</td><td align="center"><italic>P </italic>= 0.3381</td><td align="center"><italic>P </italic>= 0.6566</td></tr></tbody></table></table-wrap>
<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M1" name="1471-2105-9-350-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M2" name="1471-2105-9-350-i2" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M3" name="1471-2105-9-350-i3" overflow="scroll"><mml:semantics><mml:mi mathvariant="script">X</mml:mi></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M4" name="1471-2105-9-350-i3" overflow="scroll"><mml:semantics><mml:mi mathvariant="script">X</mml:mi></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M5" name="1471-2105-9-350-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M6" name="1471-2105-9-350-i4" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M7" name="1471-2105-9-350-i5" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>0</mml:mn><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M8" name="1471-2105-9-350-i6" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M9" name="1471-2105-9-350-i7" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M10" name="1471-2105-9-350-i6" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M11" name="1471-2105-9-350-i7" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M12" name="1471-2105-9-350-i6" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M13" name="1471-2105-9-350-i7" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><italic>K</italic><sub><italic>ch</italic>, <italic>i </italic></sub><italic>~Binomial</italic>(<italic>k</italic><sub><italic>pa</italic>, <italic>i</italic></sub>, <italic>p</italic><sub>1</sub>),</disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M14" name="1471-2105-9-350-i8" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M15" name="1471-2105-9-350-i9" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>L</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:msubsup><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M16" name="1471-2105-9-350-i10" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M17" name="1471-2105-9-350-i8" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M18" name="1471-2105-9-350-i11" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>−</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M19" name="1471-2105-9-350-i8" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M20" name="1471-2105-9-350-i12" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M21" name="1471-2105-9-350-i13" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M22" name="1471-2105-9-350-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM1"><label>(1)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M23" name="1471-2105-9-350-i14" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M24" name="1471-2105-9-350-i15" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mo>×</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M25" name="1471-2105-9-350-i16" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mo>×</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>;</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M26" name="1471-2105-9-350-i17" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi>P</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM2"><label>(2)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M27" name="1471-2105-9-350-i18" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:mi>f</mml:mi><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo>¯</mml:mo></mml:mover></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M28" name="1471-2105-9-350-i19" overflow="scroll"><mml:semantics><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo>¯</mml:mo></mml:mover></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M29" name="1471-2105-9-350-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M30" name="1471-2105-9-350-i20" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM3"><label>(3)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M31" name="1471-2105-9-350-i21" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M32" name="1471-2105-9-350-i22" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:msubsup><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:msubsup><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M33" name="1471-2105-9-350-i23" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M34" name="1471-2105-9-350-i24" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow/></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:msubsup><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>≤</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Π</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mo>=</mml:mo></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="script">X</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M35" name="1471-2105-9-350-i25" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mrow><mml:mtext>PROB</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mrow><mml:mtext>PROB</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>×</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M36" name="1471-2105-9-350-i26" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>|</mml:mo><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>;</mml:mo><mml:msub><mml:mi mathvariant="script">X</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mi>O</mml:mi><mml:mi>C</mml:mi><mml:mi>A</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M37" name="1471-2105-9-350-i27" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mrow><mml:mtext>PROB</mml:mtext></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M38" name="1471-2105-9-350-i28" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M39" name="1471-2105-9-350-i28" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>Y</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M40" name="1471-2105-9-350-i29" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>h</mml:mi><mml:mi>P</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mi>T</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mi>T</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>h</mml:mi><mml:mi>R</mml:mi><mml:mfrac><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mi>T</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mi>T</mml:mi><mml:msub><mml:mi>P</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M41" name="1471-2105-9-350-i30" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>h</mml:mi><mml:msub><mml:mi>F</mml:mi><mml:mi>β</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>β</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>h</mml:mi><mml:mi>P</mml:mi><mml:mo>×</mml:mo><mml:mi>h</mml:mi><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>β</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mi>h</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>h</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM4"><label>(4)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M42" name="1471-2105-9-350-i31" overflow="scroll"><mml:semantics><mml:mrow><mml:mtext>LO-PPV</mml:mtext><mml:mo>=</mml:mo><mml:mi>log</mml:mi><mml:mfrac><mml:mrow><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:mi>V</mml:mi><mml:mo>/</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:mi>V</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>/</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M43" name="1471-2105-9-350-i32" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">|</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>;</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mo>∗</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow><mml:mrow><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>;</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mo>∗</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mo>+</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>;</mml:mo><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mn>0</mml:mn><mml:mo>∗</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>×</mml:mo><mml:msup><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo>¯</mml:mo></mml:mover><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M44" name="1471-2105-9-350-i33" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M45" name="1471-2105-9-350-i34" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>0</mml:mn><mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M46" name="1471-2105-9-350-i35" overflow="scroll"><mml:semantics><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo>¯</mml:mo></mml:mover><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M47" name="1471-2105-9-350-i33" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>1</mml:mn><mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M48" name="1471-2105-9-350-i34" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mn>0</mml:mn><mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M49" name="1471-2105-9-350-i36" overflow="scroll"><mml:semantics><mml:mrow><mml:mtext>precision</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M50" name="1471-2105-9-350-i37" overflow="scroll"><mml:semantics><mml:mrow><mml:mtext>recall</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>N</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>
<supplementary-material content-type="local-data" id="S1"><caption><title>Additional file 1</title><p><bold>ROC curves and <italic>hF </italic>plots for 47 sub-hierarchies in cross-validation study</bold>. This file contains the ROC curves and plots of <italic>hF </italic>score versus predicting threshold of the three methods for 47 individual sub-hierarchies in the 5-fold cross-validation study. The root term ID's and names of the root terms, the sizes of sub-hierarchies, numbers of terms and genes predicted within sub-hierarchy are also shown. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></supplementary-material> <supplementary-material content-type="local-data" id="S2"><caption><title>Additional file 2</title><p><bold><italic>hF </italic>plots for 17 sub-hierarchies in <italic>in silico </italic>study</bold>. This file contains the plots of <italic>hF </italic>score versus threshold of the three methods for individual sub-hierarchies in the <italic>in silico </italic>validation study. The root term ID's and names of the root terms, the sizes of sub-hierarchies, numbers of terms and genes predicted within sub-hierarchy are also shown. Colors: HBN (red); BN (light blue); NN (blue).</p></caption></supplementary-material>
<table-wrap-foot><p>This table contains the parameters and the corresponding probabilities estimated by the three methods, as discussed in the paper, when predicting whether yeast gene YGL017W has GO term GO:0045941, <italic>positive regulation of transcription</italic>.</p></table-wrap-foot>
<graphic xlink:href="1471-2105-9-350-1"/> <graphic xlink:href="1471-2105-9-350-2"/> <graphic xlink:href="1471-2105-9-350-3"/> <graphic xlink:href="1471-2105-9-350-4"/> <graphic xlink:href="1471-2105-9-350-5"/> <graphic xlink:href="1471-2105-9-350-6"/> <graphic xlink:href="1471-2105-9-350-7"/> <graphic xlink:href="1471-2105-9-350-8"/> <graphic xlink:href="1471-2105-9-350-9"/> <graphic xlink:href="1471-2105-9-350-10"/> <graphic xlink:href="1471-2105-9-350-11"/> <graphic xlink:href="1471-2105-9-350-12"/> <graphic xlink:href="1471-2105-9-350-13"/> <graphic xlink:href="1471-2105-9-350-14"/>
<media xlink:href="1471-2105-9-350-S1.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media> <media xlink:href="1471-2105-9-350-S2.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media>
[{"surname": ["Eisner", "Poulin", "Szafron", "Lu", "Greiner"], "given-names": ["R", "B", "D", "P", "R"], "article-title": ["Improving protein function prediction using the hierarchical structure of the Gene Ontology"], "source": ["IEEE Symposium on Computational Intelligence in Bioinformatics and Computational Biology"], "year": ["2005"]}, {"surname": ["Koller", "Sahami"], "given-names": ["D", "M"], "article-title": ["Hierarchically classifying documents using very few words"], "source": ["proceedings of the 14th International Conference on Machine Learning (ICML)"], "year": ["1997"], "volume": ["223"]}, {"surname": ["Blockeel", "Schietgat", "Struyf", "Clare"], "given-names": ["H", "L", "J", "ADS"], "article-title": ["Hierarchical multilabel classification trees for gene function prediction"], "source": ["Probabilistic Modeling and Machine Learning in Structural and Systems Biology (PMSB)"], "year": ["2006"]}, {"surname": ["Chow", "Liu"], "given-names": ["CK", "CN"], "article-title": ["Approximating discrete probability distributions with dependence trees"], "source": ["IEEE Transactions on Information Theory"], "year": ["1968"], "volume": ["IT-14"], "fpage": ["462"], "lpage": ["467"], "pub-id": ["10.1109/TIT.1968.1054142"]}, {"surname": ["Friedman"], "given-names": ["JH"], "article-title": ["On bias, variance, 0/1-loss, and the curse-of-dimensionality"], "source": ["Data Mining and Knowledge Discovery"], "year": ["1997"], "volume": ["1"], "fpage": ["55"], "lpage": ["77"], "pub-id": ["10.1023/A:1009778005914"]}, {"surname": ["Kiritchenko", "Famili", "Matwin", "Nock"], "given-names": ["S", "F", "S", "R"], "article-title": ["Learning and evaluation in the presence of class hierarchies: application to text categorization"], "source": ["Proceedings of the 19th Canadian Conference on Artificial Intelligence"], "year": ["2006"], "volume": ["NRC"], "fpage": ["48737"]}, {"surname": ["Kiritchenko", "Matwin", "Famili"], "given-names": ["S", "S", "AF"], "article-title": ["Hierarchical text categorization as a tool of associating genes with gene ontology codes"], "source": ["Proceedings of the 2nd European Workshop on Data Mining and Text Mining in Bioinformatics"], "year": ["2004"], "volume": ["NRC"], "fpage": ["48050"]}]
BMC Bioinformatics. 2008 Aug 22; 9:350