• We are sorry, but NCBI web applications do not support your browser and may not function properly. More information
Logo of plosonePLoS OneView this ArticleSubmit to PLoSGet E-mail AlertsContact UsPublic Library of Science (PLoS)
PLoS One. 2010; 5(4): e10179.
Published online Apr 21, 2010. doi:  10.1371/journal.pone.0010179
PMCID: PMC2858156

A Parallel Implementation of the Network Identification by Multiple Regression (NIR) Algorithm to Reverse-Engineer Regulatory Gene Networks

Carl Kingsford, Editor

Abstract

The reverse engineering of gene regulatory networks using gene expression profile data has become crucial to gain novel biological knowledge. Large amounts of data that need to be analyzed are currently being produced due to advances in microarray technologies. Using current reverse engineering algorithms to analyze large data sets can be very computational-intensive. These emerging computational requirements can be met using parallel computing techniques. It has been shown that the Network Identification by multiple Regression (NIR) algorithm performs better than the other ready-to-use reverse engineering software. However it cannot be used with large networks with thousands of nodes - as is the case in biological networks - due to the high time and space complexity. In this work we overcome this limitation by designing and developing a parallel version of the NIR algorithm. The new implementation of the algorithm reaches a very good accuracy even for large gene networks, improving our understanding of the gene regulatory networks that is crucial for a wide range of biomedical applications.

Introduction

Microarray analysis methods produce large sets of gene expression data that can be exploited for novel insights into the fundamentals of molecular biology research. Inferring gene regulating networks from microarray gene expression data has become one of the major topics in system biology. Inferring or ‘reverse-engineering’ gene networks can be defined as the process of identifying regulatory gene interactions from experimental data through computational analysis.

Since the advent of microarray, various methods have been developed to infer the underlying gene regulatory network. The pioneer methods were simple clustering algorithms [1] where the similarity between genes were measured by a distance or “pseudo-distance” metric such as the clustering coefficient.

Since the structure to infer is a gene network, graphical models have been proposed and developed. This is the case of BANJO [2], that assumes that the gene network can be modeled as a Bayesian network. Bayesian statistics can be applied under some constrain [3].

Information theoretic approaches have been first proposed in [4] but the very first application was ARACNe [5]. ARACNe computes a pairwise pseudo-distance between each pair of genes to check their dependence. Theoretically ARACNe can be run to infer networks of any dimension.

All the mentioned algorithms have a ready-to-use software, and their performances have been tested and compared on both in-silico and in-vivo gene networks [6].

Here we will focus on an ODE-based algorithm, NIR [7], that relates the expression of each gene with the expression of other genes in the cell. It has been shown that NIR is able to correctly identify these relations called “influence interactions”. The ensemble of these interactions is referred to as gene network. Each of the recovered interactions within the gene network implies a regulatory interaction between components (Proteins, mRNAs, metabolites, etc.) of the cell. Gene networks can be used to identify the functional modules i.e. the subset of genes that regulate each other with multiple indirect interactions; to predict the response of the network to external perturbations and identify the genes directly hit; to identify physical interactions when integrated with additional information coming from sequence data and other experimental data.

Gene network inference algorithms based on ODEs relate gene transcript concentration changes to each other and to an external perturbation. The external perturbation is generally an experimental treatment that can alter the transcription rate of the genes in the cell. An example of perturbation is the treatment with a drug or a genetic perturbation that results in the overexpression or the downregulation of particular gene.

NIR algorithm achieves better results than the other network inference algorithms being able to reach peaks of 95% of correct predicted interactions. This has been shown in [8] where there have been selected and compared the algorithms capable of solving the network inference problem with an available ready-to-use software. In that work it wasn't possible to run NIR on data set with more than 100 genes because it would have taken too much time. Microarray technology allows the measurements of many thousands of transcripts at once and the mammalian gene regulatory network is of the order of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e001.jpg. The complexity in handling networks of this size [6], motivated us to design, develop and run a parallel computing algorithm.

In section Methods we describe the NIR algorithm and its parallel implementation; in section Results we describe experimental results and in section Discussion we give our conclusions.

Methods

The NIR algorithm

It is possible to describe the gene network as a system of differential equations in which each equation describes the variation in time of the concentration of a particular transcript (gene), An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e002.jpg, as a non linear function, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e003.jpg, of the concentrations of the other transcripts:

equation image
(1)

