
Reconstruct a multi-omics network from a list of copulized layers
Source:R/reconstruct.R
reconstruct.RdReconstruct a multi-omics network from a list of copulized layers with a chosen network reconstruction method. The default method is collaborative graphical regression.
Usage
reconstruct(
layers,
net_method = "coglasso",
sel_method = NULL,
...,
cor_cutoff = NULL,
cor_quant = NULL,
minimal_output = FALSE,
verbose = FALSE
)Arguments
- layers
The omics layers to analyze. To be provided as a named R list of data sets that have undergone the copulization treatment by the
copulize()function. Given the output ofcopulize(), for example an object namedcarmon_cop, it can be accessed viacarmon_cop$layers.- net_method
The network reconstruction method to use. The four methods currently available are: 'coglasso' for collaborative graphical lasso, 'glasso' for graphical lasso, 'mb' for the Meinshausen-Buhlmann neighborhood selection, and 'correlation' for a thresholded Pearson's correlation network. The default method is 'coglasso'.
- sel_method
The network selection method. Each reconstruction procedure has its own model selection procedures available. Here is the list of them:
for
net_methodbeing 'coglasso': 'xstars' for eXtended StARS, 'xestars' for eXtended Efficient StARS, and 'ebic' for extended bayesian information criterion. Default is 'xestars'.for
net_methodbeing 'glasso': 'stars' for StARS, 'ric' for rotational information criterion, and 'ebic' for for extended bayesian information criterion. Default is 'stars'.for
net_methodbeing 'mb' or 'correlation': 'stars' for StARS, 'ric' for rotational information criterion. Default is 'stars'.
- ...
The additional optional arguments to be given for the network reconstruction procedure. The available arguments depend on the chosen network reconstruction and network selection methods. If using 'coglasso' (default option), see
coglasso::bs()for both reconstruction and selection arguments. If reconstructing with 'glasso', 'mb', or 'correlation' without settingcor_cutofforcor_quantsee, respectively,huge::huge.glasso(),huge::huge.mb(), orhuge::huge.ct(). For additional options for network selection from these last three reconstruction methods, seehuge::huge.select().- cor_cutoff
Optional for
net_method = 'correlation'. The cutoff value for the absolute Pearson's correlation network. Any edge with an absolute correlation below the cutoff is excluded from the final network. Not used by default, as the cutoff is generated by internal calculations.- cor_quant
Optional for
net_method = 'correlation', to set as an alternative tocor_cutoff. Determine the cutoff of correlation based on the top percentile indicated by the user. For example,cor_quant = 0.2would set as a correlation cutoff the 20th percentile of the absolute Pearson's correlation values, ordered from highest to lowest. Not used by default, as the cutoff is generated by internal calculations.- minimal_output
Logical. Set to TRUE to get only a minimal output from the
reconstruct()function, which differs depending on the network reconstruction method.- verbose
The level of verbosity of the reconstruction process.
0suppresses the information output, while1and2give progressively increasing amounts of information about the inner computations happening insidereconstruct().
Value
reconstruct() returns an object of S3 class carmon_rec. The
elements it contains depend on the chosen network reconstruction and
selection strategies, but the main elements are shared by all methods.
These shared elements are:
sel_adjis the adjacency matrix of the final selected network.net_methodis the chosen network reconstruction method.sel_methodis the chosen model selection method.reconstruct_callis the matched call.
Moreover, when choosing 'coglasso' or 'glasso' as network reconstruction
method, reconstruct() also returns:
sel_icovis the inverse covariance matrix of the final selected network.
Otherwise, if choosing 'correlation', it returns:
coris the Pearson's correlation matrix of the final selected network.
When minimal_output is set to TRUE, these are also the only elements
returned in the object of class carmon_rec given by reconstruct(). For
the non minimal output elements, please look at coglasso::bs() for
net_method = 'coglasso'. For the other three methods, look at
huge::huge() and at huge::huge.select().
Details
reconstruct() uses collaborative graphical lasso ('coglasso') as a
default engine to reconstruct the multi-omics network, as the method was
specifically developed for the multi-omics scenario. carmon also implements
three classic alternatives to 'coglasso': graphical lasso,
neighborhood selection (as designed by Meinshausen and Buhlmann), and
Pearson's correlation networks. The computational engine mainly used for
these alternative options is the huge R package for network reconstruction,
with a couple of small exceptions. Each one of these methods comes with its
tailored model selection procedures. For 'coglasso', for example, it is an
StARS procedure extended to the multiple hyperparameters of coglasso,
XStARS, while for the other methods we suggest using the traditional
StARS strategy.
Examples
# To reconstruct the multi-omics network, it is first necessary to copulize
# the input data with copulize(), then provide the normally distributed
# omics layers to reconstruct().
data(multi_omics_micro)
copulized <- copulize(multi_omics_micro)
rec <- reconstruct(copulized$layers,
net_method = "correlation",
cor_quant = 0.5, verbose = FALSE
)
# To make a carmon object out of these two:
c_obj <- assemble_carmon_obj(copulized, rec)