Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ TCGA-BRCA_Dataset_testing*.ipynb
testsOLD
network_construction_run.ipynb
datasets_run.ipynb
jupyter_execute
# Other example data and tests not needed in the repo.

Output**
Expand Down
62 changes: 60 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,38 @@

![BioNeuralNet Workflow](assets/BioNeuralNet.png)


## Citation

If you use BioNeuralNet in your research, we kindly ask that you cite our paper:

> Ramos, V., Hussein, S., et al. (2025).
> [**BioNeuralNet: A Graph Neural Network based Multi-Omics Network Data Analysis Tool**](https://arxiv.org/abs/2507.20440).
> *arXiv preprint arXiv:2507.20440* | [**DOI: 10.48550/arXiv.2507.20440**](https://doi.org/10.48550/arXiv.2507.20440).


For your convenience, you can use the following BibTeX entry:

<details>
<summary>BibTeX Citation</summary>

```bibtex
@misc{ramos2025bioneuralnetgraphneuralnetwork,
title={BioNeuralNet: A Graph Neural Network based Multi-Omics Network Data Analysis Tool},
author={Vicente Ramos and Sundous Hussein and Mohamed Abdel-Hafiz and Arunangshu Sarkar and Weixuan Liu and Katerina J. Kechris and Russell P. Bowler and Leslie Lange and Farnoush Banaei-Kashani},
year={2025},
eprint={2507.20440},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2507.20440},
}
```
</details>

## Documentation

**[BioNeuralNet Documentation & Examples](https://bioneuralnet.readthedocs.io/en/latest/)**
For complete documentation, tutorials, and examples, please visit our Read the Docs site:
**[bioneuralnet.readthedocs.io](https://bioneuralnet.readthedocs.io/en/latest/)**

## Table of Contents

Expand All @@ -38,12 +67,14 @@

## 1. Installation

BioNeuralNet supports Python `3.10`, `3.11` and `3.12`.
BioNeuralNet is available as a package on the Python Package Index (PyPI), making it easy to install and integrate into your workflows.

### 1.1. Install BioNeuralNet
```bash
pip install bioneuralnet
```
**PyPI Project Page:** [https://pypi.org/project/bioneuralnet/](https://pypi.org/project/bioneuralnet/)
>**Requirements:** BioNeuralNet is tested and supported on Python versions `3.10`, `3.11`, and `3.12`. Functionality on other versions is not guaranteed.

## 1.2. Install PyTorch and PyTorch Geometric
BioNeuralNet relies on PyTorch for GNN computations. Install PyTorch separately:
Expand Down Expand Up @@ -238,3 +269,30 @@ See the [LICENSE](LICENSE) file for details.
<a id="2">[2]</a> Hussein, S., Ramos, V., et al. "Learning from Multi-Omics Networks to Enhance Disease Prediction: An Optimized Network Embedding and Fusion Approach." In *2024 IEEE International Conference on Bioinformatics and Biomedicine (BIBM)*, Lisbon, Portugal, 2024, pp. 4371-4378. [DOI: 10.1109/BIBM62325.2024.10822233](https://doi.org/10.1109/BIBM62325.2024.10822233)

<a id="3">[3]</a> Liu, W., Vu, T., Konigsberg, I. R., Pratte, K. A., Zhuang, Y., & Kechris, K. J. (2023). "Network-Based Integration of Multi-Omics Data for Biomarker Discovery and Phenotype Prediction." *Bioinformatics*, 39(5), btat204. [DOI: 10.1093/bioinformatics/btat204](https://doi.org/10.1093/bioinformatics/btat204)


## 11. Citation

If you use BioNeuralNet in your research, we kindly ask that you cite our paper:

> Vicente Ramos, et al. (2025).
> [**BioNeuralNet: A Graph Neural Network based Multi-Omics Network Data Analysis Tool**](https://arxiv.org/abs/2507.20440).
> *arXiv preprint arXiv:2507.20440*.

For your convenience, you can use the following BibTeX entry:

<details>
<summary>BibTeX Citation</summary>

```bibtex
@misc{ramos2025bioneuralnetgraphneuralnetwork,
title={BioNeuralNet: A Graph Neural Network based Multi-Omics Network Data Analysis Tool},
author={Vicente Ramos and Sundous Hussein and Mohamed Abdel-Hafiz and Arunangshu Sarkar and Weixuan Liu and Katerina J. Kechris and Russell P. Bowler and Leslie Lange and Farnoush Banaei-Kashani},
year={2025},
eprint={2507.20440},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2507.20440},
}
```
</details>
7 changes: 1 addition & 6 deletions bioneuralnet/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,4 @@
from .preprocess import preprocess_clinical, clean_inf_nan, select_top_k_variance, select_top_k_correlation, select_top_randomforest, top_anova_f_features, prune_network, prune_network_by_quantile, network_remove_low_variance, network_remove_high_zero_fraction
from .graph import gen_similarity_graph, gen_correlation_graph, gen_threshold_graph, gen_gaussian_knn_graph, gen_lasso_graph, gen_mst_graph, gen_snn_graph


__all__ = ["get_logger", "rdata_to_df", "variance_summary", "zero_fraction_summary", "expression_summary", "correlation_summary",
"explore_data_stats", "preprocess_clinical", "clean_inf_nan", "select_top_k_variance", "select_top_k_correlation",
"select_top_randomforest", "top_anova_f_features", "prune_network", "prune_network_by_quantile", "network_remove_low_variance",
"network_remove_high_zero_fraction", "gen_similarity_graph", "gen_correlation_graph", "gen_threshold_graph",
"gen_gaussian_knn_graph", "gen_lasso_graph", "gen_mst_graph", "gen_snn_graph"]
__all__ = ["get_logger", "rdata_to_df", "variance_summary", "zero_fraction_summary", "expression_summary", "correlation_summary", "explore_data_stats", "preprocess_clinical", "clean_inf_nan", "select_top_k_variance", "select_top_k_correlation", "select_top_randomforest", "top_anova_f_features", "prune_network", "prune_network_by_quantile", "network_remove_low_variance", "network_remove_high_zero_fraction", "gen_similarity_graph", "gen_correlation_graph", "gen_threshold_graph", "gen_gaussian_knn_graph", "gen_lasso_graph", "gen_mst_graph", "gen_snn_graph"]
2 changes: 1 addition & 1 deletion bioneuralnet/utils/graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def gen_correlation_graph(X: pd.DataFrame, k: int = 15,method: str = 'pearson',
"""
Build a normalized k-nearest neighbors (kNN) correlation graph from feature vectors.

The function computes pairwise `pearson` or `spearman` correlations, sparsifies the matrix by keeping `top-k`neighbours per node (or by applying a global threshold), optionally prunes edges to mutual neighbours, and can add self-loops.
The function computes pairwise `pearson` or `spearman` correlations, sparsifies the matrix by keeping `top-k` neighbours per node (or by applying a global threshold), optionally prunes edges to mutual neighbours, and can add self-loops.

Args:

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading