Skip to main content
Glama

1000 Genomes Project 데이터셋 MCP 서버

*Dnaerys 변이 저장소*에 온라인으로 호스팅되는 1000 Genomes Project 데이터셋에 대한 자연어 액세스

New York Genome Center에서 시퀀싱 및 정렬 (GRCh38). 3202개 샘플: 3단계 패널의 관련 없는 샘플 2504개 + 602개 가족 트리오의 샘플 698개 - 데이터셋 세부 정보

주요 기능

  • 1억 3804만 4723개의 고유 변이와 약 4420억 개의 개별 유전자형에 대한 실시간 액세스

  • 좌표, 주석, 접합성, 인구 집단을 기반으로 한 변이, 샘플 및 유전자형 선택

  • VEP(영향, 생물학적 유형, 특징 유형, 변이 클래스, 결과), ClinVar 임상적 유의성(202502), gnomADe + gnomADg 4.1, AlphaMissense 점수 및 AlphaMissense 클래스 주석을 통한 필터링

  • 반환된 변이는 HGVSp, gnomADe + gnomADg, AlphaMissense 점수 및 코호트 전체 통계로 주석 처리됨

    • HGVSp 주석은 LLM의 인지 부하를 줄이기 위해 Canonical 전사체에 대한 것입니다.

  • 샘플 주석: 가족 ID, 성별, 부계 ID, 모계 ID, 관계, 자녀, 인구 집단, 상위 인구 집단, 3단계 지표

온라인 서비스

Streamable HTTP를 통한 원격 MCP 서비스:

예시

거대분자 구조 복합체

26S 프로테아좀을 기계적으로 중복되는 3D 기계로 취급하고, 33개 모든 서브유닛에 걸쳐 KGP 개인의 모든 미스센스 변이를 매핑하십시오. 공간 분석을 수행하여 병원성 변이가 진화적으로 더 제약된 '코어'(Zone A)나 '게이팅'(Zone B) 인터페이스보다는 원위부 '리드'(Zone C) 쪽으로 통계적으로 분할되는지 확인하십시오. 높은 누적 부담(2개 이상의 '병원성 예상' 변이)을 가진 개인을 식별하여 서브유닛 간 보상을 조사하고, 단백질-단백질 힌지에서 쌍을 이루는 '약화' 및 '안정화' 돌연변이를 검색하십시오. 마지막으로, AlphaMissense 점수와 계산된 ΔΔG 값을 기반으로 단일 건강한 개인에서 관찰되는 최대 누적 구조적 파괴를 설정하여 프로테아좀의 '기계적 허용 오차'를 정의하십시오.

사례 연구: 워크플로우, 작업 보고서, 원고 초안 →

거대분자 구조 복합체

MCM2-7 복합체("DNA 헬리카제 모터")는 분자적 걸작입니다. 각 서브유닛이 DNA를 푸는 모터의 별도 "기어"인 헤테로헥사머 고리입니다. (모든 서브유닛이 동일한) 호모머 고리와 달리, 이 복합체는 비대칭입니다. 서브유닛 간의 각 인터페이스는 고유하며, 모두 동일한 속도로 ATP를 연소하지 않습니다. MCM2/5 인터페이스는 DNA가 고리로 들어오도록 물리적으로 열렸다가 닫혀야 하는 "게이트"입니다. 이는 높은 스트레스를 받는 기계적 지점입니다.

KGP 코호트에서 MCM2/5 인터페이스에 미스센스 변이를 가진 개인을 식별하십시오. 특히 '전하 역전' 변이(예: 아스파르트산에서 라이신으로)를 찾으십시오. 이 특정 샘플에서 '보상적 결합'을 분석하십시오: 그들이 정전기적 '래치'를 복원하는 반대 서브유닛 인터페이스에 이차적인 상호 전하 역전 변이를 가지고 있습니까 ?

