본문으로 건너뛰기
#frontier-candidate#bayesian-phylogenetics

Delphy — 변이의 희소성으로 감염병 계통추론을 빠르게 만들다

비슷한 병원체 서열의 반복 계산을 줄이는 Delphy의 변이 주석 트리와 베이지안 추론을 읽는다. 실제 유행 자료·10만 서열 실험·수렴과 날짜 불확실성을 함께 살펴본다.

Delphy Figure 1의 a부터 f까지. 시간 나무의 변이 기록, 확률 인자, 가지 이동, 병렬 갱신의 연결을 표시한 원본 도식.
원논문 Figure 1 원논문 Figure 1. (a)는 시간축 위의 나무와 가지별 변이·관측 누락을, (b)는 사후 무게를 이루는 인자들을 보여 준다. (c–d)는 하위 나무의 재부착과 제안 위치 선택, (e–f)는 국소 갱신을 병렬로 실행한 뒤 전체 나무를 다시 연결하는 구조다. 아래 해설은 이 순서대로 확률과 계산 절약을 연결한다. Patrick Varilly et al. · Nature (2026) · 출처 · CC BY-NC-ND 4.0 · 출판사 원본 PNG를 크기·색상·패널 및 파일 바이트 그대로 보존. 한국어 해설 별도 작성.

#1. 유행이 끝나기 전에 진화의 흐름을 읽으려면

감염병의 염기서열이 빠르게 쌓여도, 그 서열들이 어떤 공통 조상에서 갈라졌는지 분석하는 데 오랜 시간이 걸리면 현장의 질문에 제때 답하기 어렵다. Delphy는 유행 중인 병원체의 서열들이 매우 비슷하다는 특징을 계산 구조에 반영한 베이지안 계통추론 도구다. 큰 행렬을 같은 방식으로 더 빨리 처리하는 대신, 나무에서 실제로 일어난 변이를 명시적으로 기록하고 이동시키도록 추론을 다시 구성한다.[1]

2026년 9월 16일 발표된 Nature 논문은 Ebola, Zika, SARS-CoV-2, mpox, H5N1을 대상으로 한 분석과 대규모 모의실험을 제시한다. 주요 결과는 기존 베이지안 방법과의 통계적 일치, 일부 비교에서 약 100∼1,000배 규모의 속도 개선, 브라우저에서 실행하는 분석 환경이다. 이 세 가지는 서로 연결된다. 불확실성을 유지하면서 계산을 줄이면, 전문 서버를 기다리던 분석을 데이터가 만들어지는 현장 가까이 옮길 수 있기 때문이다.[1]

다만 적용 범위는 입력의 성격에 따라 달라진다. 서로 가까운 서열이 많은 유행 데이터에서는 변이를 중심으로 계산하는 이점이 크다. 오랜 진화 기간에 걸쳐 다양성이 큰 서열에서는 이 장점을 다시 평가해야 한다. 따라서 이 연구를 읽는 출발점은 “몇 배 빠른가”보다 “어떤 정보가 반복되기에 계산을 줄일 수 있는가”다.

#2. 하나의 계통수보다 계통수의 분포가 필요한 이유

계통수의 끝에 있는 잎은 관측한 표본, 내부 분기점은 추정하는 공통 조상, 가지는 그 사이의 진화 경로를 나타낸다. 끝의 염기서열과 채집 시점은 관측할 수 있어도, 내부 조상의 정확한 서열과 분기 시각은 직접 보이지 않는다. 서로 다른 나무가 같은 관측을 설명할 수 있으므로, 분석 결과에는 후보 사이의 불확실성이 남는다.

예를 들어 동일한 서열을 가진 표본 세 개가 있다고 하자. 서열만으로 어느 두 표본이 먼저 공통 조상을 공유했는지 결정하기 어려울 수 있다. 채집 시점과 진화 모형이 정보를 더하지만, 데이터가 구분해 주지 않는 관계까지 강하게 확신해서는 안 된다. 이때 하나의 모양을 선택하는 것과 가능한 모양들에 확률을 부여하는 것은 다른 질문이다.

