Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 3.2 KB

File metadata and controls

75 lines (59 loc) · 3.2 KB

BioTransition 2.1.0

Major changes

  • Composite index unified to the |PCC| convention. cDNB() and tDNB() now score modules with mean absolute correlation, matching the original DNB definition of Chen et al. (2012): CI = mean(SD_in) * mean(|PCC_in|) / mean(|PCC_out|). The previous signed implementation could return negative, unstable CI values. Numerical results from cDNB()/tDNB() will differ from 2.0.0 (and are more stable); tDNB() is unaffected in practice because its TOM is non-negative.

Performance

  • Module scoring in cDNB()/tDNB() rewritten with a complement identity (sum|PCC(in,out)| = sum(rowSums|A|[in]) - sum|A[in,in]|) and one-time precomputation of |A| and its row sums, giving ~19x speedup on realistic loads (3000 genes x 6000 modules: 34s -> 1.8s).

Robustness & user experience

  • Large gene sets that overflow the C stack during hierarchical clustering now raise an actionable message (pre-filter to the top variable/DE genes) instead of a cryptic "C stack usage ... too close to the limit".
  • Unified, actionable input validation across all methods: empty states, a missing "ref" state, and empty PPI/case sets are reported clearly.
  • nCores default no longer goes negative on machines with few cores (SSPN1/SSPN2/SLE/sNMB): now max(1, detectCores() - 1).
  • Progress messages unified to message() so they can be silenced with suppressMessages().
  • All methods now expose unified DNB.genes and DNB.score fields (existing method-specific field names are kept as aliases).
  • TOM construction (calSFNetforCorMatrix) now follows the standard Zhang & Horvath form with a guarded denominator, clamping to [0, 1] and unit self-overlap; numerical results for tDNB() are unchanged.
  • Removed the unused, inefficient fast_module_score_cpp C++ kernel.
  • Fixed a crash in SSPN1()/SSPN2() when ref.samples was passed as numeric indices.
  • Aligned the C++ fast paths with the R implementations and original references: the SSPN Z-score divides by (1 - r^2)/(n - 1) (without the spurious square root), and fast_cor_pval_cpp uses the Student t distribution rather than a normal approximation.

BioTransition 2.0.0

New Features

  • Added tDNB() function implementing topological DNB analysis using scale-free network topology
  • Implemented C++ acceleration for correlation analysis and module scoring via Rcpp (2-20x speedup)
  • Added built-in protein-protein interaction networks for human (ppi_h) and mouse (ppi_m) from STRING database
  • New helper functions: fast_cor_cpp(), fast_cor_pval_cpp(), fast_module_score_cpp(), fast_bh_adjust()

Improvements

  • Unified API across all seven DNB methods
  • Enhanced documentation with comprehensive vignette
  • Added support for single-cell RNA-seq and spatial transcriptomics data
  • Improved memory efficiency for large-scale datasets

Bug Fixes

  • Fixed correlation calculation for samples with zero variance
  • Resolved edge cases in module detection with small sample sizes

BioTransition 1.0.0

Initial Release

  • Implemented six DNB methods: cDNB, LcDNB, LDNB, MDNB, TSNMB, TSLE
  • Support for bulk RNA-seq data analysis
  • Basic documentation and examples