GenoMAS

Autonomous Agents 💻 Python ⚖️ MIT 🟡 Quiet lately
134 stars

GenoMAS is a multi-agent framework for scientific discovery via code-driven gene expression analysis. It automates the analysis of transcriptomic datasets from GEO and TCGA to identify significant genes related to traits while accounting for confounders. It is designed for researchers and developers in bioinformatics who want to leverage LLM-based agents for reproducible and scalable genomic analyses.

✨ Key features

  • Generic communication protocol with typed messaging for code-driven analysis
  • Notebook-style workflow: agents plan, write code, execute, debug, and backtrack
  • Customizable agents with specific roles, guidelines, tools, and action units
  • Supports multiple LLM providers and heterogeneous model configurations per role
  • Parallel cohort processing to reduce wall-clock time
  • Checkpoint resume for interrupted runs

🎯 Use cases

  • Automated gene expression analysis to find trait-associated genes
  • Replicating experiments on the GenoTEX benchmark
  • Preprocessing and regression analysis of genomic cohorts
  • Testing different LLM configurations for scientific workflows

📦 Installation

🧰 Requirements: Python 3.10, conda, API keys for at least one LLM provider (e.g., OpenAI, Anthropic, Google), and the GenoTEX input data (~42 GB) for full benchmark runs.

conda create -n genomas python=3.10
conda activate genomas
pip install -r requirements.txt

Then create a .env file with your API keys:

cp env.example .env
# Edit .env with your actual API keys

🚀 Usage

python main.py --version exp1 --model gpt-5-mini-2025-08-07 --api 1

For a quick test without full regression:

python main.py --version test_preprocess --model claude-sonnet-4-5-20250929 --api 1 --quick-test

⚠️ Good to know

Full benchmark runs require substantial time (3-5 days) and cost ($300+), and local deployment of large models like DeepSeek-R1 671B demands significant GPU resources.

❓ FAQ

What data does GenoMAS analyze?

It analyzes transcriptomic datasets from GEO and TCGA, specifically using the GenoTEX benchmark for experiments.

Can I use different models for different agents?

Yes, you can assign different models and API indices to roles like code reviewer, domain expert, data engineer, statistician, and planning via command-line arguments.

How do I resume an interrupted run?

Rerun the same command; the system has checkpoint resume logic and will continue from where it left off, clearing outputs of the half-finished task.

What is the purpose of the --quick-test flag?

It skips statistical analysis and focuses on preprocessing only, allowing you to evaluate preprocessing quality without waiting for full regression.

📊 Repository

Stars★ 134
Forks🍴 24
Open issues🐛 0
Last commit🕒 Apr 20, 2026
Created📅 May 2024
Language💻 Python
License⚖️ MIT

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.