MultiOmicsGraphEmbedding is a PyTorch-based package designed for representation learning on heterogeneous networks. This repository is aimed at facilitating experimentation with various Graph Neural Network (GNN) models, metrics, and datasets, leveraging powerful libraries such as PyTorch Geometric and DGL. Whether you're a researcher or a practitioner, this package helps you explore and apply graph representation learning techniques efficiently.
- Modular Architecture: Experiment with different GNN architectures, data loaders and metrics effortlessly.
- Heterogeneous Network Support: Handle multi-relational and multi-modal data seamlessly.
- Integration: Compatible with PyTorch Geometric, DGL, and NetworkX for flexibility.
- Reproducibility: Easy-to-use pipeline for reproducible experiments.
Install the package directly from source with
pip install git+https://github.com/JonnyTran/MultiOmicsGraphEmbedding- Python 3.8+
- PyTorch 1.9+
- PyTorch Geometric
- DGL
- Other dependencies listed in
requirements.txt
To install the required dependencies, run:
pip install -r requirements.txtgit clone https://github.com/JonnyTran/MultiOmicsGraphEmbedding.git
cd MultiOmicsGraphEmbeddingRun a sample script to test the setup and see the package in action:
python examples/sample_script.pyYou can define your own GNN models or datasets by following the modular structure provided in the repository. Check the models/ and datasets/ directories for more details.
MultiOmicsGraphEmbedding/
│
├── datasets/ # Contains dataset preprocessing and loading scripts
├── examples/ # Example scripts for experimentation
├── models/ # Implementation of various GNN models
├── utils/ # Utility functions for metrics, evaluation, etc.
├── requirements.txt # Python dependencies
├── LICENSE # License file
└── README.md # Project documentation (this file)
We welcome contributions to the MultiOmicsGraphEmbedding project! If you have ideas for new features, bug fixes, or improvements, feel free to open an issue or submit a pull request.
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name. - Commit your changes:
git commit -m 'Add new feature'. - Push to your branch:
git push origin feature-name. - Open a pull request.
This project is licensed under the MIT License.
For any questions or feedback, please feel free to create an issue in the repository or contact JonnyTran.