Volume 10 Supplement 11
Proceedings of the Sixth Annual MCBIOS Conference. Transformational Bioinformatics: Delivering Value from Genomes
NATbox: a network analysis toolbox in R
 Shweta S Chavan^{1},
 Michael A Bauer^{1},
 Marco Scutari^{2} and
 Radhakrishnan Nagarajan^{3}Email author
DOI: 10.1186/1471210510S11S14
© Chavan et al; licensee BioMed Central Ltd. 2009
Published: 8 October 2009
Abstract
Background
There has been recent interest in capturing the functional relationships (FRs) from highthroughput assays using suitable computational techniques. FRs elucidate the working of genes in concert as a system as opposed to independent entities hence may provide preliminary insights into biological pathways and signalling mechanisms. Bayesian structure learning (BSL) techniques and its extensions have been used successfully for modelling FRs from expression profiles. Such techniques are especially useful in discovering undocumented FRs, investigating noncanonical signalling mechanisms and crosstalk between pathways. The objective of the present study is to develop a graphical user interface (GUI), NATbox: Network Analysis Toolbox in the language R that houses a battery of BSL algorithms in conjunction with suitable statistical tools for modelling FRs in the form of acyclic networks from gene expression profiles and their subsequent analysis.
Results
NATbox is a menudriven opensource GUI implemented in the R statistical language for modelling and analysis of FRs from gene expression profiles. It provides options to (i) impute missing observations in the given data (ii) model FRs and network structure from gene expression profiles using a battery of BSL algorithms and identify robust dependencies using a bootstrap procedure, (iii) present the FRs in the form of acyclic graphs for visualization and investigate its topological properties using network analysis metrics, (iv) retrieve FRs of interest from published literature. Subsequently, use these FRs as structural priors in BSL (v) enhance scalability of BSL across highdimensional data by parallelizing the bootstrap routines.
Conclusion
NATbox provides a menudriven GUI for modelling and analysis of FRs from gene expression profiles. By incorporating readily available functions from existing Rpackages, it minimizes redundancy and improves reproducibility, transparency and sustainability, characteristic of opensource environments. NATbox is especially suited for interdisciplinary researchers and biologists with minimal programming experience and would like to use systems biology approaches without delving into the algorithmic aspects. The GUI provides appropriate parameter recommendations for the various menu options including default parameter choices for the user. NATbox can also prove to be a useful demonstration and teaching tool in graduate and undergraduate course in systems biology. It has been tested successfully under Windows and Linux operating systems. The source code along with installation instructions and accompanying tutorial can be found at http://bioinformatics.ualr.edu/natboxWiki/index.php/Main_Page.
Background
Classical biological experiments have focused on understanding changes in the expression of single genes across distinct biological states. Such differential gene expression analyses while useful may not provide sufficient insight into their interactions or functional relationships (FRs). Understanding FRs is crucial as genes work in concert as a system as opposed to independent entities. On a related note, phenotype formation is mediated by pathways comprising of complex interactions between several genes as opposed to a single gene. Recent development of highthroughput assays in conjunction with sophisticated computational tools has enabled modelling such interactions and gain systemlevel understanding.
Several commercial and noncommercial software packages have been developed in the past for modelling gene interactions. Ontologybased packages [1, 2] that rely on prior knowledge have been used traditionally to identify pathways enriched in a given experiment from existing documented pathways. Commercial packages (Ingenuity Pathway Analysis, Ingenuity Systems, Redwood City, CA) and (Pathway Studio, Ariadne Genomics, Rockville, MD) provide menudriven GUI for retrieving functional relationships on a given set of genes from published literature. It is important to note that such techniques draw conclusions based on documented pathways and pooling knowledge across disparate sources. This in turn can render the conclusions noisy as genes and FRs may exhibit considerable variations across studies. Such an approach also relies implicitly on prior information, hence may have limited use in discovering novel FRs. Recent studies have provided compelling evidence of noncanonical signalling mechanism and crosstalk between pathways [3, 4] that demand inferring network structure from the given data as opposed to direct inference from documented/curated pathways.
Bayesian structure learning (BSL) techniques [5] have been used successfully to infer interactions between a given set of genes in the form of graphs. The inherent probabilistic nature of gene expression and access to highthroughput assays that facilitate simultaneous measurement of transcriptional, translational and posttranslational activities [4] are some of the reasons for their widespread use. Gene expression data with interventions [4] have also been recently shown to improve the conclusions drawn using Bayesian network modelling [4]. Probabilistic mechanisms underlying gene expression can be attributed to inherent noisiness and heterogeneity within/between cell population(s) [6]. Highthroughput assays such as microarrays [7, 8] and clonal gene expression profiling [9] in conjunction with BSL [10] had been used successfully in the past to capture functional relationships at the transcriptional level. More recently, highthroughput flow cytometry data from singlecells with perturbations in conjunction with BSL were used to obtain systemlevel understanding at translational and posttranslational data [4].
Results
Prior to a detailed description of NATbox functionalities, we briefly review those of a closely related package BNArray [13] which was designed to provide a higherlevel abstraction of Rroutines from existing packages for gene network modelling. BNArray is a command line driven package where the user is expected to be familiar with the R environment [14] and syntax. It consists of four main modules (i) determine missing values in a given data using the functions LLSimpute, also implemented in the Rpackage pcamethods [15] (ii) Learn acyclic network structure using BSL routines from the Rpackage deal [16]. Subsequently display the graph by invoking functions from the Rpackage dynamicGraph [17] (iii) identify what the author term as 1^{ st }order network structure using a resampling procedure and (iv) reconstruct coherent subregulatory networks using an extended version of the algorithm CODENSE [18]. In the following discussion, we describe the features of NATbox as well as compare those implemented in BNArray in a systematic manner.
Comparison of main features in NATbox and BNArray
NATbox  BNArray 