MCM2-7 복합체의 임의의 MCM 서브유닛에서 Walker A 또는 Walker B 모티프(ATP를 연소하는 심장부)에 높은 병원성 변이를 가진 KGP 코호트의 개인을 식별하십시오. 이 개인들에 대해 '시스템적 플럭스' 분석을 수행하십시오: 선도 가닥 폴리머라제(POLE)와 슬라이딩 클램프(PCNA)의 변이를 살펴보십시오. 모터, 클램프, 폴리머라제가 모두 더 느리지만 매우 정확한 복제 포크를 암시하는 변이를 가지고 있는 '조정된 감속'의 징후를 감지할 수 있습니까 ?

거대분자 구조 복합체

인간 RNA 엑소좀(Exo-9 코어)은 비계 역할을 하는 "죽은 기계"입니다. 하등 생물에서는 고리 자체가 RNA를 분해할 수 있습니다. 인간의 경우, 9개 서브유닛 고리는 모든 촉매 기능을 잃었으며 바닥에 부착된 촉매 서브유닛(DIS3 또는 EXOSC10)으로 RNA를 안내하는 순수한 구조적 터널입니다. RNA는 강한 음전하를 띤 폴리머이므로, 이 기공을 둘러싼 잔기는 일반적으로 양전하(라이신, 아르기닌)를 띠지만, 너무 "끈적"거리면 RNA가 걸리게 됩니다. 따라서 바닥에 있는 "파쇄기"에 도달하려면 Exo-9 고리에 의해 형성된 좁은 기공을 통과해야 합니다.

작업: KGP 코호트에서 Exo-9 고리의 내부 기공 라이닝 잔기에 매핑되는 모든 미스센스 변이를 분석하십시오. 양전하 잔기(K, R)가 음전하 잔기(D, E)로 대체되는 '전하 교환' 변이를 찾으십시오. RNA를 밀어내야 하는 터널에 '음전하 패치'가 있음에도 불구하고 개인이 건강하다면, 그들이 입구를 넓히는 캡 서브유닛(EXOSC1, 2, 3)에 보상적 변이를 가지고 있습니까? 3D 정전기 표면 지도를 사용하여 '건강한' 코호트가 특정 정전기 구배를 유지하는지 확인하십시오.

산화 환원 항상성의 시너지적 에피스타시스

세포 산화 환원 항상성은 글루타치온 시스템과 티오레독신 시스템이라는 두 가지 병렬 항산화 시스템에 의해 유지됩니다. GSR 또는 TXNRD1의 완전한 손실은 포유류 발달과 양립할 수 없지만, 인구 데이터베이스에는 효소 기능을 손상시킬 것으로 예측되는 변이를 가진 개인이 포함되어 있습니다.

두 시스템 모두에서 여러 '중간' 영향 VEP 변이를 가진 KGP 코호트의 개인 클러스터를 식별하십시오. AlphaMissense 구조적 의미를 추론하여, 글루타치온 환원효소의 효율성 손실이 티오레독신 시스템의 높은 신뢰도의 양성 또는 잠재적 활성화 변이와 일관되게 짝을 이루는 '균형 잡기'를 감지할 수 있습니까? 코호트 전반에 걸쳐 이러한 변이의 동시 발생을 기반으로 '산화 환원 견고성' 모델을 합성하십시오.

더 많은 예시


아키텍처

Java EE 서비스로 구현되었으며, 공개 Dnaerys 변이 저장소 서비스에 대한 gRPC 호출을 통해 KGP 데이터셋에 액세스합니다.

  • Streamable HTTP, HTTP/SSESTDIO 전송을 통해 MCP 제공

  • 서비스 구현은 Quarkus MCP Server 프레임워크를 기반으로 합니다.

  • 샘플 인구 및 메타데이터는 내장된 DuckDB 인스턴스에 의해 관리됩니다.

  • MCP 도구:

    • 유전체학 데이터베이스: countSamples, countSamplesHomozygousReference, countVariants, countVariantsInSamples, getDatasetInfo, getKinshipDegree, selectSamples, selectSamplesHomozygousReference, selectVariants, selectVariantsInSamples, computeAlphaMissenseAvg, computeVariantBurden

    • 인구 및 메타데이터: listPopulations, listSuperpopulations, getPopulationStats, getSuperpopulationSummary, getSampleMetadata, selectSamplesByPopulation

    • 구현