where An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e005.jpg is a vector whose components are the concentrations of the transcripts measured at time An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e006.jpg, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e007.jpg is the external perturbation applied at gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e008.jpg at time An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e009.jpg, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e010.jpg is a set of parameters describing interactions amongst genes, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e011.jpg is the rate of change in transcription of transcript An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e012.jpg and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e013.jpg is the number of genes.

To reverse-engineer a network using ODEs means to choose a functional form for An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e014.jpg and then to estimate the unknown parameters An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e015.jpg for each An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e016.jpg by using the gene expression data. With the ODE-based approach the resulting gene network will be a directed graph (i.e., if An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e017.jpg is the interaction between genes An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e018.jpg and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e019.jpg, it specifies the direction of the interaction, that is, gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e020.jpg regulates gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e021.jpg and not vice versa, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e022.jpg).

We expand An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e023.jpg in a Taylor series around An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e024.jpg, the point in which measurements were made. If we assume that perturbations around this point are sufficiently small, it is possible to truncate the Taylor series after the first order term, and obtain a linear expression:

equation image
(2)

where An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e026.jpg represents the influence of gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e027.jpg on gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e028.jpg, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e029.jpg represents the effect of the external perturbation on An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e030.jpg (in subsequent analysis, we set An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e031.jpg equal to one for the sake of simplicity) and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e032.jpg is the vector of the external perturbations at time An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e033.jpg (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e034.jpg and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e035.jpg are the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e036.jpg in equation (1)). An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e037.jpg is the rate of change of concentration of gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e038.jpg at time An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e039.jpg, i.e., the first derivative of the mRNA concentration of gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e040.jpg at time An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e041.jpg. In proximity of the steady-state the concentrations of the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e042.jpg transcripts don't change in time (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e043.jpg) so that the (2) can be rewritten as:

equation image
(3)

Let us suppose that we have conducted An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e045.jpg experiments such that we know the genes directly perturbed (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e046.jpg) as well as the expression profiles following the experiments (transcript concentration levels from microarray data An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e047.jpg). We can then solve the equation (3) for the unknown parameters An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e048.jpg, and thus obtain the ingoing edges per gene.

NIR applies the multiple linear regression method to estimate the unknown model parameters. It relies on the assumptions that the data An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e049.jpg are realizations of a normally distributed random variable with known variances and the perturbations, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e050.jpg, are random variables, also normally distributed with known variances. Generally, the response An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e051.jpg may be related to An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e052.jpg regressors and the model

equation image
(4)

is termed a multiple linear regression with An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e054.jpg regressors.

Having An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e055.jpg experiments (response observation points) at our disposal, the model for each gene of the network becomes:

equation image
(5)

The response (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e057.jpg) is given by the experimental perturbation values An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e058.jpg, the regression variable values (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e059.jpg) are given by the concentrations of the gene transcripts and the regression variable parameters are given by the components of the vector An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e060.jpg, so that, in matrix form, the model becomes:

equation image
(6)

with An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e062.jpg. The regression analysis aims to best-fit the data by estimating the parameters of the model. NIR estimates the parameters of the regression variables for each gene, using the least squares method. These are the values for which the first derivative of the residual sum square function is zero:

equation image
(7)

under the assumption that the regressors are linearly independent.

Biological networks are sparse [9], thus NIR adopts the sparsity assumption that imposes an upper bound on the number of ingoing edges per gene (i.e. maximum number of regulators per gene), An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e064.jpg, which can be chosen by the user.

For each gene the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e065.jpg parameters that result in the smallest mean square deviation identify the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e066.jpg ingoing edges for that gene. The weight of the identified edges is given by the value of the estimated parameters. The choice of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e067.jpg affects either the sensitivity to measurement errors or the execution time. A low value of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e068.jpg induces an increase in the solution sensitivity to measurement errors. A high value prohibitively increases the computational time needed to identify the regulatory network due to the high number of the regressor combinations to be included in the model. This number is equal to the number of combinations without repetitions of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e069.jpg objects taken An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e070.jpg at a time:

equation image
(8)

This is polynomial of degree An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e072.jpg in the number of genes. The exhaustive approach which evaluates the regression for each combination is not feasible for gene networks larger than 100 genes (with 100 genes and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e073.jpg the number of combinations is of the order of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e074.jpg), thus NIR uses the following heuristic approach.

