ABOUT bLARS
=========================================================================
bLARS is a GRN inference algorithm. It uses modified LARS regression to
allow possibility for different type of regulator-target relationships.
It reads gene-expression data that is stored in tab separated text files,
each row representing a sample and columns are genes. The file header are
used as gene names. Optionally, one can provide list of transcription
factors. In that case, only tx-factors to gene edges will be infered i.e.
all edges will start from a tx-factor. All tx-factors MUST be in at the
start in the gene expression data file. In other words, if there are "k"
tx-factors specified then their expression should be first "k" columns in
the gene-expression. Please see data_demo directory for an example.
Now we shall give a brief description of code files/dir.
infer_grn_blars.m
The main function of the algorithm. Reads input data and calls blars
function to select potential regulators, the scores tx-factor target
edges and saves the output. Optinally, if gold-standard files are
present then it also computes AUPR/AUROC scores.
blars.m
A modification of LARS algorithm to select only one variable/feature
from a block i.e. a set of contigous "k" features.
predict_network.m
Save the scored GRN
read_data.m
Read and load input files.
score_edges.m
Area based scoring based on frequency of selection of features.
eval_dream5_nws.m
If gold standard networks are provided then it will evaluate the
AUPR and AUROC. Moreover, if AUROC/AUPR probability densities are given
(Applicable to DREAM5 networks) then corresponding p-values will be
printed.
eval_dream5/
DREAM5 evaluation code.
data_demo/
Sample data files.
data_dream5/
DREAM5 networks. Gene expression, tx-factors, gold standards and
AUROC/AUPR densities.
Network1 -- Synthetic, Network3 -- E. Coli, Network4 -- Yeast.
DEMO/EXAMPLE
=========================================================================
>> infer_grn_blars('data_demo','Demo_NW',2,2)
Looking for data related to Demo_NW ...
Getting expression data ... data_demo/Demo_NW_expression_data.txt
Getting transcription factors ...
# Genes:20, #tx-factor:10, #samples: 49, #lars step:2, #bootstraps: 2
Starting parallel pool (parpool) using the 'local' profile ... connected to 12 workers.
Running 12 MATLABPOOL workers.
Bootstrap run: 1
Elapsed time is 0.653298 seconds.
Bootstrap run: 2
Elapsed time is 0.175518 seconds.
Parallel pool using the 'local' profile is shutting down.
'cutoff' defaults to Inf
DREAM5 NETWORK EVALUATION
--------------------------------------------------------------------------
Note that Network1 is synthethic network, Network 3 is E. coli and
Network 4 is Yeast network. The Network 2 was S. aureus network but
is not a part of DREAM5 dataset as there was little information about
the gold standard network of S. aureus.
--------------------------------------------------------------------------
>> eval_dream5_nws('data_dream5','Network1');
Loading data_dream5/Network1_gold_standard.txt
Elapsed time is 0.183430 seconds.
Loading data_dream5/Network1_results/blars_prediction.txt
Elapsed time is 6.938343 seconds.
AUROC: 0.777403, p-val: 1.873388e-53, AUPR: 0.349189, p-val: 6.195306e-195, score:123.467655
>> eval_dream5_nws('data_dream5','Network3');
Loading data_dream5/Network3_gold_standard.txt
Elapsed time is 0.157560 seconds.
Loading data_dream5/Network3_results/blars_prediction.txt
Elapsed time is 16.345619 seconds.
AUROC: 0.610232, p-val: 5.465276e-08, AUPR: 0.063499, p-val: 3.791460e-05, score:5.841791
>> eval_dream5_nws('data_dream5','Network4');
Loading data_dream5/Network4_gold_standard.txt
Elapsed time is 0.207980 seconds.
Loading data_dream5/Network4_results/blars_prediction.txt
Elapsed time is 26.317978 seconds.
AUROC: 0.530769, p-val: 2.418200e-14, AUPR: 0.021230, p-val: 4.540103e-02, score:7.479721
ACKNOWLEDGEMENT
=========================================================================
a) The bLARS modification is done on orignial LARS matlab code implemented
by Xiaohui Chen (xiaohuic@ece.ubc.ca)
b) Some helper functions such as area based scoring etc are used directly
from the TIGRESS code. The TIGRESS was developed by Prof. Jean-Philippe
Vert's (jean-philippe.vert@mines.org) group at France.
c) The DREAM5 evaluation code are directly used.
COPYRIGHT & LICENSE
=========================================================================
Algorithm developed by Nitin Singh, Vidyasgar Research Group at the
University of Texas at Dallas (UTD), 2013-2014.
Copyright (C) 2011-2013 Nitin Singh, UTD
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
=========================================================================