DROMA MCP Server

Interactúa con las bases de datos de análisis de asociaciones fármaco-ómicas de DROMA usando lenguaje natural.

Documentación

MseeP.ai Security Assessment Badge

Servidor DROMA MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para DROMA (Drug Response Omics association MAp) - que permite interacciones en lenguaje natural con análisis de asociación fármaco-ómica.

Website Python 3.10+ FastMCP Version

🚀 Descripción general

El servidor DROMA MCP cierra la brecha entre los asistentes de IA y el análisis farmacogenómico del cáncer al proporcionar una interfaz de lenguaje natural para los paquetes DROMA.R y DROMA.Set.

Es parte del proyecto DROMA. Visite el sitio web oficial de DROMA para obtener documentación completa y ejemplos interactivos.

Características clave

  • 🔗 Interfaz de lenguaje natural: Haga preguntas sobre asociaciones fármaco-ómicas en inglés sencillo
  • 📊 Gestión de conjuntos de datos: Cargue y gestione conjuntos de datos DROMA (CCLE, gCSI, etc.) en memoria
  • 📈 Carga y normalización de datos: Cargue perfiles moleculares y datos de respuesta al tratamiento con normalización automática de puntuación z
  • 🗂️ Soporte multiproyecto: Trabaje sin problemas con datos de múltiples proyectos de investigación
  • 💾 Caché inteligente: Caché de datos eficiente con seguimiento de metadatos para un acceso más rápido
  • 📤 Exportación de datos: Exporte resultados de análisis a varios formatos (CSV, Excel, JSON)
  • ⚡ Soporte multimodal: Funciona con varios protocolos de transporte (STDIO, HTTP, SSE)
  • 🔄 Integración con R: Integración perfecta con los paquetes R existentes de DROMA mediante rpy2

📦 Instalación

Requisitos previos

  • Python 3.10+
  • R 4.0+ con los paquetes DROMA.Set y DROMA.R
  • Base de datos SQLite de DROMA
  • FastMCP 2.13+ (se instala automáticamente)

Instalación mediante pip

pip install droma-mcp

Instalación para desarrollo

git clone https://github.com/mugpeng/DROMA_MCP
cd DROMA_MCP
pip install -e .

Dependencias de R

Asegúrese de tener instalados los paquetes R de DROMA:

# Install DROMA.Set and DROMA.R packages
# devtools::install_github("mugpeng/DROMA_Set")
# devtools::install_github("mugpeng/DROMA_R")

🚀 Inicio rápido

1. Inicie el servidor

# STDIO mode (for AI assistants) - default
droma-mcp run --db-path path/to/droma.sqlite

# HTTP mode (for web applications)
droma-mcp run --transport http --port 8000 --db-path path/to/droma.sqlite

2. Configuración del cliente MCP

Agregue a su configuración del cliente MCP:

{
  "mcpServers": {
    "droma-mcp": {
      "command": "droma-mcp",
      "args": ["run", "--db-path", "path/to/droma.sqlite"]
    }
  }
}

🖥️ Comandos CLI

ComandoDescripción
runInicie el servidor MCP
testPruebe la configuración y las dependencias
validateValide la configuración completa
export-configExporte la configuración del cliente MCP

Para obtener ayuda detallada: droma-mcp --help o droma-mcp run --help

🛠️ Herramientas disponibles

Gestión de conjuntos de datos

  • load_dataset: Cargue conjuntos de datos DROMA (CCLE, gCSI, etc.) en memoria desde la base de datos
  • list_loaded_datasets: Muestre qué conjuntos de datos están cargados actualmente en memoria
  • set_active_dataset: Establezca el conjunto de datos activo para operaciones posteriores
  • unload_dataset: Elimine conjuntos de datos de la memoria para liberar recursos

Carga y análisis de datos

  • load_molecular_profiles_normalized: Cargue perfiles moleculares (mRNA, CNV, metilación, etc.) con normalización de puntuación z
  • load_treatment_response_normalized: Cargue datos de respuesta a fármacos con normalización
  • load_multi_project_molecular_profiles_normalized: Cargue datos de múltiples proyectos
  • load_multi_project_treatment_response_normalized: Cargue respuesta al tratamiento entre proyectos
  • check_zscore_normalization: Verifique el estado de normalización de los datos en caché
  • get_cached_data_info: Obtenga información sobre los conjuntos de datos en caché
  • export_cached_data: Exporte datos a formatos CSV/Excel/JSON

Consulta y exploración de bases de datos

  • get_droma_annotation: Recupere datos de anotaciones de muestras o fármacos de la base de datos
  • list_droma_samples: Liste todas las muestras disponibles para un proyecto con opciones de filtrado
  • list_droma_features: Liste todas las características disponibles (genes, fármacos) para un proyecto y tipo de datos
  • list_droma_projects: Liste todos los proyectos disponibles en la base de datos DROMA

Visualización y análisis

  • plot_drug_sensitivity_rank: Cree gráficos de clasificación de sensibilidad a fármacos
  • analyze_drug_omic_pair: Analice asociaciones entre fármacos y características ómicas

💬 Ejemplo de uso

Flujo de trabajo esencial

⚠️ Importante: Antes de usar cualquier función de carga de datos, primero debe cargar el conjunto de datos en memoria:

"Cargue el conjunto de datos CCLE desde la base de datos y establézcalo como activo"

"Cargue los datos de expresión de mRNA para el gen ABCB1 del conjunto de datos CCLE con normalización de puntuación z"

"Liste todos los proyectos disponibles en la base de datos DROMA"

"Muéstreme todas las muestras disponibles para el proyecto gCSI que tengan datos de mRNA"

🔧 Configuración

Variables de entorno

  • DROMA_DB_PATH: Ruta predeterminada a la base de datos SQLite de DROMA
  • R_LIBS: Ruta a las bibliotecas de R
  • DROMA_MCP_MODULE: Módulo de servidor a cargar (all, data_loading, database_query, dataset_management, visualization, analysis)
  • DROMA_MCP_VERBOSE: Habilite el registro detallado

🔧 Solución de problemas

Problemas comunes

Errores de importación: Ejecute droma-mcp validate para verificar las dependencias

Problemas de integración con R: Asegúrese de que R y los paquetes DROMA estén instalados correctamente

Conexión a la base de datos: Verifique la ruta de la base de datos con droma-mcp test --db-path path/to/droma.db

Para obtener más ayuda, consulte el sitio web oficial de DROMA o abra un problema en GitHub.

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Consulte nuestras Pautas de contribución para obtener más detalles.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MPL-2; consulte el archivo LICENCIA para obtener más detalles.

🔗 Proyectos relacionados

📞 Soporte

Citación

Si utiliza DROMA MCP en su investigación, cite:

Li, S., Peng, Y., Chen, M. et al. Facilitating integrative and personalized oncology omics analysis with UCSCXenaShiny. Commun Biol 7, 1200 (2024). https://doi.org/10.1038/s42003-024-06891-2


DROMA MCP - Uniendo la IA y la farmacogenómica del cáncer 🧬💊🤖