OneKGPd
Servidor MCP del conjunto de datos del Proyecto 1000 Genomas
Acceso en lenguaje natural al conjunto de datos del Proyecto 1000 Genomas, alojado en línea en el almacén de variantes de Dnaerys
Secuenciado y alineado por el New York Genome Center (GRCh38). 3202 muestras: 2504 muestras no relacionadas del panel de la fase tres + 698 muestras de 602 tríos familiares - detalles del conjunto de datos
Características clave
Acceso en tiempo real a 138 044 723 variantes únicas y ~442 mil millones de genotipos individuales
Selección de variantes, muestras y genotipos basada en coordenadas, anotaciones, cigosidad y población
Filtrado por VEP (impacto, biotipo, tipo de característica, clase de variante, consecuencias), significancia clínica de ClinVar (202502), anotaciones de gnomADe + gnomADg 4.1, puntuación AlphaMissense y clase AlphaMissense
anotado con VEP 115 / GENCODE 49
transcritos del conjunto primario de GENCODE
Variantes devueltas anotadas con HGVSp, gnomADe + gnomADg, puntuación AlphaMissense + estadísticas de toda la cohorte
Las anotaciones HGVSp son para transcritos canónicos para reducir la carga cognitiva de los LLM
Muestras anotadas con: familyId, gender, paternalId, maternalId, relationship, children, population, superpopulation, phase3 indicator
Servicio en línea
Servicio MCP remoto mediante HTTP transmitible (Streamable HTTP):
Ejemplos
Complejos estructurales macromoleculares
Trate el proteasoma 26S como una máquina 3D mecánicamente redundante y mapee cada variante de sentido erróneo (missense) de los individuos del KGP a través de las 33 subunidades. Realice un análisis espacial para determinar si la variación patogénica está estadísticamente particionada hacia la 'tapa' distal (Zona C) en lugar de las interfaces más evolutivamente restringidas del 'núcleo' (Zona A) o de 'activación' (Zona B). Identifique individuos con una alta carga acumulativa (2+ variantes 'probablemente patogénicas') para investigar la compensación entre subunidades, buscando mutaciones emparejadas de 'debilitamiento' y 'estabilización' en las bisagras proteína-proteína. Finalmente, defina la 'tolerancia mecánica' del proteasoma estableciendo la interrupción estructural acumulativa máxima observada en un solo individuo sano basado en las puntuaciones AlphaMissense y los valores ΔΔG calculados.
Caso de estudio: flujo de trabajo, informes de tareas, borradores de manuscritos →
Complejos estructurales macromoleculares
El complejo MCM2-7 (el "motor de la ADN helicasa") es una obra maestra molecular. Es un anillo heterohexamérico donde cada subunidad es un "engranaje" distinto en el motor de desenrollado del ADN. A diferencia de los anillos homoméricos (donde cada subunidad es igual), este complejo es asimétrico. Cada interfaz entre subunidades es única y no todas consumen ATP a la misma velocidad. La interfaz MCM2/5 es la "puerta" que debe abrirse físicamente para permitir que el ADN entre en el anillo y luego cerrarse de golpe. Este es un punto mecánico de alta tensión.
Identifique individuos en la cohorte KGP que porten variantes de sentido erróneo en la interfaz MCM2/5. Específicamente, busque variantes de 'inversión de carga' (p. ej., aspartato a lisina). En estas muestras específicas, analice el 'acoplamiento compensatorio': ¿portan una variante secundaria y recíproca de inversión de carga en la interfaz de la subunidad opuesta que restaura el 'pestillo' electrostático?
Identifique individuos en la cohorte KGP que porten variantes de alta patogenicidad en los motivos Walker A o Walker B (el corazón que consume ATP) de cualquier subunidad MCM en el complejo MCM2-7. Para estos individuos, realice un análisis de 'Flujo Sistémico': observe sus variantes en la polimerasa de la hebra conductora (POLE) y la abrazadera deslizante (PCNA). ¿Detecta una firma de 'desaceleración coordinada' donde el motor, la abrazadera y la polimerasa portan variantes que sugieren una horquilla de replicación más lenta pero altamente precisa?
Complejos estructurales macromoleculares
El exosoma de ARN humano (núcleo Exo-9) es una "máquina muerta" que actúa como andamio. En organismos inferiores, el anillo en sí puede degradar el ARN. En humanos, el anillo de 9 subunidades ha perdido todos sus dientes catalíticos y es puramente un túnel estructural que guía el ARN hacia las subunidades catalíticas (DIS3 o EXOSC10) unidas en la parte inferior. Dado que el ARN es un polímero altamente cargado negativamente, los residuos que recubren este poro suelen estar cargados positivamente (lisina, arginina), pero no demasiado "pegajosos" o el ARN se atascará. Por lo tanto, para llegar a la "trituradora" en la parte inferior debe deslizarse a través de un poro estrecho formado por el anillo Exo-9.
La tarea: analizar todas las variantes de sentido erróneo en la cohorte KGP que se mapean a los residuos que recubren el poro interno del anillo Exo-9. Busque variantes de 'intercambio de carga' donde un residuo positivo (K, R) sea reemplazado por uno negativo (D, E). Si un individuo está sano a pesar de tener un 'parche negativo' en el túnel que debería repeler el ARN, ¿porta una variante compensatoria en las subunidades de la tapa (EXOSC1, 2, 3) que ensancha la entrada? Utilice un mapa de superficie electrostática 3D para determinar si la cohorte 'sana' mantiene un gradiente electrostático específico.
Epistasis sinérgica en la homeostasis redox
La homeostasis redox celular se mantiene mediante dos sistemas antioxidantes paralelos: el sistema del glutatión y el sistema de la tiorredoxina. La pérdida completa de GSR o TXNRD1 es incompatible con el desarrollo de los mamíferos, sin embargo, las bases de datos de población contienen individuos que portan variantes que se predice que alteran la función enzimática.
Identifique grupos de individuos en la cohorte KGP que porten múltiples variantes VEP de impacto 'moderado' en ambos sistemas. Razonando a través de las implicaciones estructurales de AlphaMissense, ¿puede detectar un 'acto de equilibrio' donde una pérdida de eficiencia en la glutatión reductasa se empareja consistentemente con variantes benignas o potencialmente activadoras de alta confianza en el sistema de la tiorredoxina? Sintetice un modelo de 'Robustez Redox' basado en la coocurrencia de estas variantes en toda la cohorte.
Arquitectura
Implementado como un servicio Java EE, accediendo al conjunto de datos KGP mediante llamadas gRPC al servicio público de almacén de variantes de Dnaerys.
proporciona MCP a través de transportes HTTP transmitible, HTTP/SSE y STDIO
la implementación del servicio se basa en el marco de trabajo Quarkus MCP Server
la población de muestras y los metadatos son gestionados por una instancia de DuckDB integrada
Herramientas MCP:
Base de datos de genómica: countSamples, countSamplesHomozygousReference, countVariants, countVariantsInSamples, getDatasetInfo, getKinshipDegree, selectSamples, selectSamplesHomozygousReference, selectVariants, selectVariantsInSamples, computeAlphaMissenseAvg, computeVariantBurden
Población y metadatos: listPopulations, listSuperpopulations, getPopulationStats, getSuperpopulationSummary, getSampleMetadata, selectSamplesByPopulation
Instalación
El proyecto se puede ejecutar localmente con MCP a través de transportes stdio y/o http
compile el proyecto y empaquételo como un único über-jar:
el jar se encuentra en
target/onekgpd-mcp-runner.jare incluye todas las dependencias
./mvnw clean package -DskipTests -Dquarkus.package.jar.type=uber-jarcon omisión de la compilación de pruebas
./mvnw clean package -Dmaven.test.skip=true -Dquarkus.package.jar.type=uber-jarejecútelo localmente con el perfil de desarrollo (dev profile)
ambos transportes, stdio y http, están habilitados
el transporte http está en el puerto 9000 (quarkus.http.port en la configuración)
el proyecto espera que JRE 21 esté disponible en tiempo de ejecución
java -Dquarkus.profile=dev -jar <full path>/onekgpd-mcp-runner.jarConexión con clientes MCP
para conectarse a través del transporte http, remoto o local, simplemente dirija el cliente a un destino, p. ej.
http://localhost:9000/mcpohttps://db.dnaerys.org:443/mcpNB: Claude Desktop no funcionará con la opción
http://localhost:9000/mcp. Esta opción es para clientes como Goose.
para conectarse a través del transporte stdio, el cliente MCP debe iniciar la aplicación con el perfil de desarrollo y con una ruta completa al archivo jar
p. ej., para Claude Desktop añada a los archivos de configuración (p. ej.,
claude_desktop_config.json):
{
"mcpServers": {
"OneKGPd": {
"command": "java",
"args": ["-Dquarkus.profile=dev", "-jar", "/full/path/onekgpd-mcp-runner.jar"]
}
}
}Verificación
¿Cuántas variantes existen en el Proyecto 1000 Genomas?
Estado de cobertura de pruebas
Componente | Tipo | Pruebas | Estado |
Mapeadores de entidades (9 clases) | Unidad | 314 | ✅ Completo |
DnaerysClient | Unidad | 58 (7 deshabilitadas) | ✅ Completo |
DnaerysClient | Integración | 5 (1 deshabilitada) | ✅ Completo |
OneKGPdMCPServer | Unidad | 26 | ✅ Completo |
OneKGPdMCPServer | Integración | 5 | ✅ Completo |
Otro | Unidad | 1 | ✅ Completo |
Otro | Integración | 1 | ✅ Completo |
Total | 410 pruebas | 402 aprobadas, 8 deshabilitadas |
Desglose de pruebas:
Pruebas unitarias: 399 (7 deshabilitadas, 392 aprobadas)
Pruebas de integración: 11 (1 deshabilitada, 10 aprobadas)
Pruebas deshabilitadas:
7 pruebas unitarias de DnaerysClient (PaginationTests, limitación de gRPC de streaming -
wiremock-grpc-extension:0.11.0aún no puede simular RPCs de streaming)1 prueba de integración de DnaerysClient (PaginationLogicTests, limitación de gRPC de streaming -
wiremock-grpc-extension:0.11.0aún no puede simular RPCs de streaming)
Ejecución de pruebas
# Unit tests only (no server required)
./mvnw test
# Integration tests (requires db.dnaerys.org access)
./mvnw verify -DskipITs=false
# Update test baselines after data changes
./mvnw verify -DskipITs=false -DupdateBaseline=trueLa parte de pruebas de este proyecto está escrita por Claude. La parte divertida está escrita por humanos.
Política de privacidad
El servidor MCP OneKGPd funciona como una capa de interfaz de solo lectura para el conjunto de datos del Proyecto 1000 Genomas. El servidor no recopila, almacena ni transmite ningún dato del usuario. No se registran datos de conversación. No se recopila información personal. No se utilizan cookies, mecanismos de seguimiento ni autenticación.
Soporte
Problemas y preguntas: https://github.com/dnaerys/onekgpd-mcp/issues
Correo electrónico: mcp@dnaerys.org
Licencia
Este proyecto tiene la licencia Apache License 2.0; consulte el archivo LICENSE para obtener más detalles.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dnaerys/OneKGP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server