tag:github.com,2008:https://github.com/UCD-BDLab/BioNeuralNet/releases Release notes from BioNeuralNet 2025-12-30T06:00:27Z tag:github.com,2008:Repository/875804906/v1.2.2 2025-12-30T06:03:09Z BioNeuralNet 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]&gt;=2.46.0</code> to <code>ray[tune,train]&gt;=2.46.0, &lt;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> ramosv tag:github.com,2008:Repository/875804906/v1.2.1 2025-11-30T23:06:57Z v1.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&gt;=2.2.3</code><br>   - <code>numpy&gt;=1.26.4</code><br>   - <code>scipy&gt;=1.13.1</code><br>   - <code>matplotlib&gt;=3.10.3</code><br>   - <code>scikit-learn&gt;=1.6.1</code><br>   - <code>statsmodels&gt;=0.14.4</code><br>   - <code>networkx&gt;=3.4.2</code><br>   - <code>python-louvain&gt;=0.16</code><br>   - <code>pydantic&gt;=2.5</code><br>   - <code>ray[tune,train]&gt;=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> ramosv tag:github.com,2008:Repository/875804906/v1.2.0 2025-11-25T03:47:37Z API 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> ramosv tag:github.com,2008:Repository/875804906/v1.1.4 2025-11-09T18:41:37Z v1.1.4 <p>New datasets and util functions<br> see CHANGELOG for details.</p> ramosv tag:github.com,2008:Repository/875804906/v1.1.3 2025-11-02T22:14:30Z v1.1.3 Sync <p>v1.1.3 is now synced with PIPY and Zenodo.</p> ramosv tag:github.com,2008:Repository/875804906/v1.1.2 2025-11-01T18:11:41Z Archival 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> ramosv tag:github.com,2008:Repository/875804906/v1.1.1 2025-08-07T08:39:31Z v1.1.1 <p>v1.1.1</p> ramosv tag:github.com,2008:Repository/875804906/v1.1.0 2025-07-13T22:05:13Z v1.1.0 <p>Release v1.1.0</p> ramosv tag:github.com,2008:Repository/875804906/v1.0.9 2025-06-03T18:53:46Z v1.0.9: Merge pull request #71 from UCD-BDLab/publish-yml <p>Publish yml</p> ramosv tag:github.com,2008:Repository/875804906/v1.0.1 2025-04-24T17:52:28Z v1.0.1 <p>release: 1.0.1</p> ramosv