diff --git a/README.md b/README.md
index cb6c8e2..3a47b67 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@

-**BioNeuralNet** is a Python framework for integrating and analyzing multi-omics data using **Graph Neural Networks (GNNs)**.
-It provides tools for network construction, embedding generation, clustering, and disease prediction, all within a modular, scalable, and reproducible pipeline.
+**BioNeuralNet** is a flexible, modular Python framework developed to facilitate end-to-end network-based multi-omics analysis using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data, such as high dimensionality, sparsity, and intricate molecular interactions, by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
+

@@ -27,15 +27,14 @@ It provides tools for network construction, embedding generation, clustering, an
- [1.1. Install BioNeuralNet](#11-install-bioneuralnet)
- [1.2. Install PyTorch and PyTorch Geometric](#12-install-pytorch-and-pytorch-geometric)
- [2. BioNeuralNet Core Features](#2-bioneuralnet-core-features)
-- [3. Quick Example: SmCCNet + DPMON for Disease Prediction](#3-quick-example-smccnet--dpmon-for-disease-prediction)
-- [4. Documentation and Tutorials](#4-documentation-and-tutorials)
-- [5. Frequently Asked Questions (FAQ)](#5-frequently-asked-questions-faq)
-- [6. Acknowledgments](#6-acknowledgments)
-- [7. Testing and Continuous Integration](#7-testing-and-continuous-integration)
-- [8. Contributing](#8-contributing)
-- [9. License](#9-license)
-- [10. Contact](#10-contact)
-- [11. References](#11-References)
+- [3. Why Graph Neural Networks for Multi-Omics?](#3-Why-Graph-Neural-Networks-for-Multi-Omics)
+- [4. Example: Network-Based Multi-Omics Analysis for Disease Prediction](#4-Network-Based-Multi-Omics-Analysis-for-Disease-Prediction)
+- [5. Explore BioNeuralNet's Documentation](#6-Explore-BioNeuralNet-Documentation)
+- [6. Acknowledgments](#7-Acknowledgments)
+- [7. Contributing](#8-Contributing)
+- [8. License](#9-License)
+- [9. Contact](#10-Contact)
+- [10. References](#11-References)
## 1. Installation
@@ -49,12 +48,12 @@ pip install bioneuralnet
## 1.2. Install PyTorch and PyTorch Geometric
BioNeuralNet relies on PyTorch for GNN computations. Install PyTorch separately:
-- **PyTorch (CPU)**:
+- **PyTorch (CPU):**
```bash
pip install torch torchvision torchaudio
```
-- **PyTorch Geometric**:
+- **PyTorch Geometric:**
```bash
pip install torch_geometric
```
@@ -64,179 +63,175 @@ For GPU acceleration, please refer to:
- [PyTorch Geometric Installation Guide](https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html)
-## **BioNeuralNet Core Features**
-
-For an end-to-end example of BioNeuralNet, see the [Quick Start](https://bioneuralnet.readthedocs.io/en/latest/Quick_Start.html) and [TCGA-BRCA Dataset](https://bioneuralnet.readthedocs.io/en/latest/TCGA-BRCA_Dataset.html) guides.
-
-### [Network Embedding](https://bioneuralnet.readthedocs.io/en/latest/gnns.html)
-- Given a multi-omics network as input, BioNeuralNet can generate embeddings using Graph Neural Networks (GNNs).
-- Generate embeddings using methods such as **GCN**, **GAT**, **GraphSAGE**, and **GIN**.
-- Outputs can be obtained as native tensors or converted to pandas DataFrames for easy analysis and visualization.
-- Embeddings unlock numerous downstream applications, including disease prediction, enhanced subject representation, clustering, and more.
-
-### [Graph Clustering](https://bioneuralnet.readthedocs.io/en/latest/clustering.html)
-- Identify functional modules or communities using **correlated clustering methods** (e.g., `CorrelatedPageRank`, `CorrelatedLouvain`, `HybridLouvain`) that integrate phenotype correlation to extract biologically relevant modules [[1]](#1).
-- Clustering methods can be applied to any network representation, allowing flexible analysis across different domains.
-- All clustering components return either raw partition dictionaries or induced subnetwork adjacency matrices (as DataFrames) for visualization.
-- Use cases include feature selection, biomarker discovery, and network-based analysis.
-
-### [Downstream Tasks](https://bioneuralnet.readthedocs.io/en/latest/downstream_tasks.html)
-
-#### Subject Representation
-- Integrate node embeddings back into omics data to enrich subject-level profiles by weighting features with the learned embedding.
-- This embedding-enriched data can be used for downstream tasks such as disease prediction or biomarker discovery.
-- The result can be returned as a DataFrame or a PyTorch tensor, fitting naturally into downstream analyses.
-
-#### Disease Prediction for Multi-Omics Network (DPMON) [[2]](#2)
-- Classification end-to-end pipeline for disease prediction using Graph Neural Network embeddings.
-- DPMON supports hyperparameter tuning, when enabled, it finds the best configuration for the given data.
-- This approach, along with native pandas integration across modules, ensures that BioNeuralNet can be easily incorporated into your analysis workflows.
-
-### [Metrics](https://bioneuralnet.readthedocs.io/en/latest/metrics.html)
-- Visualize embeddings, feature variance, clustering comparison, and network structure in 2D.
-- Evaluate embedding quality and clustering relevance using correlation with phenotype.
-- Performance benchmarking tools for classification tasks using various models.
-- Useful for assessing feature importance, validating network structure, and comparing cluster outputs.
-
-### [Utilities](https://bioneuralnet.readthedocs.io/en/latest/utils.html)
-- Build graphs using k-NN similarity, Pearson/Spearman correlation, RBF kernels, mutual information, or soft-thresholding.
-- Filter and preprocess omics or clinical data by variance, correlation, random forest importance, or ANOVA F-test.
-- Tools for network pruning, feature selection, and data cleaning.
-- Quickly summarize datasets with variance, zero-fraction, expression level, or correlation overviews.
-- Includes conversion tools for RData and integrated logging.
-
-### [External Tools](https://bioneuralnet.readthedocs.io/en/latest/external_tools/index.html)
-- **Graph Construction**:
- - BioNeuralNet provides additional tools in the `bioneuralnet.external_tools` module.
- - Includes support for **SmCCNet** (Sparse Multiple Canonical Correlation Network), an R-based tool for constructing phenotype-informed correlation networks [[3]](#3).
- - These tools are optional but enhance BioNeuralNet’s graph construction capabilities and are recommended for more integrative or exploratory workflows.
-
-
-## 3. Example: SmCCNet + DPMON for Disease Prediction
-
-```python
-import pandas as pd
-from bioneuralnet.external_tools import SmCCNet
-from bioneuralnet.downstream_task import DPMON
-from bioneuralnet.datasets import DatasetLoader
-
-# Step 1: Load your data or use one of the provided datasets
-Example = DatasetLoader("example1")
-omics_proteins = Example.data["X1"]
-omics_metabolites = Example.data["X2"]
-phenotype_data = Example.data["Y"]
-clinical_data = Example.data["clinical_data"]
-
-# Step 2: Network Construction
-smccnet = SmCCNet(
- phenotype_df=phenotype_data,
- omics_dfs=[omics_proteins, omics_metabolites],
- data_types=["protein", "metabolite"],
- kfold=5,
- summarization="PCA",
-)
-global_network, clusters = smccnet.run()
-print("Adjacency matrix generated.")
-
-# Step 3: Disease Prediction (DPMON)
-dpmon = DPMON(
- adjacency_matrix=global_network,
- omics_list=[omics_proteins, omics_metabolites],
- phenotype_data=phenotype_data,
- clinical_data=clinical_data,
- model="GCN",
-)
-predictions = dpmon.run()
-print("Disease phenotype predictions:\n", predictions)
-```
+## 2. BioNeuralNet Core Features
+
+BioNeuralNet is a flexible, modular Python framework developed to facilitate end-to-end network-based multi-omics analysis using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data, such as high dimensionality, sparsity, and intricate molecular interactions, by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
+
+**BioNeuralNet Provides:**
+
+- **[Graph construction](https://bioneuralnet.readthedocs.io/en/latest/utils.html#graph-generation):**
+
+ - **Similarity graphs:** k-NN (cosine/Euclidean), RBF, mutual information.
+
+ - **Correlation graphs:** Pearson, Spearman; optional soft-thresholding.
+
+ - **Phenotype-aware graphs:** SmCCNet integration (R) for sparse multiple canonical-correlation networks.
+
+- **[Preprocessing Utilities](https://bioneuralnet.readthedocs.io/en/latest/utils.html#graph-generation):**
+
+ - **RData conversion to pandas DataFrame:** Converts an RData file to CSV and loads it into a pandas DataFrame.
+
+ - **Top‑k variance‑based filtering:** Cleans data and selects the top‑k numeric features by variance.
+
+ - **Random forest feature selection:** Fits a RandomForest and returns the top‑k features by importance.
+
+ - **ANOVA F‑test feature selection:** Runs an ANOVA F‑test with FDR correction and selects significant features.
+
+ - **Network pruning by edge‑weight threshold:** Removes edges below a weight threshold and drops isolated nodes.
+
+
+- **[GNN Embeddings](https://bioneuralnet.readthedocs.io/en/latest/gnns.html):** Transform complex biological networks into versatile embeddings, capturing both structural relationships and molecular interactions.
+
+- **[Downstream Tasks](https://bioneuralnet.readthedocs.io/en/latest/downstream_tasks.html):**
+
+ - **[Subject representation](https://bioneuralnet.readthedocs.io/en/latest/downstream_tasks.html#enhanced-subject-representation):** Integrate phenotype or clinical variables to enhance the biological relevance of the embeddings.
+
+ - **[Disease Prediction](https://bioneuralnet.readthedocs.io/en/latest/downstream_tasks.html#enhanced-subject-representation):** Utilize network-derived embeddings for accurate and scalable predictive modeling of diseases and phenotypes.
+
+- **Interoperability:** Outputs structured as **Pandas DataFrames**, ensuring compatibility with common Python tools and seamless integration into existing bioinformatics pipelines.
-## 4. Documentation and Tutorials
+BioNeuralNet emphasizes usability, reproducibility, and adaptability, making advanced network-based multi-omics analyses accessible to researchers working in precision medicine and systems biology.
-- **Full documentation**: [BioNeuralNet Documentation](https://bioneuralnet.readthedocs.io/en/latest/)
+## 3. Why Graph Neural Networks for Multi-Omics?
-- **Jupyter Notebook Examples**:
- - [Quick Start](https://bioneuralnet.readthedocs.io/en/latest/Quick_Start.html)
- - [TCGA-BRCA Dataset](https://bioneuralnet.readthedocs.io/en/latest/TCGA-BRCA_Dataset.html)
+Traditional machine learning methods often struggle with the complexity and high dimensionality of multi-omics data, particularly their inability to effectively capture intricate molecular interactions and dependencies. BioNeuralNet overcomes these limitations by using **graph neural networks (GNNs)**, which naturally encode biological structures and relationships.
-- Tutorials include:
- - Multi-omics graph construction.
- - GNN embeddings for disease prediction.
- - Subject representation with integrated embeddings.
- - Clustering using Hybrid Louvain and Correlated PageRank.
-- API details are available in the [API Reference](https://bioneuralnet.readthedocs.io/en/latest/api.html).
+BioNeuralNet supports several state-of-the-art GNN architectures optimized for biological applications:
-## 5. Frequently Asked Questions (FAQ)
+- **Graph Convolutional Networks (GCN):** Aggregate biological signals from neighboring molecules, effectively modeling local interactions such as gene co-expression or regulatory relationships.
-- **Does BioNeuralNet support GPU acceleration?**
- Yes, install PyTorch with CUDA support.
+- **Graph Attention Networks (GAT):** Use attention mechanisms to dynamically prioritize important molecular interactions, highlighting the most biologically relevant connections.
-- **Can I use my own omics network?**
- Yes, you can provide a custom network as an adjancy matrix instead of using SmCCNet.
+- **GraphSAGE:** Facilitate inductive learning, enabling the model to generalize embeddings to previously unseen molecular data, thereby enhancing predictive power and scalability.
-- **What clustering methods are supported?**
- BioNeuralNet supports Correlated Louvain, Hybrid Louvain, and Correlated PageRank.
+- **Graph Isomorphism Networks (GIN):** Provide powerful and expressive graph embeddings, accurately distinguishing subtle differences in molecular interaction patterns.
-For more FAQs, please visit our [FAQ page](https://bioneuralnet.readthedocs.io/en/latest/faq.html).
+For detailed explanations of BioNeuralNet's supported GNN architectures and their biological relevance, see [GNN Embeddings](https://bioneuralnet.readthedocs.io/en/latest/gnns.html)
+
+## 4. Example: Network-Based Multi-Omics Analysis for Disease Prediction
+
+- **Data Preparation:**
+ - Load your multi-omics data (e.g., transcriptomics, proteomics) along with phenotype and clinical covariates.
+
+- **Network Construction:**
+ - Here, we construct the multi-omics network using an external R package, **SmCCNet** [1](1)
+ - BioNeuralNet provides convenient wrappers for external tools (like SmCCNet) through `bioneuralnet.external_tools`. Note: R must be installed for these wrappers.
+
+- **Disease Prediction with DPMON:**
+ - **DPMON** [2](2) integrates omics data and network structures to predict disease phenotypes.
+ - It provides an end-to-end pipeline, complete with built-in hyperparameter tuning, and outputs predictions directly as pandas DataFrames for easy interoperability.
+
+**Example Usage:**
+
+```Python
+
+ import pandas as pd
+ from bioneuralnet.external_tools import SmCCNet
+ from bioneuralnet.downstream_task import DPMON
+ from bioneuralnet.datasets import DatasetLoadeR
+
+ # Load the dataset and access individual omics modalities
+ example = DatasetLoader("example1")
+ omics_genes = example.data["X1"]
+ omics_proteins = example.data["X2"]
+ phenotype = example.data["Y"]
+ clinical = example.data["clinical"]
+
+ # Network Construction with SmCCNet
+ smccnet = SmCCNet(
+ phenotype_df=phenotype,
+ omics_dfs=[omics_genes, omics_proteins],
+ data_types=["Genes", "Proteins"],
+ kfold=5,
+ summarization="PCA",
+ )
+ global_network, clusters = smccnet.run()
+ print("Adjacency matrix generated." )
+
+ # Disease Prediction using DPMON
+ dpmon = DPMON(
+ adjacency_matrix=global_network,
+ omics_list=[omics_genes, omics_proteins],
+ phenotype_data=phenotype,
+ clinical_data=clinical,
+ model="GCN",
+ repeat_num=5,
+ tune=True,
+ gpu=True,
+ cuda=0,
+ output_dir="./output"
+ )
+
+ predictions, avg_accuracy = dpmon.run()
+ print("Disease phenotype predictions:\n", predictions)
+```
+
+## 5. Explore BioNeuralNet's Documentation
+
+For detailed examples and tutorials, visit:
+
+- [Quick Start](https://bioneuralnet.readthedocs.io/en/latest/Quick_Start.html): A quick walkthrough demonstrating the BioNeuralNet workflow from start to finish.
+
+- [TCGA-BRCA Demo](https://bioneuralnet.readthedocs.io/en/latest/TCGA-BRCA_Dataset.html): A detailed real-world example applying BioNeuralNet to breast cancer subtype prediction.
## 6. Acknowledgments
BioNeuralNet integrates multiple open-source libraries. We acknowledge key dependencies:
-- [**PyTorch**](https://github.com/pytorch/pytorch) - GNN computations and deep learning models.
-- [**PyTorch Geometric**](https://github.com/pyg-team/pytorch_geometric) - Graph-based learning for multi-omics.
-- [**NetworkX**](https://github.com/networkx/networkx) - Graph data structures and algorithms.
-- [**Scikit-learn**](https://github.com/scikit-learn/scikit-learn) - Feature selection and evaluation utilities.
-- [**pandas**](https://github.com/pandas-dev/pandas) & [**numpy**](https://github.com/numpy/numpy) - Core data processing tools.
-- [**ray[tune]**](https://github.com/ray-project/ray) - Hyperparameter tuning for GNN models.
-- [**matplotlib**](https://github.com/matplotlib/matplotlib) - Data visualization.
-- [**cptac**](https://github.com/PNNL-CompBio/cptac) - Dataset handling for clinical proteomics.
-- [**python-louvain**](https://github.com/taynaud/python-louvain) - Community detection algorithms.
-- [**statsmodels**](https://github.com/statsmodels/statsmodels) - Statistical models and hypothesis testing (e.g., ANOVA, regression).
+- [**PyTorch**](https://github.com/pytorch/pytorch): GNN computations and deep learning models.
+- [**PyTorch Geometric**](https://github.com/pyg-team/pytorch_geometric): Graph-based learning for multi-omics.
+- [**NetworkX**](https://github.com/networkx/networkx): Graph data structures and algorithms.
+- [**Scikit-learn**](https://github.com/scikit-learn/scikit-learn): Feature selection and evaluation utilities.
+- [**Pandas**](https://github.com/pandas-dev/pandas) & [**Numpy**](https://github.com/numpy/numpy): Core data processing tools.
+- [**Scipy**](https://docs.scipy.org/doc/scipy/): Correlation based metrics.
+- [**ray[tune]**](https://github.com/ray-project/ray): Hyperparameter tuning for GNN models.
+- [**matplotlib**](https://github.com/matplotlib/matplotlib): Data visualization.
+- [**python-louvain**](https://github.com/taynaud/python-louvain): Community detection algorithms.
+- [**statsmodels**](https://github.com/statsmodels/statsmodels): Statistical models and hypothesis testing (e.g., ANOVA, regression).
We also acknowledge R-based tools for external network construction:
-- [**SmCCNet**](https://github.com/UCD-BDLab/BioNeuralNet/tree/main/bioneuralnet/external_tools/smccnet) - Sparse multiple canonical correlation network.
-
-## 7. Testing and Continuous Integration
+- [**SmCCNet**](https://github.com/UCD-BDLab/BioNeuralNet/tree/main/bioneuralnet/external_tools/smccnet): Sparse multiple canonical correlation network.
-- **Run Tests Locally:**
- ```bash
- pytest --cov=bioneuralnet --cov-report=html
- open htmlcov/index.html
- ```
+## 7. Contributing
-- **Continuous Integration:**
- GitHub Actions runs automated tests on every commit.
+We welcome issues and pull requests! Please:
-## 8. Contributing
+- Fork the repo and create a feature branch.
+- Add tests and documentation for new features.
+- Run the test suite and pre-commit hooks before opening a PR.
-We welcome contributions! To get started:
+**Developer setup:**
```bash
git clone https://github.com/UCD-BDLab/BioNeuralNet.git
cd BioNeuralNet
pip install -r requirements-dev.txt
pre-commit install
-pytest
+pytest --cov=bioneuralnet
```
-### How to Contribute
-
-- Fork the repository, create a new branch, and implement your changes.
-- Add tests and documentation for any new features.
-- Submit a pull request with a clear description of your changes.
-
-## 9. License
+## 8. License
BioNeuralNet is distributed under the [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0)](https://creativecommons.org/licenses/by-nc-nd/4.0/).
See the [LICENSE](LICENSE) file for details.
-## 10. Contact
+## 9. Contact
- **Issues and Feature Requests:** [Open an Issue](https://github.com/UCD-BDLab/BioNeuralNet/issues)
- **Email:** [vicente.ramos@ucdenver.edu](mailto:vicente.ramos@ucdenver.edu)
-## 11. References
+## 10. References
[1] Abdel-Hafiz, M., Najafi, M., et al. "Significant Subgraph Detection in Multi-omics Networks for Disease Pathway Identification." *Frontiers in Big Data*, 5 (2022). [DOI: 10.3389/fdata.2022.894632](https://doi.org/10.3389/fdata.2022.894632)
diff --git a/assets/BioNeuralNet.png b/assets/BioNeuralNet.png
index 9377bfe..342e99a 100644
Binary files a/assets/BioNeuralNet.png and b/assets/BioNeuralNet.png differ
diff --git a/docs/source/_static/BioNeuralNet_old1.png b/assets/BioNeuralNet2.png
similarity index 100%
rename from docs/source/_static/BioNeuralNet_old1.png
rename to assets/BioNeuralNet2.png
diff --git a/assets/BioNeuralNet_old.png b/assets/BioNeuralNet_old.png
deleted file mode 100644
index 0b08846..0000000
Binary files a/assets/BioNeuralNet_old.png and /dev/null differ
diff --git a/docs/source/_static/BioNeuralNet.png b/docs/source/_static/BioNeuralNet.png
index 19845b4..342e99a 100644
Binary files a/docs/source/_static/BioNeuralNet.png and b/docs/source/_static/BioNeuralNet.png differ
diff --git a/docs/source/_static/BioNeuralNet_old.png b/docs/source/_static/BioNeuralNet_old.png
deleted file mode 100644
index 0b08846..0000000
Binary files a/docs/source/_static/BioNeuralNet_old.png and /dev/null differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index a73203d..2ee4a42 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -47,7 +47,8 @@
html_static_path = ["_static"]
html_css_files = ["custom.css"]
html_theme = "furo"
-html_title = "BioNeuralNet Documentation"
+#html_title = ""
+html_logo = "_static/LOGO_TB.svg"
#html_theme = "sphinx_rtd_theme"
intersphinx_mapping = {
diff --git a/docs/source/faq.rst b/docs/source/faq.rst
index 1b87a24..f1f01af 100644
--- a/docs/source/faq.rst
+++ b/docs/source/faq.rst
@@ -31,14 +31,33 @@ Contributions to BioNeuralNet are welcome. If you wish to contribute new feature
`UCD-BDLab/BioNeuralNet `_
-Please refer to our contribution guidelines in the repository for more details.
+ - **Ways to contribute**:
+
+ - Report issues or bugs on our `GitHub Issues page `_.
+ - Suggest new features or improvements.
+ - Share your experiences or use cases with the community.
+
+ - **Implementing new features**:
+
+ - Fork the repo and create a feature branch.
+ - Add tests and documentation for new features.
+ - Run the test suite and and pre-commit hooks before opening a Pull Request(PR).
+ - A new PR should pass all tests and adhere to the project's coding standards.
+
+.. code-block:: bash
+
+ git clone https://github.com/UCD-BDLab/BioNeuralNet.git
+ cd BioNeuralNet
+ pip install -r requirements-dev.txt
+ pre-commit install
+ pytest --cov=bioneuralnet
Frequently Asked Questions (FAQ)
--------------------------------
**Q1: What is BioNeuralNet?**:
- - BioNeuralNet is a **flexible, modular Python framework** developed to facilitate end-to-end **network-based multi-omics analysis** using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data—such as high dimensionality, sparsity, and intricate molecular interactions—by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
+ - BioNeuralNet is a flexible, modular Python framework developed to facilitate end-to-end network-based multi-omics analysis** using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data, such as high dimensionality, sparsity, and intricate molecular interactions, by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
**Q2: What are the key features of BioNeuralNet?**:
@@ -49,8 +68,6 @@ Frequently Asked Questions (FAQ)
**Q3: How do I install BioNeuralNet?**:
- - Install via pip
-
.. code-block:: bash
pip install bioneuralnet
@@ -62,32 +79,9 @@ Frequently Asked Questions (FAQ)
**Q5: Can I use my own network instead of SmCCNet or internal graph generation functions?**
- - Absolutely. You can supply a pre-computed adjacency matrix directly to the GNNEmbedding or DPMON modules.
-
-**Q6: How is DPMON different from standard GNN models?**
-
- - DPMON is tailored for multi-omics disease prediction by jointly learning node embeddings and a classifier, integrating both local and global graph structures.
-
-**Q7: What clustering methods does BioNeuralNet support?**:
-
- - Correlated Louvain
- - Hybrid Louvain
- - Correlated PageRank
-
-**Q8: How can I contribute to BioNeuralNet?**:
-
- - Contributions are welcome! You can:
-
- - Report issues or bugs on our `GitHub Issues page `_.
- - Suggest new features or improvements.
- - Share your experiences or use cases with the community.
-
- - How to contribute:
-
- - Fork the repository, add your features, components, or algorithms, and submit a pull request.
- - Please refer to our `contribution guidelines `_ for more details.
+ - Absolutely. You can supply a pre-computed adjacency matrix directly to the **GNNEmbedding** or **DPMON** modules.
-**Q9: Where can I find tutorials and examples?**:
+**Q6: Where can I find tutorials and examples?**:
- We provide a set of tutorials and example notebooks to help you get started with BioNeuralNet. You can find them in the `tutorials` directory of the repository.
- For a quick start, check out the following notebooks:
@@ -95,8 +89,8 @@ Frequently Asked Questions (FAQ)
- :doc:`Quick_Start`.
- :doc:`TCGA-BRCA_Dataset`.
-**Q10: What license is BioNeuralNet released under?**:
+**Q7: What license is BioNeuralNet released under?**:
- - BioNeuralNet is distributed under the [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0)](https://creativecommons.org/licenses/by-nc-nd/4.0/).
+ - BioNeuralNet is distributed under the `Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0) `_.
Return to :doc:`../index`
diff --git a/docs/source/index.rst b/docs/source/index.rst
index ed8d8a1..d85c805 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -13,7 +13,7 @@ BioNeuralNet: Graph Neural Networks for Multi-Omics Network Analysis
.. image:: https://img.shields.io/badge/GitHub-View%20Code-blue
:target: https://github.com/UCD-BDLab/BioNeuralNet
-.. figure:: _static/LOGO_WB.png
+.. figure:: _static/LOGO_TB.png
:align: center
:alt: BioNeuralNet Logo
@@ -44,13 +44,12 @@ Get started quickly with these end-to-end examples demonstrating the BioNeuralNe
:align: center
:alt: BioNeuralNet Workflow Overview
- Embeddings form the core of BioNeuralNet, supporting diverse downstream applications.
- `View full-size image: Network-Based Multi-Omics Analysis for Disease Prediction `_
+ `View BioNeuralNet Workflow. `_
What is BioNeuralNet?
---------------------
-BioNeuralNet is a **flexible, modular Python framework** developed to facilitate end-to-end **network-based multi-omics analysis** using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data—such as high dimensionality, sparsity, and intricate molecular interactions—by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
+BioNeuralNet is a flexible, modular Python framework developed to facilitate end-to-end network-based multi-omics analysis using **Graph Neural Networks (GNNs)**. It addresses the complexities associated with multi-omics data, such as high dimensionality, sparsity, and intricate molecular interactions, by converting biological networks into meaningful, low-dimensional embeddings suitable for downstream tasks.
BioNeuralNet provides:
@@ -58,7 +57,7 @@ BioNeuralNet provides:
- **GNN Embeddings**: Transform complex biological networks into versatile embeddings, capturing both structural relationships and molecular interactions.
- **Phenotype-Aware Analysis**: Integrate phenotype or clinical variables to enhance the biological relevance of the embeddings.
- **Disease Prediction**: Utilize network-derived embeddings for accurate and scalable predictive modeling of diseases and phenotypes.
-- **Interoperability**: Outputs structured as **pandas DataFrames**, ensuring compatibility with common Python tools and seamless integration into existing bioinformatics pipelines.
+- **Interoperability**: Outputs structured as **Pandas DataFrames**, ensuring compatibility with common Python tools and seamless integration into existing bioinformatics pipelines.
BioNeuralNet emphasizes usability, reproducibility, and adaptability, making advanced network-based multi-omics analyses accessible to researchers working in precision medicine and systems biology.
@@ -162,6 +161,33 @@ For detailed examples and tutorials, visit:
- :doc:`metrics`: Methods for visualization, quality evaluation, and performance benchmarking.
- :doc:`utils`: Tools for preprocessing, feature selection, network construction, and data summarization.
- :doc:`external_tools/index`: Integration of external methods, such as SmCCNet, for advanced network construction.
+- :doc:`user_api`: Detailed API documentation for developers and advanced users.
+
+Contributing to BioNeuralNet
+----------------------------
+
+We welcome contributions to BioNeuralNet! If you have ideas for new features, improvements, or bug fixes, please follow these steps:
+
+- **Ways to contribute**:
+
+ - Report issues or bugs on our `GitHub Issues page `_.
+ - Suggest new features or improvements.
+ - Share your experiences or use cases with the community.
+
+- **Implementing new features**:
+
+ - Fork the repo and create a feature branch `UCD-BDLab/BioNeuralNet `_.
+ - Add tests and documentation for new features.
+ - Run the test suite and and pre-commit hooks before opening a Pull Request(PR).
+ - A new PR should pass all tests and adhere to the project's coding standards.
+
+.. code-block:: bash
+
+ git clone https://github.com/UCD-BDLab/BioNeuralNet.git
+ cd BioNeuralNet
+ pip install -r requirements-dev.txt
+ pre-commit install
+ pytest --cov=bioneuralnet
.. toctree::