AI-powered Biomedical Discovery Agent System
BioDisco is a comprehensive framework for scientific hypothesis generation and biomedical literature and knowledge graph mining using AI agents. It leverages multiple AI agents to automatically discover patterns, generate hypotheses, and gather supporting evidence from biomedical literature and knowledge databases.
- Multi-Agent AI System: Coordinated AI agents for different aspects of scientific discovery
- Hypothesis Generation: Automated generation of novel biomedical hypotheses
- Literature Mining: Intelligent PubMed search and literature analysis
- Knowledge Graph Integration: Neo4j-based knowledge graph for storing and querying biomedical entities
- Evidence Collection: Systematic gathering and linking of supporting evidence
- Simple Python Interface: Easy-to-use API for scientific discovery
pip install biodiscoBioDisco provides a simple interface for biomedical discovery
import BioDisco
# Simple disease-based discovery
results = BioDisco.generate("Role of GPR153 in vascular injury and disease")You need to setup your Open AI API key as a environment variable OPENAI_API_KEY
On your terminal
export OPENAI_API_KEY=your_openai_api_key_hereor create a .env file in your project directory (check .env.example)
# OpenAI API Configuration
OPENAI_API_KEY=your_openai_api_key_heregit clone https://github.com/yujingke/BioDisco.git
cd BioDisco
pip install -e .By default PubMed and Knowledge Graph Integration is off. Follow the steps to setup knowledge integration.
You can setup an an environment variable DISABLE_PUBMED=False in your .env file or using export command
or
Just pass an argument to the generate function
## Turn on PubMed Integration
results = BioDisco.generate("Role of GPR153 in vascular injury and disease", disable_pubmed=False)First you need to install Neo4j server. Follow the instuctions here to install Neo4j for your OS
export NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=your_neo4j_passwordor set these .env file (check .env.example)
- Download PrimeKG
wget -O kg.csv https://dataverse.harvard.edu/api/access/datafile/6180620-
run
split_nodes_edges.py(should be in the same location askg.csv) to createnodes.csvandedges.csv -
run
build_kg_index.py(should be in the same location asnodes.csv) -
add location of files as environment variable
KG_PATH(check.env.example)
export KG_PATH=/path/to/your/kg_specific_filesneo4j-admin database import full --nodes nodes.csv --relationships edges.csv --overwrite-destinationneo4j startresults = BioDisco.generate("Role of GPR153 in vascular injury and disease", disable_pubmed=False, disable_kg=False)or
setup environment variable DISABLE_KG=False (check .env.example)
import BioDisco
results = BioDisco.generate("Role of GPR153 in vascular injury and disease", disable_pubmed=False, disable_kg=False, n_iterations=3, start_year=2020)This project is licensed under the MIT License - see the LICENSE file for details.