For each gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e075.jpg:

  • At the first step NIR computes (7) An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e076.jpg times by considering the regression variables one at time; the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e077.jpg variables for which the sum of the squared deviations is minimized are selected as possible ingoing edges for the gene.
  • At the second step NIR computes (7) by considering the remaining An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e078.jpg variables jointly with each of the first An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e079.jpg selected ones, that is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e080.jpg (Gauss formula) pairs of variables; the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e081.jpg pairs of variables for which the sum of the squared deviations is minimized are selected as possible pairs of ingoing edges for the gene.
  • At step An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e082.jpg NIR computes (7) by considering the remaining An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e083.jpg variables jointly with each of the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e084.jpg sets of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e085.jpg variables selected at the previous step, that is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e086.jpg sets of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e087.jpg variables are considered; the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e088.jpg sets of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e089.jpg variables for which the sum of the squared deviations is minimized are selected as possible sets of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e090.jpg ingoing edges for the gene.
  • The process ends when the number of regression variables selected reaches An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e091.jpg; the set of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e092.jpg variables for which the sum of the squared deviations is minimized identifies the set of parameters An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e093.jpg corresponding to the input regulations affecting expression profile of gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e094.jpg.

The final output is an adjacency matrix, where each element is the edge An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e095.jpg, that encodes the directed graph. The number of times (7) is calculated for each gene is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e096.jpg, so the overall number of times (7) is calculated is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e097.jpg. The computational complexity of (7) at step An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e098.jpg, for the submatrix of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e099.jpg whose rows correspond to a set of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e100.jpg variables (An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e101.jpg), is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e102.jpg. The overall computational complexity is therefore An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e103.jpg.

The NIR parallel version and its implementation

The NIR algorithm can be easily parallelized to handle large problems in a computationally efficient manner by distributing the overall computational burden among different processors to reduce the total execution time. In order to address the high computational cost issue of the NIR algorithm we have applied some specific implementation optimizations along with parallel programming techniques.

The computational core of the NIR algorithm is the equation (7) where X is a submatrix of the gene expression matrix composed only of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e104.jpg rows (with An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e105.jpg). From the matrix-matrix product definition applied to the submatrix An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e106.jpg, with An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e107.jpg vector of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e108.jpg indices, it follows that:

equation image
(9)

Therefore for each step of the algorithm, we don't compute any matrix-matrix product operation An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e110.jpg. On the contrary the product An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e111.jpg is computed once and for all at the beginning of the program. At each step An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e112.jpg, our implementation just selects the symmetric submatrix of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e113.jpg whose row and column indices correspond to the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e114.jpg possible ingoing edges for the gene. Let An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e115.jpg be this submatrix of dimension An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e116.jpg stored in packed format.

In each experiment only one gene is perturbed. This implies that for each gene An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e117.jpg the perturbation vector An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e118.jpg is equal to An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e119.jpg and then the product An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e120.jpg reduces to the An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e121.jpg-th row of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e122.jpg. Denote this row by An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e123.jpg.

An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e124.jpg is positive definite so we can apply the Cholesky factorization to the matrix An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e125.jpg in order to compute An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e126.jpg as solution of the system of equations An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e127.jpg, thus avoiding the matrix inversion. We rely on the LAPACK [10] routine DPPSV to solve this system of equations with a computational complexity of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e128.jpg.

By avoiding the matrix product in (7), the parallel algorithm complexity is decreased by one order of magnitude: at the generic step the computational complexity is An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e129.jpg, the overall computational complexity is therefore An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e130.jpg

The parallelization is implemented by assigning different genes to different computing processes: each process takes care of An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e131.jpg genes where An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e132.jpg is the number of processes available. The computing steps described in the previous section can be performed independently for each gene so each process can compute the results for its genes independently without communication. The parallel algorithm has been implemented in C using the MPI standard.

Results

We carried out two kind of tests: to measure the result accuracy of the algorithm and to measure the efficiency in terms of speed-up. In order to measure the result accuracy we ran the program, by using the ‘in silico’ data generated by [8], on 20 different networks counting 1000 genes, with 10 as average in degree per gene. ‘In silico’ data are gene expression data generated by a computer model of the gene regulation that enable one to check the performance of algorithms against a perfectly known truth. For each network we generated 1000 experiments perturbing a different single gene at time (local steady-state data).

The program has been executed on 100 processors of an HP XC6000 Cluster with Itanium 2 biprocessors nodes and a Quadrics ELAN 4 network. On average it took 984 seconds to generate the results for each gene network. The program recovered most of the true interactions as shown in Table 1. We compared the results from the simulations obtained by our implementation with the ones obtained by the network inference software reviewed in [8], setting the parameters An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e133.jpg, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e134.jpg. Some software infers the network just as an undirected graph (i.e. the direction of the interaction is not specified, An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e135.jpg), while NIR generates directed and signed graphs. In order to be able to compare the different types of software, we computed PPV and Se by first transforming the real (signed directed graphs) and inferred networks yielded by our implementation into undirected graphs (labeled An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e136.jpg in Table 1). As shown in Table 1, NIR performs better than the other ready-to-use software even for 1000 gene networks.