Provides a Graphical User Interface (GUI)  Commandline driven with no graphical user interface (GUI). 
Supported across operating systems: Windows and Linux.  Supported across operating systems: Windows and Linux. 
Parameter recommendations are provided for the various algorithms with default values automatically inserted in GUI.  No parameter recommendations and default values are provided for the algorithms. 
Input file is tabdelimited where columns represent the genes of interest and rows represent the experiments. The rows are assumed to be independent of one another.  Input file is tabdelimited where rows represent the genes of interest and columns their measurements across experiments. Unlike NATbox, no specifications are provided as to whether the experiments need to be correlated or uncorrelated. 
Imputation of missing values is accomplished by knearest neighbour approach impute.knn from the Rpackage impute  Imputation of missing values is accomplished by local least square estimation LLSImpute also implemented in the Rpackage pcamethods. 
Bayesian Structure Learning (BSL) algorithms are invoked from the RPackage bnlearn.  Bayesian Structure Learning (BSL) algorithms are invoked from the RPackage deal. 
BSL algorithms ideally suited for continuous as well as discrete data sets characteristic of gene expression profiles and their quantized/coarsegrained counterparts.  BSL algorithm is ideally suited for mixed data type consisting of continuous as well as discrete values. Although, the authors of BNArray use it for analyzing temporally correlated gene expression data. 
BSL algorithms from the package bnlearn include constraintbased (GS, IAMB, FastIAMB, IIAMB, MMPC) as well as search and score techniques (HillClimbing) are implemented.  No options are provided for multiple BSL algorithms. 
BSL techniques implemented from bnlearn provide choice of several conditional independence tests and scoring criteria for continuous and discrete data sets under constraintbased and search and score techniques respectively. Conditional independence tests for constraintbased: mutual information, mutual information for Gaussian distributed data, fast mutual information, Pearson X^{2}, Akaike information criterion, linear correlation and Fisher's Z. Scoring Criteria for search and score: multinomial likelihood, multinomial loglikelihood, Akaike information criterion, Bayesian information criterion, Bayesian Dirichlet score and Gaussian posterior density).  No options are provided for multiple BSL algorithms. 
Provides options to incorporate structural priors during BSL by whitelisting (include) and blacklisting (exclude) edges.  No options are provided for incorporating structural priors. 
Confidence of an edge is determined by bootstrapping. Uses Rpackage RGraphviz for visualization, which is designed to handle the layout of large graphs. Provides options to highlight edges whose confidence is greater than user specified threshold.  Confidence of an edge is determined by bootstrapping. Uses Rpackage dynamicGraph for visualization, which may require manual tuning of the node layout for large graphs. No options are provided to highlight edges whose confidence is greater than user specified threshold. 
Parallelization of the bootstrap routines is accomplished by invoking functions from the Rpackage SNOW.  No options are provided for parallelization. 
Topological properties of the results of BSL are investigated using centrality measures (degree, betweenness and closeness) from the Rpackage igraph.  Does not provide any centrality measures. 
Provides motif finder from the package igraph for identifying motifs from the results of BSL. Results from igraph can also be loaded into Cytoscape fro detailed visualization.  Provides a modified version of the algorithm CODENSE for constructing coherent subnetworks from the results of BSL. 
Provides a text retrieval interface to retrieve published literature to retrieve functional relationships of interest. This is useful justifying the choice structural priors in BSL.  No interface for text retrieval is provided. 
i. GUI: NATbox provides a convenient menudriven graphical user interface (GUI) developed using Tcl/Tk for modelling and analysis of gene expression networks. This has to be contrasted with BNArray [13], which is a command line driven package and demands the user to be familiar with the Renvironment and syntax.
ii. Input/output: The input data in NATbox is assumed to be in tabdelimited text format, similar to that of BNArray. In NATbox, the rows of the input file represent independent experiments whereas the columns represent the names of the genes. However, in BNArray the rows represent the genes of interest and the columns represent their expression across experiments. Unlike NATbox, BNArray does not specify whether the experiments need to be independent or dependent.
iii. Missing values: Gene expression profiles often have missing values. For instance, in microarray data such missing values are common and may be attributed to experimental artefact, improper hybridization and nonspecific binding of the probes. It is prudent to use suitable statistical techniques to accommodate such data sets rather than discard them. NATbox provides an option to determine missing values using nearestneighbour averaging approach (menu: File), impute.knn (Rpackage impute) which has been found to perform well for highdimensional data sets [19]. BNArray also provides a neighbourhoodbased imputation technique, namely the least local squares (LLSImpute) [15] algorithm for determining missing values. A version of LLSImpute algorithm is also available through the (Rpackage pcamethods).
iv. Functional relationships: NATbox provides the option to model functional relationships using a battery of Bayesian structure learning techniques from the Rpackage (bnlearn) [20] (menu: Bayesian Networks). It is important to note that they model the network structure solely from the joint probability distribution in the absence of explicit temporal information. The tabdelimited input data should be in the form of a matrix where the columns represents the number of genes, and rows the number of repeated (independent) experiments. Each element in the matrix represents the expression value of that gene in a given experiment.
Constraintbased techniques in NATbox that model the network based on the results of conditional independence tests include:

GrowShrink Algorithm (GS) [21]: GS is based on the GrowShrink Markov blanket, the first (and simplest) Markov blanket detection algorithm.

Incremental Association Markov Blanket Algorithm (IAMB) [22]: IAMB is based on the Markov blanket detection algorithm. It uses a twophase selection scheme. A forward selection followed by an attempt to remove false positives which scales well up to thousands of variables.

Fast Incremental Association Markov Blanket Algorithm (FastIAMB) [23]: FastIAMB is a variant of IAMB which uses speculative stepwise forward selection to reduce the number of conditional independence tests.

Interleaved Incremental Association Markov Blanket Algorithm (InterIAMB) [22]: InterIAMB is another variant of IAMB that uses forward stepwise selection to avoid false positives in the Markov blanket detection phase. Even though it often requires more conditional tests than the other IAMB variants, it's still able to scale up to thousands of variables while maintaining its robustness against false positives.

MaxMin Parents Children Algorithm (MMPC) [24]: MMPC is a forward selection technique for neighbourhood detection based on the maximization of the minimum association measure. It learns the underlying structure of the Bayesian.
Several choices of conditional independence tests for categorical/discrete (mutual information, mutual information for Gaussian distributed data, fast mutual information, Pearson's χ^{2}, Akaike information criterion) as well as numerical/continuous distributions (linear correlation, Fisher's Z) are provided. NATbox also provides an interface to the search and score algorithm (HC, Hillclimbing) from bnlearn. HC searches the model space and retrieves the best model using a scoring criterion which is also provided. Several choices of scoring criterion are provided for categorical/discrete (multinomial likelihood, multinomial loglikelihood, Akaike information criterion, Bayesian information criterion, Bayesian Dirichlet score, K2 score) and numerical/continuous distributions (Gaussian posterior density). Each BSL technique works under implicit assumptions and may result in spurious conclusions when these assumptions are violated. NATbox provides a battery of BSL techniques to alleviate such concerns. For instance, constraintbased techniques can be affected by sample sizes and are sensitive to initial results of the conditional independence tests. Search and score algorithms can result in local optima, hence may benefit from multiple random restarts unlike constraintbased approaches.
On the other hand, BNArray [13] uses a greedy search implementation of the BSL technique implemented in deal to learn the network structure. It is important to note that algorithm implemented in deal is ideally suited for handling mixed data types consisting of continuous as well as discrete data types. Although the authors [13] of BNArray have demonstrated the performance of their approach on temporal gene expression profile, it is unclear as to whether deal algorithm accommodates such temporal explicit information during structure learning. This is in contrast with NATbox which implements algorithms from bnlearn for learning the network structure from homogenous data types characteristic of gene expression profiles, i.e. either continuous or discrete data sets.
In addition, NATbox GUI also provides options for incorporating (directional) structural priors in BSL by whitelisting (include) and blacklisting (exclude) FRs. Such priors impose constraints on the network structure which implicitly rely on prior knowledge and needs to be chosen prudently in order to avoid bias during learning. However, a proper choice can alleviate uncertainty and improve accuracy of the conclusions. A text retrieval interface is provided for identifying structural priors and can be useful for investigating wellestablished signalling mechanisms.
vi. Network analysis metrics: BSL techniques are useful in inferring the causeeffect relationships and network structure from the gene expression profiles. However, they provide no insight into the network's topological properties. NATbox incorporates social network analysis metrics and motif finder from the package (igraph) [26] under (menu: Network Analysis Metrics) for investigating the topological properties of the networks generated using BSL techniques. Such metrics can be especially useful in investigating large networks. The input is assumed to be a binary adjacency matrix of the network constructed using BSL with ones and zeros representing the presence/absence of an edge respectively. Since BSL results in directed acyclic graphs, the corresponding binary adjacency matrix need not be symmetric. The centrality measures (degree centrality, closeness centrality, betweenness centrality, alpha centrality) along with their respective parameter options are provided for the user. A detailed discussion of these centrality measures are deferred to [26, 27]. Degree centrality is one of the commonly used measures of centrality and broadly classified into outdegree (edges directed outward from a node) and indegree (edges directed into a node). The distribution of the degree centrality has been widely studied and provides crucial insight into the topology of a network. Recent studies have elucidated the prevalence of powerlaw degree distribution in biological networks [28]. Such powerlaw distributions may be accompanied by interesting properties such as the presence of hubs (critical genes) and scalefree phenomena unlike exponential degree distributions. Justification of powerlaw degree distributions can be challenging especially when the information about the tail of the distribution is insufficient [29]. Betweenness centrality is useful in identifying genes that act as important mediators between other genes, although they themselves might not be densely connected to all the packages. Genes with high betweenness centrality may play an important role in bridging the gap between densely connected subgroups. On the other hand, closeness centrality is useful in identifying genes that are directly or indirectly dependent on other genes. The menu also provides an option to determine the diameter and identify recurrent structures or motifs of sizes 3 and 4 in the given network by invoking the respective functions from igraph [26]. Motifs are recurrent atomic structures with frequency distribution different from that of random network. Recent studies have identified certain specific motifs that persist across distinct real world networks [30]. The igraph package incorporated into NATBox also provides option to save the acyclic network in formats compatible with Cytoscape [31] for detailed visualization.
Conclusion
Modelling and analysis of gene expression networks is an area of active research. Several tools have been proposed in the literature for the same. Recently, Bayesian structure learning (BSL) techniques in conjunction with high throughput assays were used successfully to capture functional relationships. Existing packages may demand the user to have considerable programming expertise. NATbox provides a convenient menudriven GUI along with appropriate parameter recommendations including default parameter choices for modelling and analysis of gene expression networks. It incorporates diverse functionalities from existing Rpackages. This in turn encourages transparency and reproducibility, characteristic of opensource environment. NATbox can also be used as a teaching and demonstration tool for graduate courses in systems biology. Immediate future enhancements to the toolbox include (i) expand the choice of structure learning algorithms including dynamic bayesian networks (ii) improve statistical inference of the network features (ii) parallelization of the implemented routines across multicore and multiprocessor machines of BSL functions as well as bootstrapping (iii) provide a webinterface so as to obviate the need for local installation of the toolbox (iv) enhance text retrieval so as to accommodate advanced text mining approaches.
Declarations
Acknowledgements
RN acknowledges funding from R03L008853 and #P20RR16460 from IDeA Network of Biomedical Research Excellence (INBRE) Program of the National Center for Research Resources (NCRR/NIH).
This article has been published as part of BMC Bioinformatics Volume 10 Supplement 11, 2009: Proceedings of the Sixth Annual MCBIOS Conference. Transformational Bioinformatics: Delivering Value from Genomes. The full contents of the supplement are available online at http://www.biomedcentral.com/14712105/10?issue=S11.
Authors’ Affiliations
References
 Subramanian A, et al.: Gene set enrichment analysis: a knowledgebased approach for interpreting genomewide expression profiles. Proc Nat Acad Sci USA 2005, 102(43):15545–50. 10.1073/pnas.0506580102PubMed CentralView ArticlePubMedGoogle Scholar
 Carbon S, et al.: AmiGO: online access to ontology and annotation data. Bioinformatics 2009, 25(2):288–9. 10.1093/bioinformatics/btn615PubMed CentralView ArticlePubMedGoogle Scholar
 Zhou , et al.: Modulation of morphogenesis by noncanonical Wnt signaling requires ATF/CREB familymediated transcriptional activation of TGFβ2. Nature Genetics 2007, 39: 1225–1234. 10.1038/ng2112View ArticlePubMedGoogle Scholar
 Sachs K, et al.: Causal ProteinSignaling Networks Derived from Multiparameter SingleCell Data. Science 2005, 308: 523–529. 10.1126/science.1105809View ArticlePubMedGoogle Scholar
 Pearl J: Causality: Models, Reasoning, and Inference. Cambridge University Press; 2000.Google Scholar
 McAdams H, H Arkin AP: Genetic Regulation at the Nanomolar Scale: It's a Noisy Business! Trends in Genetics 1999, 15(2):65–69. 10.1016/S01689525(98)01659XView ArticlePubMedGoogle Scholar
 Friedman N, et al.: Data Analysis with Bayesian Networks: A Bootstrap Approach. Proc Fifteenth Conf on Uncertainty in Artificial Intelligence (UAI) 1999, 196–205.Google Scholar
 Friedman N, et al.: Using Bayesian Network to Analyze Expression Data. J Computational Biology 2000, 7: 601–620. 10.1089/106652700750050961View ArticleGoogle Scholar
 Madras N, et al.: Modeling Stem Cell Development by Retrospective Analysis of Gene Expression Profiles in Single ProgenitorDerived Colonies. Stem Cells 2002, 20: 230–240. 10.1634/stemcells.203230View ArticlePubMedGoogle Scholar
 Nagarajan R, et al.: Modeling genetic networks from clonal analysis. J Theor Biol 2004, 230(3):359–73. 10.1016/j.jtbi.2004.05.008View ArticlePubMedGoogle Scholar
 Hartemink A: Bayesian Network Inference with Java Objects (BANJO).[http://www.cs.duke.edu/~amink/software/]
 Murphy K: Bayes NET Toolbox for MATLAB.[http://www.cs.ubc.ca/~murphyk/Software/BNT/bnt.html]
 Chen X, et al.: BNArray: an R package for constructing gene regulatory networks from microarray data by using Bayesian network. Bioinformatics 2006, 22(23):2952–4. 10.1093/bioinformatics/btl491View ArticlePubMedGoogle Scholar
 R Development Core Team: R: A language and environment for statistical computing. R Foundation for Statistical Computing; 2008.Google Scholar
 Kim H, et al.: Missing value estimation for DNA microarray gene expression data: local least squares imputation. Bioinformatics 2005, 21(2):187–198. 10.1093/bioinformatics/bth499View ArticlePubMedGoogle Scholar
 Bøttcher SG, Dethlefsen C: Deal: a package for learning Bayesian Networks. J Stat Software 2003, 8: 1–40.Google Scholar
 Badsberg JH: DynamicGraph, CRAN package, 0.2.2.5. 2009.Google Scholar
 Hu H, et al.: Mining coherent dense subgraphs across massive biological networks for functional discovery. Bioinformatics 2005, 21(Suppl):i213i221. 10.1093/bioinformatics/bti1049View ArticlePubMedGoogle Scholar
 Hastie T, Tibshirani R, Sherlock G, Eisen M, Brown P, Botstein D: Imputing Missing Data for Gene Expression Arrays. Stanford University Statistics Department Technical Report; 1999.Google Scholar
 Scutari M: bnlearn: Bayesian network structure learning, Version 1.3, CRAN package. 2008.Google Scholar
 Margaritis D: Learning Bayesian Network Model Structure from Data. Ph.D. Thesis, School of Computer Science, CarnegieMellon University, Pittsburgh, PA, 2003. Technical Report CMUCS03–153Google Scholar
 Tsamardinos I, et al.: Algorithms for Large Scale Markov Blanket Discovery. Proceedings of the Sixteenth International Florida Artificial Intelligence Research Society Conference 2003, 376–381.Google Scholar
 Yaramakala S, Margaritis D: Speculative Markov Blanket Discovery for Optimal Feature Selection. Proceedings of the Fifth IEEE International Conference on Data Mining 2005, 809–812. full_textView ArticleGoogle Scholar
 Tsamardinos I, et al.: The MaxMin HillClimbing Bayesian Network Structure Learning Algorithm. Machine Learning 2006, 65(1):31–78. 10.1007/s1099400668897View ArticleGoogle Scholar
 Tierney , et al.: snow: Simple Network of Workstations, CRAN package 0.3–3. 2008.Google Scholar
 Csardi G: igraph: Routines for simple graphs, network analysis Version 0.5.1. CRAN package. 2008.Google Scholar
 Wasserman S, Faust K: Social Network Analysis. Cambridge University Press; 2007.Google Scholar
 Barabási AL, et al.: Network biology: understanding the cell's functional organization. Nature Reviews Genetics 2004, 5: 101–113. 10.1038/nrg1272View ArticlePubMedGoogle Scholar
 Goldstein ML, et al.: Problems with fitting to the powerlaw distribution. The European Physical Journal 2004, B41: 255–258.View ArticleGoogle Scholar
 Milo R, et al.: Network Motifs: Simple Building Blocks of Complex Networks. Science 2002, 298: 824–827. 10.1126/science.298.5594.824View ArticlePubMedGoogle Scholar
 Shannon P, et al.: Cytoscape: a software environment for integrated models of biomolecular interaction networks. Genome Research 2003, 13(11):2498–504. 10.1101/gr.1239303PubMed CentralView ArticlePubMedGoogle Scholar
 Margaritis D: Learning Bayesian Network Model Structure from Data. Ph.D. Thesis, School of Computer Science, CarnegieMellon University, Pittsburgh, PA 2003. Available as Technical Report CMUCS03–153. Available as Technical Report CMUCS03153.Google Scholar
 Tsamardinos I, Aliferis CF, Statnikov A: "Algorithms for Large Scale Markov Blanket Discovery". In "Proceedings of the Sixteenth International Florida Artificial Intelligence Research Society Conference". AAAI Press; 2003:376–381.Google Scholar
 Yaramakala S, Margaritis D: "Speculative Markov Blanket Discovery for Optimal Feature Selection". In "ICDM '05: Proceedings of the Fifth IEEE International Conference on Data Mining". IEEE Computer Society, Washington, DC, USA; 2005:809–812.View ArticleGoogle Scholar
 Tsamardinos I, Brown LE, Aliferis CF: "The MaxMin HillClimbing Bayesian Network Structure Learning Algorithm". Machine Learning 2006, 65(1):31–78. 10.1007/s1099400668897View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.