DROMA MCP Server
Interaja com os bancos de dados de análise de associação droga-ômica da DROMA usando linguagem natural.
Documentação
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.
🚀 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
| Comando | Descrição |
|---|---|
run | Iniciar o servidor MCP |
test | Testar configuração e dependências |
validate | Validar a configuração completa |
export-config | Exportar 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órialist_loaded_datasets: Mostrar quais conjuntos de dados estão atualmente carregados em memóriaset_active_dataset: Definir o conjunto de dados ativo para operações subsequentesunload_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-scoreload_treatment_response_normalized: Carregar dados de resposta a fármacos com normalizaçãoload_multi_project_molecular_profiles_normalized: Carregar dados de múltiplos projetosload_multi_project_treatment_response_normalized: Carregar resposta ao tratamento entre projetoscheck_zscore_normalization: Verificar o status de normalização dos dados em cacheget_cached_data_info: Obter informações sobre conjuntos de dados em cacheexport_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 dadoslist_droma_samples: Listar todas as amostras disponíveis para um projeto com opções de filtragemlist_droma_features: Listar todos os recursos disponíveis (genes, fármacos) para um projeto e tipo de dadolist_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ármacosanalyze_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 DROMAR_LIBS: Caminho para as bibliotecas RDROMA_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
- Issues: Issues no GitHub
- Discussões: Discussões no GitHub
- E-mail: Contato com a Equipe DROMA
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 🧬💊🤖