베이지안 추론에서는 관측을 잘 설명하는 정도인 우도와, 나무·모수에 부여한 사전분포를 결합해 사후분포를 구한다. Delphy도 이 틀을 유지한다. 아래는 의미를 설명하기 위한 일반적인 표기이며, 원논문 식 번호를 옮긴 것이 아니다.[1]

계통수의 가능성은 무엇을 곱해서 구하는가? p(T,θD)=p(DT,θ)p(T,θ)p(D)p(T,\theta\mid D)=\frac{p(D\mid T,\theta)\,p(T,\theta)}{p(D)} 기호·연산·계산 과정 펼치기

DD는 관측 서열과 날짜 등 입력 데이터, TT는 시간 정보를 포함한 계통수, θ\theta는 진화율 같은 모수다. p(DT,θ)p(D\mid T,\theta)는 특정 나무와 모수가 관측 데이터를 얼마나 잘 설명하는지를 나타내는 우도다. p(T,θ)p(T,\theta)는 관측 전 모형이 허용하는 나무와 모수의 분포다.

분자에서 두 값을 곱하는 이유는 모형상 가능한 후보 중에서도 실제 관측과 잘 맞는 후보에 높은 무게를 주기 위해서다. 분모 p(D)p(D)는 모든 후보에 대한 분자의 값을 적분해 얻는 정규화 상수다. 이를 나누면 사후분포 전체의 확률이 1이 된다.

계산 예제로 두 후보의 우도가 0.8과 0.2, 사전확률이 각각 0.5라고 가정하자. 정규화 전 무게는 0.4와 0.1이며, 합 0.5로 나누면 사후확률은 0.8과 0.2다. 이번에는 사전확률을 0.2와 0.8로 바꾸면 두 무게가 모두 0.16이 되어 사후확률은 각각 0.5가 된다. 이 숫자는 설명용 가정으로, 특정 감염병 분석 결과가 아니다.

원본 Figure 1의 EMAT에서는 상태에 가지별 변이 이력까지 들어간다. 이 확장된 상태에서 끝 서열이 관측과 일치하는지는 0 또는 1로 검사하고, 변이 경로의 확률은 유전적 사전분포(genetic prior)에 들어간다. 그래서 그림의 유전적 사전분포를 위 일반식의 우도와 기계적으로 같은 항이라고 부르기보다, 숨은 변이 경로를 적분했을 때 전통적 나무 우도와 연결된다고 읽으면 된다. 또한 아래 MH 해설의 π(s)\pi(s)는 전체 목표 무게를 뜻하도록 새로 정의한 기호이고, Figure 1에서 유전적 항을 제외한 사전 인자에 쓰인 π\pi와 정의 범위가 다르다.[1]

실제로 가능한 나무의 수는 매우 많다. 그래서 MCMC는 현재 후보를 조금씩 바꾸어 가며 사후분포를 탐색한다. 여기서 계산이 빨라야 하는 지점은 나무 하나를 그리는 마지막 단계가 아니라, 후보를 제안하고 그 후보의 무게를 평가하는 반복 과정이다.

#3. 비슷한 서열을 반복해서 계산하는 비용

유행 초기에 얻은 병원체 서열은 길이가 길어도 가까운 이웃과 다른 위치는 적을 수 있다. 논문은 가까운 유행 서열이 0∼2개 위치에서만 다른 사례를 동기로 제시한다. 서열의 대부분이 같은데도 각 이동에서 많은 위치와 조상 상태를 되풀이해 계산하면, 입력의 큰 부분을 같은 계산에 계속 사용하게 된다.[1]

이 문제를 저장 방식의 관점으로 생각해 보자. 열 페이지짜리 문서가 거의 같은 두 버전으로 존재할 때, 모든 글자를 나란히 보관하는 표현과 “이 위치의 글자가 바뀌었다”는 변경 기록은 정보의 반복량이 다르다. 계통추론에서는 이 비유에 시간과 확률까지 더해진다. 어디서 무엇으로 바뀌었는지, 그 가지에서 변이가 일어날 시간이 얼마나 있었는지를 함께 다뤄야 한다.

