Skip to content

Releases: UCD-BDLab/BioNeuralNet

v1.3.0

02 Apr 07:55
acd585f

Choose a tag to compare

[1.3.0] - 2026-04-01

Network Module (bioneuralnet.network)

  • New dedicated module: Network construction and analysis moved from bioneuralnet.utils to bioneuralnet.network.
  • Renamed construction functions: gen_similarity_graph -> similarity_network, gen_correlation_graph -> correlation_network, gen_threshold_graph -> threshold_network, gen_gaussian_knn_graph -> gaussian_knn_network.
  • NetworkAnalyzer: Moved to bioneuralnet.network; GPU-accelerated via PyTorch; added hub_analysis, cross_omics_analysis, edge_weight_analysis, find_strongest_edges, degree_distribution, clustering_coefficient_gpu, connected_components.
  • auto_pysmccnet: Phenotype-driven network construction via SmCCNet 2.0; supports CCA and PLS modes, now fully implemented in native Python, simplifying user experience and removing the R dependency.

Utils Module

  • impute_omics / impute_omics_knn renamed: Now impute_simple and impute_knn.
  • normalize_omics renamed: Now normalize; supports "standard", "minmax", "log2".
  • beta_to_m renamed: Now m_transform.
  • New feature_selection submodule: laplacian_score, mad_filter, pca_loadings, correlation_filter, importance_rf, variance_threshold, top_anova_f_features.
  • New data functions: data_stats, sparse_filter, nan_summary, zero_summary.
  • clean_internal: New cleaning function with configurable NaN threshold.

DPMON Enhancements

  • tune_trials: Already introduced in 1.2.2; now fully documented.
  • ae_architecture: New parameter; supports "original" and "dynamic" autoencoder architectures.
  • correlation_mode: New parameter; supports "abs_pearson" (default) and "adaptive" node feature computation.
  • Inner CV tuning: Ray Tune now performs epoch-synchronized inner k-fold cross-validation across all trials.

Datasets

  • PAAD removed from built-in datasets.
  • Dataset size reduction: BRCA, LGG, and KIPAN datasets significantly reduced from ~4,000 omics features per dataset to 700 (400 methylation, 200 mRNA, 100 miRNA) using Laplacian Score filtering, replacing the previous ANOVA-F & Random Forest intersection strategy. This standardization was necessary to stay within the PyPI 100 MB package size limit (v1.2.2 reached 97.9 MB) and results in substantially faster installs and downloads for users.

Documentation

  • Data Decision Framework: New comprehensive stage-by-stage parameter reference (quick_start/data_framework.rst).
  • Quick Start notebooks: New home for end-to-end Quick_Start.ipynb and quick_start_bio.rst.
  • Subgraph page: Updated case studies from KIPAN to TCGA-LGG and ROSMAP with full algorithm documentation.
  • network.rst: New dedicated page for the network module.
  • utils.rst, datasets.rst, index.rst, subgraph.rst: Major updates throughout.
  • README: GitHub readme updated to reflect all API changes, new images, and corrected function names.

Removed

  • gen_similarity_graph, gen_correlation_graph, gen_threshold_graph, gen_gaussian_knn_graph from bioneuralnet.utils.
  • graph_analysis, repair_graph_connectivity, find_optimal_graph from bioneuralnet.utils (superseded by NetworkAnalyzer and network_search).
  • impute_omics, impute_omics_knn, normalize_omics, beta_to_m (renamed, see above).

Testing

  • Test suite updated to align with new network module and renamed utils functions.

pasted from Changelog

BioNeuralNet v1.2.2

30 Dec 06:03
ba13548

Choose a tag to compare

[1.2.2] - 2025-12-29

Documentation

  • Updated Index: index now includes tables with examples for feature selection.
  • Getting Started for Biologists: An updated page which leverages google colab for a more user friendly walkthrough of BioNeuralNet.

Ray Tune Patch

  • Ray tune: Updated from ray[tune,train]>=2.46.0 to ray[tune,train]>=2.46.0, <2.53.0 due to an recent release on December 20, 2025 which breaks some functionality. This temporately fixes the issue.

New DPMON param: tune_trails

  • This parameter gives users the ability to dictate how many ray tune trials to run. This works alongside the Dynamic Sampling from v1.2.1.

copied from CHANGELOG.md

v1.2.1

30 Nov 23:06
3b46769

Choose a tag to compare

BioNeuralNet v.1.2.1

Copied from CHANGELOG

Dependencies

  • Strict Versioning: Enforced specific version requirements to avoid conflicts with external libraries.
      - pandas>=2.2.3
      - numpy>=1.26.4
      - scipy>=1.13.1
      - matplotlib>=3.10.3
      - scikit-learn>=1.6.1
      - statsmodels>=0.14.4
      - networkx>=3.4.2
      - python-louvain>=0.16
      - pydantic>=2.5
      - ray[tune,train]>=2.46.0

Improvements and Fixes

  • DPMON Dynamic Sampling: Added support for dynamic sampling in Ray Tune trials.
        - The system now automatically handles execution errors (e.g., Out of Memory (OOM), segmentation faults) by iteratively halving num_trials (starting at 50). It will attempt to recover up to 5 times before aborting.

Documentation

  • Installation Guide: Significantly expanded the installation guide to include CUDA versioning details and specific instructions for different Operating Systems.
  • System Requirements: Added a dedicated section outlining system prerequisites.
  • General Updates: performed a major overhaul of the documentation to align with recent architectural changes.
  • README: Updated README.md to synchronize with index.rst and reflect the latest library state.