설치

프로젝트는 stdio 및/또는 http 전송을 통해 MCP로 로컬에서 실행할 수 있습니다.

  • 프로젝트를 빌드하고 단일 über-jar로 패키징합니다:

    • jar는 target/onekgpd-mcp-runner.jar에 위치하며 모든 종속성을 포함합니다.

./mvnw clean package -DskipTests -Dquarkus.package.jar.type=uber-jar

테스트 컴파일 건너뛰기

./mvnw  clean package -Dmaven.test.skip=true -Dquarkus.package.jar.type=uber-jar
  • dev 프로필로 로컬에서 실행합니다.

    • stdiohttp 전송이 모두 활성화됩니다.

    • http 전송은 포트 9000을 사용합니다 (config의 quarkus.http.port)

    • 프로젝트는 런타임에 JRE 21이 사용 가능할 것으로 예상합니다.

java -Dquarkus.profile=dev -jar <full path>/onekgpd-mcp-runner.jar

MCP 클라이언트와 연결

  • 원격 또는 로컬 http 전송을 통해 연결하려면 클라이언트를 대상에 지정하기만 하면 됩니다. 예: http://localhost:9000/mcp 또는 https://db.dnaerys.org:443/mcp

    • 참고: Claude Desktophttp://localhost:9000/mcp 옵션에서 작동하지 않습니다. 이 옵션은 Goose와 같은 클라이언트를 위한 것입니다.

  • stdio 전송을 통해 연결하려면 MCP 클라이언트가 dev 프로필과 jar 파일의 전체 경로로 애플리케이션을 시작해야 합니다.

    • 예: Claude Desktop의 경우 구성 파일(예: claude_desktop_config.json)에 추가:

{
  "mcpServers": {
    "OneKGPd": {
      "command": "java",
      "args": ["-Dquarkus.profile=dev", "-jar", "/full/path/onekgpd-mcp-runner.jar"]
    }
  }
}

검증

1000 Genome Project에는 몇 개의 변이가 존재합니까?

테스트 커버리지 상태

구성 요소

유형

테스트

상태

엔티티 매퍼 (9개 클래스)

단위

314

✅ 완료

DnaerysClient

단위

58 (7개 비활성화)

✅ 완료

DnaerysClient

통합

5 (1개 비활성화)

✅ 완료

OneKGPdMCPServer

단위

26

✅ 완료

OneKGPdMCPServer

통합

5

✅ 완료

기타

단위

1

✅ 완료

기타

통합

1

✅ 완료

합계

410개 테스트

402개 통과, 8개 비활성화

테스트 분석:

  • 단위 테스트: 399개 (7개 비활성화, 392개 통과)

  • 통합 테스트: 11개 (1개 비활성화, 10개 통과)

비활성화된 테스트:

  • 7개 DnaerysClient 단위 테스트 (PaginationTests, 스트리밍 gRPC 제한 - wiremock-grpc-extension:0.11.0은 아직 스트리밍 RPC를 모의할 수 없음)

  • 1개 DnaerysClient 통합 테스트 (PaginationLogicTests, 스트리밍 gRPC 제한 - wiremock-grpc-extension:0.11.0은 아직 스트리밍 RPC를 모의할 수 없음)

테스트 실행

# 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=true

이 프로젝트의 테스트 부분은 Claude가 작성했습니다. 재미있는 부분은 인간이 작성했습니다.


개인정보 보호정책

OneKGPd MCP 서버는 1000 Genomes Project 데이터셋에 대한 읽기 전용 인터페이스 계층으로 작동합니다. 서버는 사용자 데이터를 수집, 저장 또는 전송하지 않습니다. 대화 데이터는 기록되지 않습니다. 개인 정보는 수집되지 않습니다. 쿠키, 추적 메커니즘 또는 인증은 사용되지 않습니다.

지원

라이선스

이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.

-
security - not tested
A
license - permissive license
-
quality - not tested

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