변이를 명시한다는 것은 희소한 변이만 남기고 나머지 과학적 가정을 버린다는 뜻이 아니라, 같은 추론 대상을 계산하기 좋은 상태 공간으로 표현한다는 뜻이다. Delphy의 명시적 변이 주석 트리, EMAT는 나무의 가지에 변이 사건을 포함한다. 관측되지 않은 변이 경로도 추론의 상태에 들어가며, 그 사건을 합쳐 제거하면 원래 관심 대상인 나무의 분포와 연결된다.[1]

여기서 압축 파일과 확률 모형의 차이도 중요하다. 단순 압축은 보통 저장 공간을 줄이는 문제다. Delphy는 표현을 바꿈으로써 후보를 이동시키는 방법, 빠진 관측을 처리하는 방법, 병렬로 갱신할 영역까지 함께 설계한다. 계산의 내부 반복이 전체 유전체 길이보다 국소 변이에 더 밀접하게 연결되는 것이 핵심이다.

#4. EMAT에서 후보를 움직이고 관측 누락을 처리하는 과정

새로운 계통수를 탐색할 때는 나무의 일부를 잘라 다른 위치에 붙이는 가지 이동을 생각할 수 있다. Delphy의 mutation-directed SPR는 변이가 적게 필요한 부착 위치를 활용해 제안을 구성한다. 멀리 떨어진 위치도 제안할 수 있도록 하면서, 더 가능성 있는 후보를 효율적으로 찾으려는 방식이다.[1]

좋아 보이는 위치를 자주 제안하면 편향 문제가 생긴다. 이 때문에 제안 빈도와 목표 확률을 함께 보정하는 Metropolis–Hastings 단계가 필요하다. 아래 식은 그 보정 원리를 설명하기 위한 일반식이다. Delphy의 구체적인 제안 분포 전체를 재구현한 코드는 아니다.

좋은 후보를 자주 제안해도 확률이 틀어지지 않게 하려면? α(ss)=min ⁣(1,π(s)q(ss)π(s)q(ss))\alpha(s\to s')=\min\!\left(1,\frac{\pi(s')q(s\mid s')}{\pi(s)q(s'\mid s)}\right) 기호·연산·계산 과정 펼치기

