tag:github.com,2008:https://github.com/UCD-BDLab/BioNeuralNet/releasesRelease notes from BioNeuralNet2025-12-30T06:00:27Ztag:github.com,2008:Repository/875804906/v1.2.22025-12-30T06:03:09ZBioNeuralNet v1.2.2<h2>[1.2.2] - 2025-12-29</h2>
<h3>Documentation</h3>
<ul>
<li><strong>Updated Index</strong>: index now includes tables with examples for feature selection.</li>
<li><strong>Getting Started for Biologists</strong>: An updated page which leverages google colab for a more user friendly walkthrough of BioNeuralNet.</li>
</ul>
<h3>Ray Tune Patch</h3>
<ul>
<li><strong>Ray tune</strong>: Updated from <code>ray[tune,train]>=2.46.0</code> to <code>ray[tune,train]>=2.46.0, <2.53.0</code> due to an recent release on December 20, 2025 which breaks some functionality. This temporately fixes the issue.</li>
</ul>
<h3>New DPMON param: <code>tune_trails</code></h3>
<ul>
<li>This parameter gives users the ability to dictate how many ray tune trials to run. This works alongside the Dynamic Sampling from <code>v1.2.1</code>.</li>
</ul>
<p><em>copied from CHANGELOG.md</em></p>ramosvtag:github.com,2008:Repository/875804906/v1.2.12025-11-30T23:06:57Zv1.2.1<h2>BioNeuralNet v.1.2.1</h2>
<p><em>Copied from CHANGELOG</em></p>
<h3>Dependencies</h3>
<ul>
<li><strong>Strict Versioning</strong>: Enforced specific version requirements to avoid conflicts with external libraries.<br>
- <code>pandas>=2.2.3</code><br>
- <code>numpy>=1.26.4</code><br>
- <code>scipy>=1.13.1</code><br>
- <code>matplotlib>=3.10.3</code><br>
- <code>scikit-learn>=1.6.1</code><br>
- <code>statsmodels>=0.14.4</code><br>
- <code>networkx>=3.4.2</code><br>
- <code>python-louvain>=0.16</code><br>
- <code>pydantic>=2.5</code><br>
- <code>ray[tune,train]>=2.46.0</code></li>
</ul>
<h3>Improvements and Fixes</h3>
<ul>
<li><strong>DPMON Dynamic Sampling</strong>: Added support for dynamic sampling in Ray Tune trials.<br>
- The system now automatically handles execution errors (e.g., Out of Memory (OOM), segmentation faults) by iteratively halving <code>num_trials</code> (starting at 50). It will attempt to recover up to 5 times before aborting.</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>Installation Guide</strong>: Significantly expanded the installation guide to include CUDA versioning details and specific instructions for different Operating Systems.</li>
<li><strong>System Requirements</strong>: Added a dedicated section outlining system prerequisites.</li>
<li><strong>General Updates</strong>: performed a major overhaul of the documentation to align with recent architectural changes.</li>
<li><strong>README</strong>: Updated <code>README.md</code> to synchronize with <code>index.rst</code> and reflect the latest library state.</li>
</ul>
<h3>Testing</h3>
<ul>
<li><strong>Test Suite Restoration</strong>: Re-enabled and patched all unit tests to ensure compatibility with the new namespace hierarchy and utility structures.</li>
</ul>ramosvtag:github.com,2008:Repository/875804906/v1.2.02025-11-25T03:47:37ZAPI and Architecture Refactoring<p>[1.2.0] - 2025-11-23<br>
API and Architecture Refactoring (copied from CHANGELOG.md</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="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)."><pre class="notranslate"><code>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).
</code></pre></div>
<p>New Features</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="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'])."><pre class="notranslate"><code>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']).
</code></pre></div>
<p>Data Standardization</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="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)."><pre class="notranslate"><code>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).
</code></pre></div>
<p>Improvements and Fixes</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="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."><pre class="notranslate"><code>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.
</code></pre></div>
<p>Removed</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Metrics Evaluation: Removed the metrics.evaluation module. Its functionality has been consolidated into the metrics module or deprecated in favor of external validation workflows."><pre class="notranslate"><code>Metrics Evaluation: Removed the metrics.evaluation module. Its functionality has been consolidated into the metrics module or deprecated in favor of external validation workflows.
</code></pre></div>
<p>Left to Do</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Errors: Online docs will be updated. on v1.2.1, package tests should pass once datasets get posted to pypi"><pre class="notranslate"><code>Errors: Online docs will be updated. on v1.2.1, package tests should pass once datasets get posted to pypi
</code></pre></div>ramosvtag:github.com,2008:Repository/875804906/v1.1.42025-11-09T18:41:37Zv1.1.4<p>New datasets and util functions<br>
see CHANGELOG for details.</p>ramosvtag:github.com,2008:Repository/875804906/v1.1.32025-11-02T22:14:30Zv1.1.3 Sync<p>v1.1.3 is now synced with PIPY and Zenodo.</p>ramosvtag:github.com,2008:Repository/875804906/v1.1.22025-11-01T18:11:41ZArchival release for Bioinformatics manuscript<p>No changes have been mode to the code base other than linking Zenodo to GitHub account. This release is to test</p>ramosvtag:github.com,2008:Repository/875804906/v1.1.12025-08-07T08:39:31Zv1.1.1<p>v1.1.1</p>ramosvtag:github.com,2008:Repository/875804906/v1.1.02025-07-13T22:05:13Zv1.1.0<p>Release v1.1.0</p>ramosvtag:github.com,2008:Repository/875804906/v1.0.92025-06-03T18:53:46Zv1.0.9: Merge pull request #71 from UCD-BDLab/publish-yml<p>Publish yml</p>ramosvtag:github.com,2008:Repository/875804906/v1.0.12025-04-24T17:52:28Zv1.0.1<p>release: 1.0.1</p>ramosv