SuperAPI AI Directory

GenoMAS

GenoMAS is a minimalist multi-agent framework for automating scientific analysis workflows, with an official implementation for code-driven gene expression data analysis. It provides a typed message communication protocol and a notebook-style workflow, enabling agents to plan, write code, execute, debug, and backtrack multi-step tasks, and supports customizing agent roles, guidelines, tools, and action units for different domains. Its specialized implementation can analyze transcriptomic data from GEO and TCGA, identify genes significantly associated with traits while handling confounding factors, achieve a 60.38% F1 score on the GenoTEX benchmark, and discover biologically meaningful gene-trait associations. The project requires a Python 3.10 environment, supports multiple LLM providers, allows role-specific model configurations, and provides documentation on data preparation, environment setup, experiment execution, output structure, and troubleshooting.

Open website

About this tool

GenoMAS is a minimalist yet powerful multi-agent framework for robustly automating scientific analysis workflows, especially gene expression analysis. It mainly consists of two parts: a general multi-agent framework, and a specialized implementation for gene expression data analysis.

[Purpose] GenoMAS targets scientific discovery scenarios, automatically completing multi-step analysis tasks in a code-driven manner. Its specialized implementation focuses on transcriptomic data analysis, can obtain data from GEO and TCGA, and aims to identify genes significantly associated with traits while accounting for the influence of confounding factors. The framework is also suitable for researchers who want to build production-grade agent systems, for experimentation and customizing domain agents.

[Main Capabilities]

  1. Multi-agent framework: Provides a typed message mechanism for agent communication in code-driven analysis; adopts a notebook-style workflow, where agents can plan, write code, execute, debug, and backtrack multi-step tasks; supports custom agent roles, guidelines, tools, and action units.
  2. Design philosophy: Strikes a balance between the controllability of traditional workflows and the flexibility of autonomous agents, provides sufficient but not excessive encapsulation, facilitates agent experimentation, and builds a reliable foundation for production-grade agent systems.
  3. GenoMAS implementation: Specifically used to automate gene expression data analysis, analyze transcriptomic datasets from GEO and TCGA, identify important genes associated with traits while accounting for confounding factors. It achieves a 60.38% F1 score on the GenoTEX benchmark, significantly outperforming open-domain agents and general biomedical agents, and identifies biologically meaningful gene-trait associations, among which high-confidence associations are supported by literature, along with new findings worthy of further study.

[Usage]

  1. Data preparation: The experiment uses the public GenoTEX benchmark, requiring downloading about 42 GB of input data from Google Drive and saving it under the same parent folder, while verifying data integrity.
  2. Environment setup: Create a Python 3.10 conda environment and install the required packages.
  3. Configure API keys: Create a .env file in the project root directory, fill in at least one API key for the selected provider; the code supports multiple providers and can use different keys for load balancing. For OpenAI models, an organization ID is also required.
  4. Run experiments: Command-line parameters are provided for experiment version identifier, LLM model name, API key index, extended thinking mode, parallelization strategy, number of concurrent workers, data root directory, etc. Different models and AP can be specified by agent role.I Index, such as code review agents, domain expert agents, data engineer agents, statistician agents, and planning mechanisms, covering global model and API settings.
  5. Action unit prompts: Action unit prompts can be generated from the guidelines, allowing manual editing before use, or they can be automatically generated and used, suitable for automated pipelines.
  6. Full benchmark run: Covers all 1,384 (trait, condition) pairs in GenoTEX, expected to require 3-5 days of continuous execution, with a cost of more than 300 USD, depending on model selection and API pricing.
  7. Small-scale testing: You can download only a small number of cohort datasets, use the --quick-test flag to skip statistical analysis, and focus only on preprocessing to evaluate preprocessing quality without waiting for regression analysis.
  8. Local deployment: Supports local deployment using the Ollama library, and also supports use through APIs, with Novita used by default.

[Applicable scenarios] Suitable for gene expression data analysis, transcriptomic data research, scientific workflow automation, multi-agent system experiments, and research and engineering scenarios that require combining the controllability of traditional workflows with the flexibility of autonomous agents.

[Limitations and notes] A full benchmark run takes a long time and is costly. Local model deployment requires sufficient GPU memory; otherwise, CUDA OOM or increased latency may occur. For example, DeepSeek-R1 671B requires multiple high-end GPUs, while smaller models such as Llama 3.1 8B or Llama 3.3 70B can be used for testing. Due to the complexity of genomic data, the experiment requires a maximum input length of 20K tokens. Some models or API endpoints may have long latency. The system automatically adjusts timeout values based on model names, but it cannot cover all cases. If necessary, the timeout scaler or task-level timeout parameters can be adjusted. The system implements checkpoint recovery logic. After an experiment is interrupted, rerunning the same command can continue from the breakpoint, and the output of unfinished tasks will be automatically cleared. Logs are saved in ./output/log_{version}.txt, making it convenient to observe agent behavior and diagnose the system. If the model name is incorrect, the error message will list all supported models. This project uses the MIT license.