Skip to content

Releases: UCD-BDLab/BioNeuralNet

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