ss는 현재 나무·변이 사건·모수 상태, ss'는 새 후보다. π\pi는 목표 사후분포에 비례하는 무게이며, q(ss)q(s'\mid s)는 현재 상태에서 새 후보를 제안하는 확률이다. 뒤집힌 q(ss)q(s\mid s')는 반대 방향의 제안 확률이다.

분자의 목표 무게가 커지면 새 후보를 받아들일 가능성이 높아진다. 제안 확률의 비율은 한쪽 방향이 더 자주 제안되는 효과를 보정한다. 마지막 min(1,)\min(1,\cdot)는 수용확률이 1을 넘지 않게 만든다. 대칭 제안에서는 두 qq가 상쇄되지만, 비대칭 제안에서는 이 항이 계산의 일부다.

설명용으로 목표 무게가 0.2에서 0.3으로 바뀌고, 정방향 제안확률이 0.6, 역방향이 0.2라고 하자. 비율은 (0.3×0.2)/(0.2×0.6)=0.5(0.3\times0.2)/(0.2\times0.6)=0.5다. 목표 무게만 보면 좋아진 후보지만, 제안의 비대칭까지 반영하면 50% 확률로 받아들인다. 이 예제는 논문의 실제 이동을 재현한 결과가 아니라 보정 항의 역할을 계산한 것이다.

관측에 빈칸이 있을 때도 표현을 유지해야 한다. 논문의 N-pruning은 관측이 빠진 끝으로 이어지는 부분에서 관련 변이 경로를 적분해 제거한다. 빈칸마다 하나의 염기를 강제로 채우기보다, 관측이 없는 부분이 불필요한 사건으로 탐색을 방해하지 않도록 처리한다. 부분적으로 모호한 염기 표기의 처리에는 구현상 제약이 있어, 실제 데이터의 누락 형식을 확인해야 한다.[1]

병렬화는 나무를 여러 부분으로 나누어 갱신하는 데 도움을 준다. 그러나 현재 구현의 공통 조상 사전분포 계산에는 수치적 이산화가 들어간다. 따라서 이론의 정확한 재표현과 현재 병렬 구현의 근사 오차는 구분해서 읽어야 한다. 해상도를 높여 오차를 줄일 수 있지만 그만큼 계산비용이 늘어난다. 이 조건까지 포함해야 Delphy가 말하는 정확성과 속도를 함께 이해할 수 있다.[1]

#5. 실험 결과는 속도와 분포의 일치를 함께 보여 준다

논문은 여러 감염병 자료에서 기존 베이지안 도구와 주요 추정량, 분기 관계의 지지도, 계산 효율을 비교한다. 나무의 낮은 지지도 부분이 조금 달라 보이는 것과 중요한 분포가 달라지는 것은 별도로 평가한다. 유한한 MCMC 실행에서는 같은 도구를 두 번 실행해도 완전히 같은 나무만 얻는 것은 아니기 때문이다.[1]

Delphy Figure 4. H5N1 계통수 세 가지, 지지도와 조상 시점 상관, 모수 분포와 분당 유효표본 수의 원본 비교.
원논문 Figure 4 원논문 Figure 4. (a–c)는 같은 H5N1 자료의 Delphy·BEAST X·최대우도 계통수를, (d)는 분기 지지도와 조상 시점의 대응을 비교한다. (e)는 주요 모수의 분포와 인구 크기 추정, (f)는 분당 유효표본 수를 보여 준다. (f)의 세로축은 로그 척도이며, 이 그림의 표본 효율과 본문의 실행 완료 시간을 구분해 읽는다. Patrick Varilly et al. · Nature (2026) · 출처 · CC BY-NC-ND 4.0 · 출판사 원본 PNG를 크기·색상·패널 및 파일 바이트 그대로 보존. 한국어 해설 별도 작성.
비교 대상확인된 조건과 결과결과를 읽는 기준
실제 유행 자료Ebola·Zika·SARS-CoV-2·mpox·H5N1 분석모든 자료에 동일한 배율을 적용하지 않고 각 모형과 수렴 조건을 비교한다.
H5N1 사례3,339개 서열, Delphy 결과 산출 42분BEAST X는 21일 뒤 중단된 실행이므로 완료 시간의 정밀한 배율로 환산하지 않는다.
대규모 모의실험최대 100,000개 서열, 96-vCPU 환경, 15시간 미만·ESS 248실제 현장 노트북의 처리시간과 구분한다.
큰 모의실험의 제한공통 조상 사전분포의 이산화 오차와 병렬 효율 문제계산 완료뿐 아니라 모수 회복과 수렴 진단도 함께 본다.

위 수치는 Nature 본문의 분석 조건에 따른 요약이다. 100,000개 서열 실험은 실제 수집 데이터의 모든 복잡성을 포함한 시험이 아니라, 참 계통수와 생성 모형을 알고 있는 모의실험이다. 15시간 미만이라는 시간과 ESS 248이라는 표본 효율을 함께 읽으면, 계산 완료뿐 아니라 결과에 남은 자기상관도 평가 대상임을 알 수 있다.[1]

MCMC에서 빠르다는 말은 초당 반복 횟수가 많다는 뜻만은 아니다. 연속된 표본들이 비슷하면 기록한 수만큼 독립적인 정보를 얻지 못한다. 유효표본크기, ESS는 이러한 자기상관을 고려하는 지표이며 어떤 관측량을 대상으로 계산했는지도 중요하다.

같은 수의 MCMC 표본이라도 정보량이 다른 이유 NeffN1+2k=1ρkN_{\mathrm{eff}}\approx\frac{N}{1+2\sum_{k=1}^{\infty}\rho_k} 기호·연산·계산 과정 펼치기

NN은 기록한 표본 수, ρk\rho_k는 간격 kk에서의 자기상관이다. 분모의 1은 독립적인 표본의 기준이고, 나머지 항은 연속된 표본들이 같은 정보를 얼마나 반복하는지 반영한다. 자기상관 합이 커지면 분모가 커져 유효표본 수가 줄어든다.

예를 들어 표본이 1,000개이고 자기상관의 합이 4.5라고 가정하면 분모는 10, ESS는 약 100이다. 이는 계산 예시다. 실제 ESS 추정에서는 유한한 자료에 맞는 절단·추정 방식이 필요하며, 모든 모수와 모든 나무 구조의 수렴을 하나의 숫자로 대신할 수 없다.

#6. 브라우저 실행이 바꾸는 데이터의 이동 경로

Delphy의 웹 환경은 TypeScript 화면과 WebAssembly로 컴파일된 C++ 계산 코어를 연결한다. 사용자가 정렬된 서열과 날짜를 입력하면 계산이 사용자 기기에서 실행된다. 논문은 이 경로에서 입력 데이터가 기기를 떠나지 않는다고 설명한다. 분석을 제공하는 방식이 웹사이트이면서도 연산은 클라이언트에서 수행되는 구조다.[1][2]

이 구분은 “웹으로 분석하니 모든 원자료를 서버에 올린다”는 생각을 바꾼다. 동시에 배포 환경의 검토는 여전히 필요하다. 실제 업무에 적용한다면 어떤 버전의 애플리케이션을 불러왔는지, 외부 자원과 브라우저 저장소를 어떻게 쓰는지, 결과 파일을 어디에 보관하는지까지 확인해야 한다. 여기의 운영 항목들은 적용을 위한 제안이며, 해당 설치 환경을 별도로 보안 감사했다는 뜻은 아니다.

입력도 아무 FASTA 파일이나 넣으면 끝나는 과정은 아니다. 서열 정렬과 날짜의 품질이 모형이 받는 관측을 결정한다. 논문은 정렬된 FASTA 또는 MAPLE 형식, 표본 식별자에 포함된 날짜, 선택적인 범주형 메타데이터를 설명한다. 결과의 날짜 구간과 계통 지지도는 입력의 정확도와 모형의 조건 아래에서 해석해야 한다.[1]

#7. 빠른 분석에서도 남는 불확실성

첫 번째 한계는 서열 다양성과 희소성이다. 변이 기록이 조밀해지면 명시적 변이를 중심으로 계산하는 비용도 늘어난다. 희소한 행렬에서 얻은 최적화가 조밀한 행렬에서도 같은 이득을 보장하지 않는 것처럼, 유행 데이터에서의 성공을 모든 계통학 데이터로 확대하려면 추가 비교가 필요하다.[1]

두 번째는 채집 날짜의 불확실성이다. 논문은 날짜 범위가 넓은 많은 표본을 포함하면 수렴이 어려워질 수 있다고 설명한다. H5N1 분석에서도 정확한 날짜와 위치가 부족한 일부 공개 자료를 제외했다. 이 제외가 있음을 알아야 데이터 수와 결과의 대표성을 해석할 수 있다. 날짜를 소프트웨어가 받는다는 사실과 날짜가 넓게 불확실한 자료에서도 안정적으로 수렴한다는 것은 서로 다른 조건이다.[1]

세 번째는 지원하는 진화 모형의 범위다. 초기 공개 구성은 단일 partition의 HKY 모형과 제한된 모형 선택을 중심으로 한다. 논문이 제시하는 수학적 확장 가능성과 현재 사용자가 선택할 수 있는 기능은 분리해야 한다. 복잡한 분할, 분자시계 가정, 다른 사전분포가 분석에 필수라면 기존 도구의 기능과 먼저 대조해야 한다.[1]

마지막으로 계통 관계는 전파 관계를 판단하는 한 종류의 증거다. 가까운 두 표본이 있다는 사실만으로 어느 개인이 누구에게 직접 감염시켰는지 확정할 수는 없다. 이는 관측에 포함되지 않은 중간 연결이 있을 수 있다는 추론상의 주의점이다. 실제 역학 판단에는 채집 과정과 추가 정보가 함께 필요하다.

#같은 실행을 다시 비교하기 위한 기록

실제 분석 계획을 세운다면 적어도 세 층의 기록을 분리하는 것이 유용하다. 첫째는 입력이다. 서열 파일뿐 아니라 정렬 방법, 제외한 표본, 채집 날짜의 형식이 여기에 들어간다. 둘째는 모형과 계산이다. 진화 모형, 사전분포, MCMC의 실행 길이와 표본 기록 간격, 병렬 설정과 이산화 해상도를 남긴다. 셋째는 출력 평가다. 어떤 관측량의 ESS를 확인했고 초기 적응 구간을 어디서 제외했는지 기록한다.

이 기록이 있어야 같은 42분이라는 숫자에도 의미가 생긴다. 서로 다른 데이터 정제, 다른 모형, 다른 수렴 기준을 사용한 두 실행의 시간을 나란히 놓으면 소프트웨어 속도와 분석의 난도가 섞인다. 반대로 입력과 목표를 맞추고 사후분포의 주요 요약이 일치하는지 비교하면, 단축된 시간이 어떤 계산 개선에서 왔는지 더 분명해진다. 이는 이 글이 제안하는 비교 원칙이며 추가 성능 측정값은 아니다.

출력을 저장할 때도 대표 나무 한 장과 여러 사후 표본을 구분해야 한다. 대표 나무는 결과를 전달하는 요약이고, 개별 분기나 시점의 불확실성을 다시 확인하려면 더 많은 출력이 필요하다. Delphy가 다른 도구와 호환되는 나무·로그 출력을 제공한다는 설명은 이러한 후속 분석의 통로로 읽을 수 있다.[1]

#8. 실제 도입을 판단할 때 확인할 것

첫 단계는 “얼마나 빨리 끝나나”가 아니라 현재 연구 질문이 지원 모형으로 표현되는가다. 그다음 작은 동일 자료에서 기존 분석과 사후분포·지지도·시점 추정이 일치하는지 확인한다. 데이터 양을 늘릴 때는 반복 횟수뿐 아니라 ESS와 이산화 해상도를 기록해야 한다. 이 순서는 글에서 제안하는 도입 절차이며 추가 독립 실험 결과가 아니다.

공개 코드와 데이터는 이런 비교를 시작할 수 있는 근거다. 저자들은 계산 코어, 웹 인터페이스, 재현 자료, 실행 스크립트와 보관소를 공개했다. 그러나 공개 자료가 존재한다는 사실만으로 여기서 벤치마크를 재실행한 것은 아니다. 실행 환경·commit·모형·입력의 정렬과 날짜를 묶어 기록해야 같은 비교를 다음 사람이 확인할 수 있다.[2][3]

출판사에는 일부 저자의 기업 지분과 소프트웨어·디자인 사업 관련 이해관계도 공개되어 있다. 이 정보는 결과의 기각 사유가 아니라, 개발자 자신이 설계한 도구와 비교 평가를 읽을 때 함께 보관할 맥락이다.[1]

Delphy의 의미는 베이지안 방법을 포기해 속도를 얻는 데 있지 않다. 자료가 가진 반복성과 희소성에 맞춰 표현·이동·병렬화를 함께 바꾸면, 불확실성을 계산하는 과정 자체를 현장에 가까이 가져갈 수 있다는 데 있다. 속도, 모형 적합성, 수렴 진단을 한 묶음으로 읽을 때 이 연구의 가치가 드러난다.

#9. 출처와 자료 범위

[1] Varilly, P. et al. Scalable near-real-time Bayesian phylogenetics for outbreaks with Delphy. Nature, 2026-09-16.

[2] Delphy 공식 계산 코어·사용 안내.

[3] 저자 공개 재현 자료와 그림 생성 스크립트.

[4] Delphy 초기 preprint, 2025-03-26 게시 버전. 자료 기준: 2026-09-18. Nature의 공개 본문·방법·한계와 공식 저장소 안내를 바탕으로 작성했다. 본문의 작은 확률·ESS 계산은 해설용 예제다. 원논문 Figure 1·4를 원본 파일 그대로 연결했다.

Connect