W124 Nucleic Acids Research, 2012, Vol. 40, Web Server issue subnetwork property, molecular proﬁle and patient survival data), (ii) a searching algorithm (for ﬁnding the candidate biomarkers) and (iii) an evaluation (validating the statistical signiﬁcance of the biomarkers). Scoring function SurvNet ﬁrst evaluates each gene (node) i by calculating the P-values pi from a univariable Cox proportional hazards regression model (13,14), which quantiﬁes how signiﬁcantly the molecular proﬁling data of the gene correlate with the patient survival data. Then, each gene i is assigned a z-score si transformed from pi, 1 1 ð si ¼ piÞ, as the score for each node in the network, where F 1 is the inverse standard normal cumulative distribution function (12). For random data, pi follows a uniform distribution from 0 to 1, and by the transformation, si follows a standard normal distribution, with smaller pi correspond- ing to larger z-scores. The scoring function F of a subnetwork G with n genes is calculated by an aggregate z-score (12), FG ¼ p1ﬃnﬃ X si, i2G where FG follows a standard normal distribution if the si are independently drawn from a standard normal distri- bution. According to the formula, FG is independent with a subnetwork of size n. Therefore, subnetworks with different sizes are comparable under this score function. Searching algorithm Because ﬁnding the connected subnetworks with the maximal score is NP-hard (12), SurvNet uses a greedy searching algorithm, as previously described (10–12). The searching starts from a seeded gene i and expands iteratively. The algorithm will terminate and output the candidate subnetworks if no candidate gene j around the current subnetwork G satisﬁes the following two condi- tions: (i) the number of edges in the shortest path between j and seeded gene i is smaller than or equal to and (ii) the score of subnetwork G with gene j is higher than (1+ ) * FG, where and are two pre-determined parameters. Speciﬁcally, is used to reduce the searching space and is a ﬁxed increasing rate, ensuring that a new gene added to the subnetwork must increase the network score FG by a rate larger than or equal to . Evaluation SurvNet evaluates the statistical signiﬁcance of the subnet- works identiﬁed in the searching step, as previously described (12). It ﬁrst uses random sampling to see if the score of a subnetwork is signiﬁcantly higher than that of a random gene set in the network. To do so, SurvNet randomly samples gene sets with n genes 10 000 times. Then, the same scoring function is used to calculate the scores for the random gene sets. The population mean n and standard deviation n are estimated from the sampled gene sets. Finally, FG is calibrated against this background distribution as follows: ~ FG ¼ FG n n : This calibrated score is the ﬁnal network score for a subnetwork in the output. Moreover, since the multiva- riable Cox proportional hazards regression model is widely used to quantify the correlation between a group of genes and patient survival data, SurvNet also calculates the mutivariable Cox P-values for each subnetwork to validate their clinical utility. One potential advantage of SurvNet is to identify key disease genes that could have been missed through single-gene based analyses. For example, TP53 is a master cancer gene in ovarian carcin- oma. Based on the protein expression and patient survival data from a recent study (1), TP53 protein, as a single node, shows no signiﬁcant correlation with the patient survival, but a TP53-centered network is among the top biomarkers SurvNet identiﬁes. WEB SERVER Input The web server accepts three input ﬁles. The ﬁrst one is a biological network ﬁle, representing a gene regulatory or protein interaction network [a human protein–protein interaction network (15) is provided as the default]. This ﬁle contains all the edges of a biological network, in which each line represents an edge. The second ﬁle is one molecular proﬁling ﬁle, containing any type of gene- or protein-centred high-throughput biological data (e.g. microarray-based gene expression data, reverse-phase protein array (16) protein expression data, DNA methy- lation data or gene mutation data). This ﬁle is a tab-separated numeric matrix, where the column names are the sample IDs and row names are gene IDs. The third ﬁle is one patient survival data ﬁle (e.g. patients’ overall survival time or progression-free survival time). This ﬁle has three columns, named ‘id’, ‘censor’ and ‘time’, respectively. After uploading the required input ﬁles, users can set the search distance (Figure 1A). This parameter deﬁnes the searching area in the network: start with each valid gene (or protein) node as the seed, SurvNet will automatically search for the optimal subnetwork(s) within this deﬁned distance. SurvNet uses the same network searching algorithm that was previously described (10,11). A larger parameter will require a longer computation time. The default search distance is 2. Output In the ﬁnal output, the subnetworks that SurvNet identiﬁes will ﬁrst be displayed in a table format (Figure 1B). These results can be directly downloaded. The network ﬁles are in a ‘.dot’ format that can be visualized by GraphViz (http://www.graphviz.org). As shown in Figure 1C, the identiﬁed subnetworks are ranked within the table according to the network score,