Skip to main content

BioDisco 🧬🤖

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.

🌟 Features

  • 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

🚀 Quick Start

Installation

pip install biodisco

Basic Usage

BioDisco 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_here

or create a .env file in your project directory (check .env.example)

# OpenAI API Configuration
OPENAI_API_KEY=your_openai_api_key_here

Development Installation

git clone https://github.com/yujingke/BioDisco.git
cd BioDisco
pip install -e .

🔧 PubMed and Knowledge Graph Integration

By default PubMed and Knowledge Graph Integration is off. Follow the steps to setup knowledge integration.

PubMed Setup

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)

Neo4j Setup

1. Install Neo4j server

First you need to install Neo4j server. Follow the instuctions here to install Neo4j for your OS

2. Add Neo4j login details to as enviroment variable

export NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=your_neo4j_password

or set these .env file (check .env.example)

3. Download and Setup PrimeKG

  • 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 as kg.csv) to create nodes.csv and edges.csv

  • run build_kg_index.py (should be in the same location as nodes.csv)

  • add location of files as environment variable KG_PATH (check .env.example)

export KG_PATH=/path/to/your/kg_specific_files

Import PrimeKG to Neo4j

neo4j-admin database import full --nodes nodes.csv --relationships edges.csv --overwrite-destination

Start Neo4j

neo4j start

Turn on PubMed and KG Integration

results = 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)

📖 Detailed Usage

Setting number of iterations and PubMed cutoff

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)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for biodisco 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biodisco 0.1.0
File Size Uploaded Provenance Actions
biodisco-0.1.0.tar.gz 32.1 kB Without provenance Details for biodisco-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for biodisco 0.1.0
File Interpreter ABI Platform Actions
biodisco-0.1.0-py3-none-any.whl Python 3 none any Details for biodisco-0.1.0-py3-none-any.whl

Total release size: 66.3 kB

Release files / biodisco-0.1.0.tar.gz

Download URL biodisco-0.1.0.tar.gz
Size 32.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6d2d81ca6ef493dedc7a4209acb35b6d8b1bee9e775a2172a0bb2bb839fba676
BLAKE2b-256 checksum
How to use checksums
0e2664cb58d6af1dbe3d70d2aebf14986d792e7a5ab113e9e8e8c59b19f7534f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Release files / biodisco-0.1.0-py3-none-any.whl

Download URL biodisco-0.1.0-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3dde5c34a40296b1dd53980ffcb434a1c03ecb6c1da6463ba90fa065a958520d
BLAKE2b-256 checksum
How to use checksums
cb60fbe131f40c6d65d83eda4451d1720cd9ebadb7ee02cf3720ce6a3702f153
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.13

Security for biodisco 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page