Table 1
Results of the application of network inference algorithms on the simulated dataset.

Moreover we ran the program on a 2500 gene network, even though we didn't have any other software predictions to compare the results with. We set the same values for the parameters An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e191.jpg and An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e192.jpg as before. It took around 12450 seconds to generates the results and we obtained the following values for PPV and Sensitivity: 0.26An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e193.jpg, 0.27An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e194.jpg and 0.10An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e195.jpg, 0.11An external file that holds a picture, illustration, etc.
Object name is pone.0010179.e196.jpg respectively. In order to measure the parallel efficiency we run the program for a 1000 gene network on different number of processors. The execution times and speedups are shown in Table 2. To evaluate the parallel speed-up, we developed a serial version of the algorithm with the implementation optimizations discussed in the previous paragraph.

Table 2
Total execution times in seconds.

Discussion

We have designed, developed and tested a parallel version of the NIR algorithm whose purpose is to infer gene regulating networks from microarray gene expression data. Our parallel algorithm reduces the time complexity of the original NIR algorithm by one order of magnitude by avoiding the useless repetition of matrix multiplication. The algorithm uses data parallelism, distributing the gene expression data over the available processors. The tests were performed on large networks (N = 2500) that couldn't be efficiently analyzed by the original serial version. The results confirm the improvements in accuracy, in terms of positive predicted values, and sensitivity, in terms of false negatives, with the respect to the other inferring methods. In addition, the parallel algorithm scales well as the number of processors increases and has a linear speedup.

Acknowledgments

The authors would like to thank Sara Geneletti of Imperial College London for valuable comments on the manuscript.

Footnotes

Competing Interests: The authors have declared that no competing interests exist.

Funding: The authors have no support or funding to report.

References

1. Eisen MB, Spellman PT, Brown PO, Botstein D. Cluster analysis and display of genome-wide expression patterns. Proceedings of the National Academy of Sciences of the United States of America. 1998;95:14863–14868. [PMC free article] [PubMed]
2. Yu J, Smith VA, Wang PP, Hartemink AJ, Jarvis ED. Advances to bayesian network inference for generating causal networks from observational biological data. Bioinformatics. 2004;20:3594–3603. [PubMed]
3. Heckerman D. A tutorial on learning with bayesian networks. 1995. Technical report, Microsoft Research, Redmond, Washington. URL http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.1431.
4. Butte AJ, Kohane IS. Mutual information relevance networks: functional genomic clustering using pairwise entropy measurements. Pac Symp Biocomput. 2000:418–429. [PubMed]
5. Margolin AA, Nemenman I, Basso K, Wiggins C, Stolovitzky G, et al. ARACNE: an algorithm for the reconstruction of gene regulatory networks in a mammalian cellular context. BMC Bioinformatics. 2006;7(Suppl 1):S7. [PMC free article] [PubMed]
6. Bansal M, Belcastro V, Ambesi-Impiombato A, di Bernardo D. How to infer gene networks from expression profiles. Mol Syst Biol. 2007;3:78. [PMC free article] [PubMed]
7. Gardner TS, di Bernardo D, Lorenz D, Collins JJ. Inferring genetic networks and identifying compound mode of action via expression profiling. Science. 2003;301:102–105. [PubMed]
8. Bansal M, Belcastro V, Ambesi-Impiombato A, di Bernardo D. How to infer gene networks from expression profiles. Mol Syst Biol. 2007;3 [PMC free article] [PubMed]
9. Newman MEJ. The structure and function of complex networks. SIAM Review. 2003;45:167–256.
10. Anderson E, Bai Z, Bischof C, Demmel J, Dongarra J, et al. LAPACK's user's guide. Philadelphia, PA, USA: Society for Industrial and Applied Mathematics; 1992.

Articles from PLoS ONE are provided here courtesy of Public Library of Science

Formats:

Related citations in PubMed

See reviews...See all...

Cited by other articles in PMC

See all...

Links

  • MedGen
    MedGen
    Related information in MedGen
  • PubMed
    PubMed
    PubMed citations for these articles

Recent Activity

Your browsing activity is empty.

Activity recording is turned off.

Turn recording back on

See more...