클라우드 기반 대규모 단백질 모델 비교 서비스
초록
Protein Models Comparator(pm‑cmp)는 Google App Engine 위에 구현된 PaaS 기반 웹 애플리케이션으로, RMSD·GDT‑TS·TM‑score·Q‑score 등 네 가지 지표를 이용해 수천 개의 단백질 모델을 1∶N 또는 N∶N 방식으로 자동 비교한다. 고정된 원자 정렬과 공통 잔여물 매칭을 지원해 불완전한 모델에도 강인하며, RESTful API를 통해 실험 설정·업로드·실행·결과 다운로드를 전 과정 자동화한다. 작업 큐와 자동 인스턴스 확장을 활용해 비용 효율적인 확장성을 제공한다.
상세 분석
pm‑cmp는 기존 구조 비교 웹 서버가 “실제 단백질”을 대상으로 설계된 점과, 1∶1 비교에 국한되어 대규모 실험을 수행하기 어렵다는 한계를 정확히 짚어낸다. 이를 해결하기 위해 저자들은 두 가지 핵심 설계 원칙을 채택하였다. 첫째, 비교 대상이 동일 단백질의 모델이라는 전제 하에 원자 정렬을 사전에 고정하고, 각 모델 간 공통 Cα 원자를 자동으로 추출한다. 이 과정은 잔여물 누락이나 체인 불일치 등 실제 CASP 데이터에서 흔히 발생하는 불완전성을 효과적으로 보정한다. 둘째, Google App Engine(GAE)의 PaaS 환경을 활용해 컴퓨팅 자원을 “필요할 때 자동으로” 할당한다. GAE는 Python과 Java 두 가지 런타임을 제공하는데, UI는 Python‑Web2py, 비교 엔진은 Groovy‑Gaelyk 기반 Java 모듈로 구현되어 각각의 장점을 최적화하였다.
작업 분산은 GAE의 Task Queue와 토큰 버킷 알고리즘으로 관리된다. 사용자가 실험을 시작하면 각 구조‑구조 쌍을 개별 HTTP 요청 형태의 태스크로 변환하고, 토큰 수에 따라 동시에 실행되는 태스크 수를 제한한다. 이는 GAE의 인스턴스 자동 스케일링과 결합돼 수천 개의 비교를 수분 내에 처리할 수 있게 한다. 또한, 비교 결과는 Datastore에 저장되고, 캐시(memcache)를 이용해 동일 구조를 재읽는 비용을 최소화한다.
지원 지표는 RMSD(루트 평균 제곱 편차), GDT‑TS(Global Distance Test – Total Score), TM‑score(Template Modeling score), Q‑score 등 네 가지이며, 각각은 전체 길이와 매칭 잔여물 수를 기준으로 스케일링 옵션을 제공한다. 이는 사용자가 “부분 모델만으로도 높은 점수를 얻는가” 혹은 “전체 길이에 비례한 점수를 원하는가”를 선택할 수 있게 해, 불완전 모델 평가에 유연성을 부여한다.
API 설계는 RESTful 원칙을 따르며, 실험 설정(POST /experiments/setup), 구조 업로드(POST /experiments/structures/
댓글 및 학술 토론
Loading comments...
의견 남기기