Changelog
Source:NEWS.md
coglasso (development version)
Began the deprecation process of
stars_coglasso()
, renamed to the more accuratexstars()
. Made also some implementation improvements toxstars()
that made it faster.Implemented
select_coglasso()
for handling all possible present (and future) model selection methods from a single wrapping function. For the moment it allows to perform model selection with either eXtended StARS, eXtended Efficient StARS (see below), or eBIC.Implemented
bs()
a single wrapping function to build the multi-omics networks withcoglasso()
and select the best one according to the preferred model selection method withselect_coglasso()
in a single function call.Implemented
xestars()
, performing eXtended Efficient StARS, a significantly faster and more memory-efficient version of XStARS.
How much faster?
In our tests,xestars()
runs 80-90% faster thanxstars()
, even more in specific instances.
What features makexestars()
faster?
First of all, the check for stability that inxstars()
is performed after iterating throughout all the penalty parameters, here is implemented as a stopping criterion. Hence, less penalty parameters are explored, moreover usually are excluded those that lead to denser network (and so to longer network estimations).
Second, the use of vectors instead of matrixes to keep track of the network variabilities makes the algorithm proceed faster, for the former are easier and lighter objects to deal with.
Third, a new sampling strategy allows a the computation of as many correlation matrixes (the input tocoglasso()
), as the number of repetitions of the algorithm only once at the beginning of the algorithm. The original strategy performs this every time the algorithm switches from the selection of lambda_w to that of a lambda_b (which can happen several times). Especially for larger data sets, this consists a huge difference.
What features makexestars()
more memory-efficient?xestars()
does not keep in memory for longer than strictly necessary the “merged” matrixes that store the average stability of each edge, without accumulating them as in the originalxstars()
. This, unless not explicitely requested by setting the parameterlight
toFALSE
.
How doxstars()
andxestars()
differ in results?
The impressive increase in speed and more memory-efficiency comes with some minor costs.
First of all, some objects returned byxstars()
are not returned if not explecetely requested, and in general they come in a smaller amount (see question above).
Second, the different sampling strategy may guarantee not only a faster, but also a fairer parameter selection, as they are all selected from the same subsamplings. This may lead to different selected hyperparameters between the older and the new methodology.Created the classes
coglasso
andselect_coglasso
, with relatedprint()
andplot()
methods. These former is returned when usingcoglasso()
, while the latter when using any function that performs model selection as its final step (i.e.bs()
,select_coglasso()
, and all the model selection functions).Created a plotting module. Now every function of the package that produces or selects a network generates an object that can be directly be plotted with
plot()
.Implemented a new version of the collaborative graphical lasso algorithm, now able to accept more than two omics layers. These new version, called general |D| version, is perfectly compatible with and as time consuming as the previous one when only two layers are given as input.
Began the deprecation process of the argument
pX
of the functionscoglasso()
andbs()
, substituted by the argumentp
, that can take a vector with the dimensions of multiple omics layer, as now the package accepts more than two omics layers.
coglasso 1.0.2
CRAN release: 2024-04-03
- Reformatted the Description field of DESCRIPTION file according to CRAN reviewer’s comments.