Frequently Asked Questions (FAQ)
Q1: What is BioNeuralNet?
A1: BioNeuralNet is a Python framework for integrating multi-omics data with Graph Neural Networks (GNNs). It provides tools for graph construction, clustering, network embedding, subject representation, and disease prediction.
Q2: What are the key features of BioNeuralNet?
A2: BioNeuralNet includes the following components:
Graph Construction: Build multi-omics networks using SmCCNet or custom adjacency matrices.
Graph Clustering: Identify meaningful communities with Louvain, Hybrid Louvain, or PageRank-based methods.
GNN Embedding: Learn node embeddings from biological graphs with GNNEmbedding.
Subject Representation: Integrate embeddings into omics data via GraphEmbedding for enhanced feature learning.
Disease Prediction: Use DPMON, an end-to-end pipeline that trains a GNN-based classifier.
Q3: How do I install BioNeuralNet?
A3: Install BioNeuralNet with:
pip install bioneuralnet
For GPU support, install PyTorch with CUDA from [PyTorch.org](https://pytorch.org/get-started/locally/). See Installation for full setup details.
Q4: Does BioNeuralNet support GPU acceleration?
A4: Yes. If you have a CUDA-compatible GPU, BioNeuralNet will automatically use it if torch.cuda.is_available() is True.
Q5: Can I use my own adjacency matrix instead of SmCCNet?
A5: Yes! If you have a precomputed adjacency matrix, you can pass it directly to GNNEmbedding or DPMON. SmCCNet is an optional tool for generating adjacency matrices.
Q6: How is DPMON different from other GNN models?
- A6: DPMON is designed for multi-omics disease prediction. Unlike standard GNNs, it:
Jointly learns node embeddings and a classifier.
Leverages both local and global graph structures.
Integrates phenotype and clinical data alongside omics features.
Q7: Can I run GNNEmbedding without labeled data (unsupervised learning)?
A7: Yes! If you don’t provide labels, GNNEmbedding will still generate embeddings based on graph structure. For self-supervised learning (e.g., contrastive learning), you may need additional adaptation.
Q8: What clustering methods does BioNeuralNet support?
- A8: BioNeuralNet provides:
Correlated Louvain: Clusters nodes based on omics similarity and phenotype correlation.
Hybrid Louvain: Iteratively refines clusters using PageRank expansion.
Correlated PageRank: Detects communities based on personalized PageRank scores.
Q9: Can I contribute new features or models?
A9: Yes! We welcome contributions. Fork the repository, add your module, and submit a pull request. Check our contribution guide.
Q10: What license is BioNeuralNet under?
A10: BioNeuralNet is released under the MIT License.
Q11: How do I report issues or request features?
A11: Open an issue on our GitHub repository: UCD-BDLab/BioNeuralNet.
Q12: Where can I find tutorials or example scripts?
A12: See Tutorials for step-by-step guides on graph construction, embeddings, subject representation, and disease prediction.