```
** +----------- ** ___ _
@@ @@ / _ \ _ __ ___ _ __ (_)
@@* #============== *@@ | | | || '_ ` _ \ | '_ \ | |
@@* *@@ | |_| || | | | | || | | || |
*@@ +------------ *@@ \___/ |_| |_| |_||_| |_||_|
*@* @@*
*@@ #========= @@*
*@@* *@@*
*@@ +---@@@* ____
*@@* ** / ___| ___ _ __ ___ _ __ ___ ___
**@** | | _ / _ \| '_ \ / _ \ | '_ ` _ \ / _ \
*@@* *@@* | |_| || __/| | | || (_) || | | | | || __/
*@@ ---+ @@* \____| \___||_| |_| \___/ |_| |_| |_| \___|
*@@* *@@*
*@@ =========# @@*
*@@ @@*
*@@ -------------+ @@* ____ _
@@ @@ | __ ) ___ _ __ ___ | |__
@@ ===============# @@ | _ \ / _ \| '_ \ / __|| '_ \
@@ @@ | |_) || __/| | | || (__ | | | |
** -----------+ ** |____/ \___||_| |_| \___||_| |_|
```
# OmniGenBench: Automating Large-scale in-silico Benchmarking for Genomic Foundation Models
# Introduction
The advancements in artificial intelligence in recent years, such as Large Language Models (LLMs), have fueled expectations for breakthroughs in genomic foundation models (GFMs). The code of nature, hidden in diverse genomes since the very beginning of life's evolution, holds immense potential for impacting humans and ecosystems through genome modeling. Recent breakthroughs in GFMs, such as Evo, have attracted significant investment and attention to genomic modeling, as they address long-standing challenges and transform in-silico genomic studies into automated, reliable, and efficient paradigms. In the context of this flourishing era of consecutive technological revolutions in genomics, GFM studies face two major challenges: the lack of GFM benchmarking tools and the absence of open-source software for diverse genomics. These challenges hinder the rapid evolution of GFMs and their wide application in tasks such as understanding and synthesizing genomes, problems that have persisted for decades. To address these challenges, we introduce GFMBench, a framework dedicated to GFM-oriented benchmarking. GFMBench standardizes benchmark suites and automates benchmarking for a wide range of open-source GFMs. It integrates millions of genomic sequences across hundreds of genomic tasks from four large-scale benchmarks, democratizing GFMs for a wide range of in-silico genomic applications.
# What you can do with OmniGenome
- Click-to-run tutorials of Genomic sequence modeling
- Automated benchmarking of genomic foundation models
- Instant inference using pre-trained checkpoints
- Customizable pipeline for genomic modeling tasks
# Installation
before installing OmniGenome, you need to install the following dependencies:
- Python 3.9+
- PyTorch 2.0+
- Transformers 4.37.0+
- To install OmniGenome, you can use pip:
```bash
pip install omnigenome -U
```
or you can clone the repository and install it from source:
```bash
git clone https://github.com/yangheng95/OmniGenBench.git
cd OmniGenBench
pip install -e .
```
# Quick Start
## Auto-benchmark for genomic foundation models (a.k.a., pretrained models)
```python3
from omnigenome import AutoBench
gfm = 'LongSafari/hyenadna-medium-160k-seqlen-hf'
# bench_root could be "RGB", "GB", "PGB", "GUE", which will be downloaded from the Hugging Face model hub
bench_root = "RGB"
bench_size = 8
seeds = [0, 1, 2, 3, 4]
bench = AutoBench(bench_root=bench_root, model_name_or_path=gfm, overwrite=False)
bench.run(autocast=False, batch_size=bench_size, seeds=seeds)
```
## RNA Design
```python3
from omnigenome import OmniGenomeModelForRNADesign # Assuming this is where the model class is defined
# Initialize the model for RNA design
model = OmniGenomeModelForRNADesign(model_path="anonymous8/OmniGenome-186M")
# Define the target RNA structure
structure = "(((....)))" # Example of a simple RNA hairpin structure
# Run the genetic algorithm to design RNA sequences
best_sequences = model.run_rna_design(structure=structure, mutation_ratio=0.5, num_population=100, num_generation=100)
# Print the best sequence(s)
print("Best RNA sequences:", best_sequences)
```
# Tutorials
Please find more usage tutorials in [examples/tutorials](https://github.com/yangheng95/OmniGenomeBench/tree/master/examples/tutorials).
# License
OmniGenomeBench is licensed under the Apache License 2.0. See the LICENSE file for more information.
# Citation
```bibtex
@misc{yang2024omnigenbenchautomatinglargescaleinsilico,
title={OmniGenBench: Automating Large-scale in-silico Benchmarking for Genomic Foundation Models},
author={Heng Yang and Jack Cole and Ke Li},
year={2024},
eprint={2410.01784},
archivePrefix={arXiv},
primaryClass={q-bio.GN},
url={https://arxiv.org/abs/2410.01784},
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/yangheng95/OmniGenome",
"name": "OmniGenome",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Yang, Heng",
"author_email": "hy345@exeter.ac.uk",
"download_url": null,
"platform": null,
"description": "```\r\n ** +----------- ** ___ _ \r\n @@ @@ / _ \\ _ __ ___ _ __ (_)\r\n @@* #============== *@@ | | | || '_ ` _ \\ | '_ \\ | |\r\n @@* *@@ | |_| || | | | | || | | || |\r\n *@@ +------------ *@@ \\___/ |_| |_| |_||_| |_||_|\r\n *@* @@* \r\n *@@ #========= @@* \r\n *@@* *@@* \r\n *@@ +---@@@* ____ \r\n *@@* ** / ___| ___ _ __ ___ _ __ ___ ___ \r\n **@** | | _ / _ \\| '_ \\ / _ \\ | '_ ` _ \\ / _ \\ \r\n *@@* *@@* | |_| || __/| | | || (_) || | | | | || __/ \r\n *@@ ---+ @@* \\____| \\___||_| |_| \\___/ |_| |_| |_| \\___| \r\n *@@* *@@* \r\n *@@ =========# @@* \r\n *@@ @@* \r\n *@@ -------------+ @@* ____ _ \r\n @@ @@ | __ ) ___ _ __ ___ | |__ \r\n @@ ===============# @@ | _ \\ / _ \\| '_ \\ / __|| '_ \\ \r\n @@ @@ | |_) || __/| | | || (__ | | | |\r\n ** -----------+ ** |____/ \\___||_| |_| \\___||_| |_|\r\n```\r\n# OmniGenBench: Automating Large-scale in-silico Benchmarking for Genomic Foundation Models\r\n\r\n# Introduction\r\nThe advancements in artificial intelligence in recent years, such as Large Language Models (LLMs), have fueled expectations for breakthroughs in genomic foundation models (GFMs). The code of nature, hidden in diverse genomes since the very beginning of life's evolution, holds immense potential for impacting humans and ecosystems through genome modeling. Recent breakthroughs in GFMs, such as Evo, have attracted significant investment and attention to genomic modeling, as they address long-standing challenges and transform in-silico genomic studies into automated, reliable, and efficient paradigms. In the context of this flourishing era of consecutive technological revolutions in genomics, GFM studies face two major challenges: the lack of GFM benchmarking tools and the absence of open-source software for diverse genomics. These challenges hinder the rapid evolution of GFMs and their wide application in tasks such as understanding and synthesizing genomes, problems that have persisted for decades. To address these challenges, we introduce GFMBench, a framework dedicated to GFM-oriented benchmarking. GFMBench standardizes benchmark suites and automates benchmarking for a wide range of open-source GFMs. It integrates millions of genomic sequences across hundreds of genomic tasks from four large-scale benchmarks, democratizing GFMs for a wide range of in-silico genomic applications. \r\n\r\n# What you can do with OmniGenome\r\n- Click-to-run tutorials of Genomic sequence modeling\r\n- Automated benchmarking of genomic foundation models\r\n- Instant inference using pre-trained checkpoints\r\n- Customizable pipeline for genomic modeling tasks\r\n\r\n# Installation\r\nbefore installing OmniGenome, you need to install the following dependencies:\r\n- Python 3.9+\r\n- PyTorch 2.0+\r\n- Transformers 4.37.0+\r\n\r\n- To install OmniGenome, you can use pip:\r\n```bash\r\npip install omnigenome -U\r\n```\r\nor you can clone the repository and install it from source:\r\n```bash\r\ngit clone https://github.com/yangheng95/OmniGenBench.git\r\ncd OmniGenBench\r\npip install -e .\r\n```\r\n\r\n# Quick Start\r\n\r\n## Auto-benchmark for genomic foundation models (a.k.a., pretrained models)\r\n```python3\r\nfrom omnigenome import AutoBench\r\ngfm = 'LongSafari/hyenadna-medium-160k-seqlen-hf'\r\n# bench_root could be \"RGB\", \"GB\", \"PGB\", \"GUE\", which will be downloaded from the Hugging Face model hub\r\nbench_root = \"RGB\"\r\nbench_size = 8\r\nseeds = [0, 1, 2, 3, 4]\r\nbench = AutoBench(bench_root=bench_root, model_name_or_path=gfm, overwrite=False)\r\nbench.run(autocast=False, batch_size=bench_size, seeds=seeds)\r\n```\r\n\r\n## RNA Design\r\n```python3\r\nfrom omnigenome import OmniGenomeModelForRNADesign # Assuming this is where the model class is defined\r\n\r\n# Initialize the model for RNA design\r\nmodel = OmniGenomeModelForRNADesign(model_path=\"anonymous8/OmniGenome-186M\")\r\n\r\n# Define the target RNA structure\r\nstructure = \"(((....)))\" # Example of a simple RNA hairpin structure\r\n\r\n# Run the genetic algorithm to design RNA sequences\r\nbest_sequences = model.run_rna_design(structure=structure, mutation_ratio=0.5, num_population=100, num_generation=100)\r\n\r\n# Print the best sequence(s)\r\nprint(\"Best RNA sequences:\", best_sequences)\r\n```\r\n\r\n# Tutorials\r\nPlease find more usage tutorials in [examples/tutorials](https://github.com/yangheng95/OmniGenomeBench/tree/master/examples/tutorials).\r\n\r\n\r\n\r\n# License\r\nOmniGenomeBench is licensed under the Apache License 2.0. See the LICENSE file for more information.\r\n\r\n# Citation\r\n```bibtex\r\n@misc{yang2024omnigenbenchautomatinglargescaleinsilico,\r\n title={OmniGenBench: Automating Large-scale in-silico Benchmarking for Genomic Foundation Models}, \r\n author={Heng Yang and Jack Cole and Ke Li},\r\n year={2024},\r\n eprint={2410.01784},\r\n archivePrefix={arXiv},\r\n primaryClass={q-bio.GN},\r\n url={https://arxiv.org/abs/2410.01784}, \r\n}\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "OmniGenome: A comprehensive toolkit for genome analysis.",
"version": "0.1.6a1",
"project_urls": {
"Homepage": "https://github.com/yangheng95/OmniGenome"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "46690d69f9216df16176cc20e4a216756b29aaac0e2b28da409d3d0a1283ef77",
"md5": "637ba23e19028a7dcdd80e6856709a1d",
"sha256": "c8c3c245cf7fe7dc69224a6ca897a20bec55965146c8e52b749fdaf020298f6d"
},
"downloads": -1,
"filename": "OmniGenome-0.1.6a1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "637ba23e19028a7dcdd80e6856709a1d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 121240,
"upload_time": "2025-01-13T09:14:00",
"upload_time_iso_8601": "2025-01-13T09:14:00.507132Z",
"url": "https://files.pythonhosted.org/packages/46/69/0d69f9216df16176cc20e4a216756b29aaac0e2b28da409d3d0a1283ef77/OmniGenome-0.1.6a1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 09:14:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yangheng95",
"github_project": "OmniGenome",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "omnigenome"
}