Testing

  • Test Suite Restoration: Re-enabled and patched all unit tests to ensure compatibility with the new namespace hierarchy and utility structures.

API and Architecture Refactoring

25 Nov 03:47
bbc6649

Choose a tag to compare

[1.2.0] - 2025-11-23
API and Architecture Refactoring (copied from CHANGELOG.md

Namespace Hierarchy Overhaul: Transitioned from a flat namespace to a hybrid hierarchical structure to enhance modularity and prevent namespace pollution.
    Core Classes: DPMON, GNNEmbedding, SubjectRepresentation, SmCCNet, and DatasetLoader remain accessible at the top level (e.g., bnn.DPMON).
    Utilities and Metrics: Functional tools are now scoped to their respective submodules (e.g., bnn.metrics.plot_network, bnn.utils.preprocess_clinical).
Utils Module Restructuring: Decomposed the monolithic utils module into specialized submodules for improved maintainability:
    utils.data: Contains summary statistics functions (e.g., variance_summary).
    utils.preprocess: Contains data transformation functions (e.g., impute_omics, normalize_omics).
    utils.reproducibility: Dedicated module for seeding functions (set_seed).

New Features

Graph Engineering Module (graph_tools): Introduced a new module for the diagnosis and repair of network topology issues.
    repair_graph_connectivity: Implemented an algorithm to reconnect fragmented network components (islands) to the global network using eigenvector centrality hubs or omics-driven correlation.
    find_optimal_graph: Added an AutoML-style search function that benchmarks various graph construction strategies (Gaussian, Correlation, Threshold) using a structural proxy task to optimize downstream stability.
    graph_analysis: Added diagnostic utilities to log topological metrics (clustering coefficient, average degree) and identify isolated subgraphs broken down by omics modality.
DPMON Enhancements: Expanded the NeuralNetwork backbone to support multiple dimensionality reduction strategies beyond the standard AutoEncoder.
    Linear Projection: Added ScalarProjection, utilizing a linear layer to map embeddings to feature weights.
    MLP Projection: Added MLPProjection, utilizing a non-linear Multilayer Perceptron for complex feature weighting.
Dataset Loaders:
    Implemented functional loaders (load_brca, load_kipan, load_lgg, load_paad, load_monet, load_example) to provide immediate access to data dictionaries, aligning with scikit-learn conventions.
    Added __getitem__ support to the DatasetLoader class for direct key access (e.g., loader['rna']).

Data Standardization

BRCA Clinical Update: Removed 15 duplicated columns from the BRCA clinical dataset, reducing the feature dimensionality from 118 to 103 to ensure data uniqueness.
Dataset Renaming:
    Renamed the synthetic dataset example1 to example.
    Renamed gbmlgg to lgg (Brain Lower Grade Glioma).
Target Variable Update: Updated the target variable for the lgg dataset from 'histological type' to 'vital_status' to better align with prognostic prediction tasks.
Key Standardization: Removed redundant _data suffixes from dataset dictionary keys (e.g., monet['mirna_data'] is now monet['mirna']).
Dataset Specifications: Updated documentation to explicitly define the dimensions (samples × features) for all included datasets:
    BRCA: miRNA (769, 503), Target (769, 1), Clinical (769, 103), RNA (769, 2500), Meth (769, 2203).
    LGG: miRNA (511, 548), Target (511, 1), Clinical (511, 13), RNA (511, 2127), Meth (511, 1823).
    PAAD: CNV (177, 1035), Target (177, 1), Clinical (177, 19), RNA (177, 1910), Meth (177, 1152).
    KIPAN: miRNA (658, 472), Target (658, 1), Clinical (658, 19), RNA (658, 2284), Meth (658, 2102).
    Monet: Gene (107, 5039), miRNA (107, 789), Phenotype (106, 1), RPPA (107, 175), Clinical (107, 5).
    Example: X1 (358, 500), X2 (358, 100), Y (358, 1), Clinical (358, 6).

Improvements and Fixes

Documentation: Refactored all docstrings across the library to adhere to strict Google Style formatting (Args/Returns) to ensure consistent API documentation generation.
Clustering:
    Hybrid Louvain: Corrected the parameter tuning logic for k3 and k4 weights and refined the iterative refinement loop for identifying phenotype-associated subgraphs.
    Correlated PageRank: Enhanced input validation to ensure proper alignment between graph nodes and omics features.

Removed

Metrics Evaluation: Removed the metrics.evaluation module. Its functionality has been consolidated into the metrics module or deprecated in favor of external validation workflows.

Left to Do

Errors: Online docs will be updated. on v1.2.1, package tests should pass once datasets get posted to pypi

v1.1.4

09 Nov 18:41
f8500cf

Choose a tag to compare

New datasets and util functions
see CHANGELOG for details.

v1.1.3 Sync

02 Nov 22:14
9b8c8eb

Choose a tag to compare

v1.1.3 is now synced with PIPY and Zenodo.

Archival release for Bioinformatics manuscript

01 Nov 18:11
0552d2b

Choose a tag to compare

No changes have been mode to the code base other than linking Zenodo to GitHub account. This release is to test

v1.1.1

07 Aug 08:39
5bae528

Choose a tag to compare

v1.1.1

v1.1.0

13 Jul 22:05
e1cd5d4

Choose a tag to compare

Release v1.1.0