
코로나 이후 모두가 들어본 그 약자
PCR 검사라는 말, 코로나 시기에 모두가 한 번씩은 들어보셨을 거예요. 콧속을 면봉으로 긁어내서 보내면 며칠 뒤 양성/음성 결과가 오던 그 검사요. 이 PCR이라는 게 사실 컴퓨터과학자의 눈으로 보면 굉장히 흥미로운 기술이에요. 최근 한 블로그 글이 이걸 두고 "거의 최적에 가까운 기술"이라고 분석했는데요, 왜 그런지 풀어보면 자연이 만들어둔 알고리즘이 얼마나 절묘한지 감탄하게 됩니다.
PCR은 Polymerase Chain Reaction의 약자예요. 우리말로 풀면 "중합효소 연쇄 반응" 정도 되는데, 쉽게 말하면 DNA 한 가닥을 복사해서 두 가닥으로, 두 가닥을 네 가닥으로, 네 가닥을 여덟 가닥으로 계속 늘려가는 기술이에요. 1983년 캐리 멀리스가 발명해서 노벨상을 받은 방법이고, 지금은 진단, 법의학, 유전공학 어디든 빠지지 않고 들어가는 기반 기술입니다.
지수적 증폭이라는 마법
이게 왜 거의 최적이냐 하면, 매 사이클마다 양이 정확히 두 배가 되거든요. 컴퓨터과학에서 우리가 사랑하는 그 지수 증가입니다. 사이클 한 번이 보통 1~2분 걸리는데, 30번 돌리면 2의 30제곱, 즉 약 10억 배가 돼요. 40번이면 1조 배. 처음에 DNA 분자 하나만 있어도 한 시간 남짓 만에 측정 가능한 양으로 불어나는 거죠.
내부 동작은 세 단계가 반복돼요. 먼저 95도 가까이 가열해서 두 가닥으로 꼬여 있는 DNA를 풀어줘요(변성). 그다음 온도를 60도 정도로 낮춰서 프라이머라는 짧은 DNA 조각이 원하는 위치에 붙게 해요(결합). 마지막으로 72도에서 DNA 중합효소가 그 자리부터 새 가닥을 죽 합성해요(연장). 이 과정이 한 사이클이고, 이게 끝나면 가닥 수가 정확히 두 배가 되는 거예요.
블로그 글의 핵심 통찰은, 이 시스템이 정보 이론이나 알고리즘 효율성 측면에서 봤을 때 거의 한계점에 가깝다는 거예요. 효율 100%에서 가닥이 매번 정확히 두 배가 되는 게 이상적인데, 실제 PCR은 사이클당 1.6~1.9배 정도를 꾸준히 달성해요. 손실이 별로 없다는 뜻이죠. 또 병렬성도 완벽해요. 시험관에 든 모든 분자가 동시에 같은 일을 하니까, 우리가 GPU에서 갈망하는 그 수준의 병렬성을 자연이 이미 구현해놓은 셈이에요.
다른 분자생물학 기술과의 비교
대안 기술들도 있어요. LAMP(고리매개 등온증폭)는 온도를 바꾸지 않아도 돼서 현장 진단에 좋지만 특이도가 좀 떨어져요. RPA(재조합효소중합반응)도 빠르긴 한데 비용이 비싸고요. 차세대 시퀀싱(NGS)은 정보량이 압도적이지만 장비도 비싸고 시간도 오래 걸려요. 결국 "빠르고 싸고 정확하다"는 삼박자를 PCR만큼 균형 있게 잡는 기술이 드물어요. 그래서 40년이 지나도 아직 현역이고, 앞으로도 한참 그럴 거라는 분석이 나오는 거죠.
개발자에게 주는 영감
PCR 얘기를 왜 개발자가 알아야 하냐고 물으면, 이건 우리가 추구하는 알고리즘 설계의 좋은 본보기이기 때문이에요. 분할 정복(divide and conquer)에서 매 단계 데이터를 절반으로 나누거나 두 배로 늘리는 패턴, 맵리듀스의 병렬 처리, 가비지 컬렉션의 세대 배수 증가 같은 디자인이 모두 같은 결의 아이디어거든요. 또 합성생물학(synthetic biology) 영역이 점점 소프트웨어처럼 다뤄지고 있어요. DNA 시퀀스를 컴파일러처럼 설계하고, 깃 같은 버전 관리에 올리는 도구도 나오고 있죠. 바이오 스타트업이 늘어나면서 한국에서도 이쪽 인력 수요가 조금씩 생기고 있어요.
마무리
어떤 기술이 "거의 최적"이라는 평가를 받기는 굉장히 어렵잖아요. 그런데 1980년대에 발명된 PCR이 아직 그 자리를 지킨다는 건, 좋은 설계의 수명이 얼마나 긴지 보여주는 사례예요. 여러분이 만드는 시스템 중에 40년 뒤에도 살아남을 만한 게 있을까요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공