DROMA MCP Server

Interaja com os bancos de dados de análise de associação droga-ômica da DROMA usando linguagem natural.

Documentação

MseeP.ai Security Assessment Badge

Servidor DROMA MCP

Um servidor Model Context Protocol (MCP) para DROMA (Drug Response Omics association MAp) — permitindo interações em linguagem natural com análises de associação entre fármacos e dados ômicos.

Website Python 3.10+ FastMCP Version

🚀 Visão Geral

O Servidor DROMA MCP preenche a lacuna entre assistentes de IA e análises de farmacogenômica do câncer, fornecendo uma interface em linguagem natural para os pacotes DROMA.R e DROMA.Set.

Ele faz parte do projeto DROMA. Visite o site oficial do DROMA para documentação abrangente e exemplos interativos.

Principais Recursos

  • 🔗 Interface em Linguagem Natural: Faça perguntas sobre associações entre fármacos e dados ômicos em inglês simples
  • 📊 Gerenciamento de Conjuntos de Dados: Carregue e gerencie conjuntos de dados DROMA (CCLE, gCSI, etc.) em memória
  • 📈 Carregamento e Normalização de Dados: Carregue perfis moleculares e dados de resposta ao tratamento com normalização automática por z-score
  • 🗂️ Suporte a Múltiplos Projetos: Trabalhe facilmente com dados de vários projetos de pesquisa
  • 💾 Cache Inteligente: Cache eficiente de dados com rastreamento de metadados para acesso mais rápido
  • 💾 Exportação de Dados: Exporte resultados de análise para vários formatos (CSV, Excel, JSON)
  • ⚡ Suporte Multi-Modal: Funciona com vários protocolos de transporte (STDIO, HTTP, SSE)
  • 🔄 Integração com R: Integração perfeita com os pacotes R existentes do DROMA via rpy2

📦 Instalação

Pré-requisitos

  • Python 3.10+
  • R 4.0+ com os pacotes DROMA.Set e DROMA.R
  • Banco de dados SQLite do DROMA
  • FastMCP 2.13+ (instalado automaticamente)

Instalação via pip

pip install droma-mcp

Instalação para Desenvolvimento

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

Dependências R

Certifique-se de ter os pacotes R do DROMA instalados:

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

🚀 Início Rápido

1. Inicie o 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. Configuração do Cliente MCP

Adicione à configuração do seu cliente MCP:

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

🖥️ Comandos CLI

ComandoDescrição
runIniciar o servidor MCP
testTestar configuração e dependências
validateValidar a configuração completa
export-configExportar configuração do cliente MCP

Para ajuda detalhada: droma-mcp --help ou droma-mcp run --help

🛠️ Ferramentas Disponíveis

Gerenciamento de Conjuntos de Dados

  • load_dataset: Carregar conjuntos de dados DROMA (CCLE, gCSI, etc.) do banco de dados para a memória
  • list_loaded_datasets: Mostrar quais conjuntos de dados estão atualmente carregados em memória
  • set_active_dataset: Definir o conjunto de dados ativo para operações subsequentes
  • unload_dataset: Remover conjuntos de dados da memória para liberar recursos

Carregamento e Análise de Dados

  • load_molecular_profiles_normalized: Carregar perfis moleculares (mRNA, CNV, metilação, etc.) com normalização por z-score
  • load_treatment_response_normalized: Carregar dados de resposta a fármacos com normalização
  • load_multi_project_molecular_profiles_normalized: Carregar dados de múltiplos projetos
  • load_multi_project_treatment_response_normalized: Carregar resposta ao tratamento entre projetos
  • check_zscore_normalization: Verificar o status de normalização dos dados em cache
  • get_cached_data_info: Obter informações sobre conjuntos de dados em cache
  • export_cached_data: Exportar dados para formatos CSV/Excel/JSON

Consulta e Exploração do Banco de Dados

  • get_droma_annotation: Recuperar dados de anotação de amostras ou fármacos do banco de dados
  • list_droma_samples: Listar todas as amostras disponíveis para um projeto com opções de filtragem
  • list_droma_features: Listar todos os recursos disponíveis (genes, fármacos) para um projeto e tipo de dado
  • list_droma_projects: Listar todos os projetos disponíveis no banco de dados DROMA

Visualização e Análise

  • plot_drug_sensitivity_rank: Criar gráficos de classificação de sensibilidade a fármacos
  • analyze_drug_omic_pair: Analisar associações entre fármacos e características ômicas

💬 Exemplo de Uso

Fluxo de Trabalho Essencial

⚠️ Importante: Antes de usar qualquer função de carregamento de dados, você deve primeiro carregar o conjunto de dados na memória:

"Carregue o conjunto de dados CCLE do banco de dados e defina-o como ativo"

"Carregue os dados de expressão de mRNA para o gene ABCB1 do conjunto de dados CCLE com normalização por z-score"

"Liste todos os projetos disponíveis no banco de dados DROMA"

"Mostre-me todas as amostras disponíveis para o projeto gCSI que possuem dados de mRNA"

🔧 Configuração

Variáveis de Ambiente

  • DROMA_DB_PATH: Caminho padrão para o banco de dados SQLite do DROMA
  • R_LIBS: Caminho para as bibliotecas R
  • DROMA_MCP_MODULE: Módulo do servidor a carregar (all, data_loading, database_query, dataset_management, visualization, analysis)
  • DROMA_MCP_VERBOSE: Ativar registro detalhado (verbose logging)

🔧 Solução de Problemas

Problemas Comuns

Erros de Importação: Execute droma-mcp validate para verificar as dependências

Problemas de Integração com R: Certifique-se de que R e os pacotes DROMA estejam instalados corretamente

Conexão com o Banco de Dados: Verifique o caminho do banco de dados com droma-mcp test --db-path path/to/droma.db

Para mais ajuda, consulte o site oficial do DROMA ou abra uma issue no GitHub.

🤝 Contribuição

Contribuições são bem-vindas! Consulte nossas Diretrizes de Contribuição para detalhes.

📄 Licença

Este projeto é licenciado sob a Licença MPL-2 — consulte o arquivo LICENSE para detalhes.

🔗 Projetos Relacionados

  • DROMA — Projeto principal do DROMA
  • DROMA.Set — Pacote R para gerenciamento de dados
  • DROMA.R — Pacote R para funções de análise
  • FastMCP — Framework Python para servidores MCP
  • Model Context Protocol — Padrão aberto para integração de ferramentas de IA

📞 Suporte

Citação

Se você usar o DROMA MCP em sua pesquisa, 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 — Unindo IA e Farmacogenômica do Câncer 🧬💊🤖