From 465d345b037c0a125086dd81bf28b6be3ad331a9 Mon Sep 17 00:00:00 2001 From: franck-simon <55919349+franck-simon@users.noreply.github.com> Date: Wed, 18 Sep 2024 12:11:03 +0200 Subject: [PATCH] v2.0.3: CRAN release * MIIC v2.0.2: changes required by CRAN * MIIC v2.0.3: CRAN release --- DESCRIPTION | 59 ++++++++++++++++++------------------ NEWS.md | 24 ++++++++++----- R/computeInformation.R | 4 +-- R/discretizeMutual.R | 2 +- R/miic.R | 6 ++-- man/computeMutualInfo.Rd | 2 +- man/computeThreePointInfo.Rd | 2 +- man/discretizeMutual.Rd | 2 +- man/miic.Rd | 6 ++-- src/Makevars | 2 -- src/Makevars.win | 2 -- 11 files changed, 57 insertions(+), 54 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 3b91fd5a..8c25dff3 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: miic Title: Learning Causal or Non-Causal Graphical Models Using Information Theory -Version: 2.0.1 +Version: 2.0.3 Authors@R: c(person(given = "Franck", family = "Simon", @@ -44,34 +44,34 @@ Authors@R: family = "Isambert", role = "aut", email = "herve.isambert@curie.fr")) -Description: MIIC (Multivariate Information-based Inductive Causation) is a - causal discovery method, based on information theory principles, which - learns a large class of causal or non-causal graphical models from purely - observational data, while including the effects of unobserved latent - variables. Starting from a complete graph, the method iteratively removes - dispensable edges, by uncovering significant information contributions from - indirect paths, and assesses edge-specific confidences from randomization - of available data. The remaining edges are then oriented based on the - signature of causality in observational data. The recent more interpretable - MIIC extension (iMIIC) further distinguishes genuine causes from putative - and latent causal effects, while scaling to very large datasets (hundreds - of thousands of samples).Since the version 2.0, MIIC also includes a - temporal mode (tMIIC) to learn temporal causal graphs from stationary time - series data. MIIC has been applied to a wide range of biological and - biomedical data, such as single cell gene expression data, genomic - alterations in tumors, live-cell time-lapse imaging data (CausalXtract), - as well as medical records of patients. MIIC brings unique insights based - on causal interpretation and could be used in a broad range of other data - science domains (technology, climatology, economy, ...). - For more information, you can refer to: - Simon et al., eLife 2024, , - Ribeiro-Dantas et al., iScience 2024, , - Cabeli et al., NeurIPS 2021, , - Cabeli et al., Comput. Biol. 2020, , - Li et al., NeurIPS 2019, , - Verny et al., PLoS Comput. Biol. 2017, , - Affeldt et al., UAI 2015, . - Changes from the previous 1.5.3 release available on CRAN are available at +Description: Multivariate Information-based Inductive Causation, better known + by its acronym MIIC, is a causal discovery method, based on information + theory principles, which learns a large class of causal or non-causal + graphical models from purely observational data, while including the effects + of unobserved latent variables. Starting from a complete graph, the method + iteratively removes dispensable edges, by uncovering significant information + contributions from indirect paths, and assesses edge-specific confidences + from randomization of available data. The remaining edges are then oriented + based on the signature of causality in observational data. The recent more + interpretable MIIC extension (iMIIC) further distinguishes genuine causes + from putative and latent causal effects, while scaling to very large + datasets (hundreds of thousands of samples). Since the version 2.0, MIIC + also includes a temporal mode (tMIIC) to learn temporal causal graphs from + stationary time series data. MIIC has been applied to a wide range of + biological and biomedical data, such as single cell gene expression data, + genomic alterations in tumors, live-cell time-lapse imaging data + (CausalXtract), as well as medical records of patients. MIIC brings unique + insights based on causal interpretation and could be used in a broad range + of other data science domains (technology, climatology, economy, ...). + For more information, you can refer to: + Simon et al., eLife 2024, , + Ribeiro-Dantas et al., iScience 2024, , + Cabeli et al., NeurIPS 2021, , + Cabeli et al., Comput. Biol. 2020, , + Li et al., NeurIPS 2019, , + Verny et al., PLoS Comput. Biol. 2017, , + Affeldt et al., UAI 2015, . + Changes from the previous 1.5.3 release on CRAN are available at . License: GPL (>= 2) URL: https://github.com/miicTeam/miic_R_package @@ -88,7 +88,6 @@ Suggests: gridExtra LinkingTo: Rcpp -SystemRequirements: C++14 LazyData: true Encoding: UTF-8 RoxygenNote: 7.3.2 diff --git a/NEWS.md b/NEWS.md index 549cc559..8e2b0794 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,16 +1,29 @@ -# v2.0.1 +# v2.0.3 ## Features * Release to CRAN. +## Known issues + +* Conditioning on a (very) large number of contributors can lead to a memory + fault. + +# v2.0.2 + +## Fixes and improvements + +* Minor changes to fulfill CRAN requirements. + +# v2.0.1 + ## Fixes and improvements * Faster post-processing in R for datasets with large number of variables. ## Breaking changes -Consolidating long-pending breaking changes: +Preparation of new release on CRAN, consolidating long-pending breaking changes: * Harmonization of exported function names using `camel case`. @@ -18,7 +31,7 @@ Consolidating long-pending breaking changes: * Harmonization of abbreviations. -All the documentation has been updated accordingly, if you encounter any issue +All the documentation has been updated accordingly, in case of issue when upgrading to this version, please consult the help of the relevant function for more information about its interface. @@ -51,11 +64,6 @@ Still compared to 1.5.3, another important change in the behavior of `miic()` is that, by default, `miic()` no longer propagates orientations and allows latent variables discovery during orientation step. -## Known issues - -* Conditioning on a (very) large number of contributors can lead to a memory - fault. - # v2.0.0 ## Features diff --git a/R/computeInformation.R b/R/computeInformation.R index e8bd2090..e132139b 100644 --- a/R/computeInformation.R +++ b/R/computeInformation.R @@ -38,7 +38,7 @@ #' #' @references #' \itemize{ -#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} #' \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} #' } #' @@ -339,7 +339,7 @@ computeMutualInfo <- function(x, y, #' #' @references #' \itemize{ -#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} #' \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} #' } #' diff --git a/R/discretizeMutual.R b/R/discretizeMutual.R index 6741506a..a4f7823e 100755 --- a/R/discretizeMutual.R +++ b/R/discretizeMutual.R @@ -37,7 +37,7 @@ #' #' @references #' \itemize{ -#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} #' } #' #' @param x [a vector] diff --git a/R/miic.R b/R/miic.R index ca4eb534..52f54d5b 100755 --- a/R/miic.R +++ b/R/miic.R @@ -53,11 +53,11 @@ #' @references #' \itemize{ #' \item Simon \emph{et al.}, eLife 2024, \href{https://www.biorxiv.org/content/10.1101/2024.02.06.579177v1.abstract}{CausalXtract: a flexible pipeline to extract causal effects from live-cell time-lapse imaging data} -#' \item Ribeiro-Dantas \emph{et al.}, iScience 2024, \href{https://doi.org/10.1016/j.isci.2024.109736}{Learning interpretable causal networks from very large datasets, application to 400,000 medical records of breast cancer patients} +#' \item Ribeiro-Dantas \emph{et al.}, iScience 2024, \href{https://arxiv.org/pdf/2303.06423}{Learning interpretable causal networks from very large datasets, application to 400,000 medical records of breast cancer patients} #' \item Cabeli \emph{et al.}, NeurIPS 2021, \href{https://why21.causalai.net/papers/WHY21_24.pdf}{Reliable causal discovery based on mutual information supremum principle for finite dataset} -#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +#' \item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} #' \item Li \emph{et al.}, NeurIPS 2019, \href{http://papers.nips.cc/paper/9573-constraint-based-causal-structure-learning-with-consistent-separating-sets.pdf}{Constraint-based causal structure learning with consistent separating sets} -#' \item Verny \emph{et al.}, PLoS Comput. Biol. 2017, \href{https://doi.org/10.1371/journal.pcbi.1005662}{Learning causal networks with latent variables from multivariate information in genomic data} +#' \item Verny \emph{et al.}, PLoS Comput. Biol. 2017, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005662}{Learning causal networks with latent variables from multivariate information in genomic data} #' \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} #' } #' diff --git a/man/computeMutualInfo.Rd b/man/computeMutualInfo.Rd index 5e01e8c2..b2b04f6b 100644 --- a/man/computeMutualInfo.Rd +++ b/man/computeMutualInfo.Rd @@ -141,7 +141,7 @@ message("I(X;Y|Z) = ", res$info) } \references{ \itemize{ -\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} } } diff --git a/man/computeThreePointInfo.Rd b/man/computeThreePointInfo.Rd index fb67836d..36bb29a6 100644 --- a/man/computeThreePointInfo.Rd +++ b/man/computeThreePointInfo.Rd @@ -109,7 +109,7 @@ message("Ik(X;Y;Z) = ", res$i3k) } \references{ \itemize{ -\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} } } diff --git a/man/discretizeMutual.Rd b/man/discretizeMutual.Rd index f13d2476..557d17e7 100644 --- a/man/discretizeMutual.Rd +++ b/man/discretizeMutual.Rd @@ -132,6 +132,6 @@ message("I(X;Y|Z) = ", res$info) } \references{ \itemize{ -\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} } } diff --git a/man/miic.Rd b/man/miic.Rd index 0c97053d..104aae6d 100644 --- a/man/miic.Rd +++ b/man/miic.Rd @@ -708,11 +708,11 @@ if(require(igraph)) { \references{ \itemize{ \item Simon \emph{et al.}, eLife 2024, \href{https://www.biorxiv.org/content/10.1101/2024.02.06.579177v1.abstract}{CausalXtract: a flexible pipeline to extract causal effects from live-cell time-lapse imaging data} -\item Ribeiro-Dantas \emph{et al.}, iScience 2024, \href{https://doi.org/10.1016/j.isci.2024.109736}{Learning interpretable causal networks from very large datasets, application to 400,000 medical records of breast cancer patients} +\item Ribeiro-Dantas \emph{et al.}, iScience 2024, \href{https://arxiv.org/pdf/2303.06423}{Learning interpretable causal networks from very large datasets, application to 400,000 medical records of breast cancer patients} \item Cabeli \emph{et al.}, NeurIPS 2021, \href{https://why21.causalai.net/papers/WHY21_24.pdf}{Reliable causal discovery based on mutual information supremum principle for finite dataset} -\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://doi.org/10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} +\item Cabeli \emph{et al.}, PLoS Comput. Biol. 2020, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007866}{Learning clinical networks from medical records based on information estimates in mixed-type data} \item Li \emph{et al.}, NeurIPS 2019, \href{http://papers.nips.cc/paper/9573-constraint-based-causal-structure-learning-with-consistent-separating-sets.pdf}{Constraint-based causal structure learning with consistent separating sets} -\item Verny \emph{et al.}, PLoS Comput. Biol. 2017, \href{https://doi.org/10.1371/journal.pcbi.1005662}{Learning causal networks with latent variables from multivariate information in genomic data} +\item Verny \emph{et al.}, PLoS Comput. Biol. 2017, \href{https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005662}{Learning causal networks with latent variables from multivariate information in genomic data} \item Affeldt \emph{et al.}, UAI 2015, \href{https://auai.org/uai2015/proceedings/papers/293.pdf}{Robust Reconstruction of Causal Graphical Models based on Conditional 2-point and 3-point Information} } } diff --git a/src/Makevars b/src/Makevars index 3ab62abb..47d4fc4a 100755 --- a/src/Makevars +++ b/src/Makevars @@ -1,5 +1,3 @@ # openmp support PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) -# Require C++14 -CXX_STD = CXX14 diff --git a/src/Makevars.win b/src/Makevars.win index edb55f71..8c2da456 100755 --- a/src/Makevars.win +++ b/src/Makevars.win @@ -1,5 +1,3 @@ # openmp support PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) -# Require C++14 -CXX_STD = CXX14