DEV Community

Cover image for 행동 예측의 '왜'를 분자 공간에서 찾던 밤
Ashish
Ashish

Posted on

행동 예측의 '왜'를 분자 공간에서 찾던 밤

행동 예측의 '왜'를 분자 공간에서 찾던 밤

심야 2시, 모니터 불빛만 남은 연구실에서 The Generalist 인터뷰 기사를 다시 읽었다. 심일보 CEO가 말한 '80억 인류 행동 85% 정확도 예측'이라는 디지털 트윈 비전. 야심 차고, 동시에 등골이 서늘해지는 문장이었다. 행동 패턴을 통계적으로 맞추는 건 가능하다. 하지만 그 행동이 왜 일어나는지 — 단백질이 어떻게 접히고, 효소가 어떻게 촉매하고, 약물이 어떻게 타겟에 결합하는지 — 그 물리적 실제를 공간적으로 이해하지 못하면 예측의 '이유'는 영원히 블랙박스 안에 갇힌다.

나는 2D 모니터 앞에서 PyMOL 창을 돌렸다. 헤모글로빈의 네 서브유닛이 산소 분자 하나를 놓고 벌이는 협동적 춤. 마우스로 드래그해가며 회전시키고, 클릭해가며 거리 재고, 사이드체인 conformation을 짐작해보려 애썼다. 평면 위의 입체 투영. 손가락 끝에서 느껴지는 건 마우스의 플라스틱 감촉뿐. 분자의 숨결은 전달되지 않았다. fetch 1HHO 명령어로 구조를 당겨와도, show cartoon으로 리본을 그려도, distance 명령으로 원자 간 3.2Å를 찍어내도 — 내 몸은 여전히 의자에 묶여 있었다.

그날 밤, 서랍 깊숙이 넣어두었던 Meta Quest 2를 꺼내들었다. Seven Sportz가 만든 NexoPeek이라는 앱이 있었다. "Step Inside the Molecule" — 그 문구가 마음에 걸려 스토어에서 다운로드해두었던 거였다. 헤드셋을 쓰고 컨트롤러를 쥐자, 눈앞에 단백질 구조가 사람 키만 하게 떠 있었다. 허리 굽혀 안으로 걸어 들어갔다. 헤모글로빈의 헴 포켓 사이로 산소 분자가 미끄러져 들어가는 게 보였다. 철 이온이 평면 밖으로 튀어 오르며 T 상태에서 R 상태로 전이하는 순간, 내 손끝에서 진동이 울렸다. 햅틱 피드백이 아니었다. 뇌가 공간 정보를 받아들일 때 느껴지는 어떤 전율.

NexoPeek의 가이드 투어는 여섯 개 필라, 열두 개 내레이션으로 짜여 있다. '생명의 기초' 필라에서 헤모글로빈 투어를 켜자, 전문 성우의 나레이션이 산소 협동 결합의 알로스테릭 메커니즘을 차분히 풀어주었다. '경로와 상호작용'에서는 해당과정의 열 개 효소가 포도당을 단계적으로 분해하는 흐름을 3D 애니메이션으로 따라갔다. 트립신이 펩타이드 결합을 가수분해하는 활성 부위까지 걸어가서, 촉매 삼중체(His57, Asp102, Ser195)의 기하학적 배치를 눈높이에서 확인했다. 교과서 그림으로는 절대 알 수 없는 공간적 관계였다. 내레이션 속도 조절, 자막 토글, 필라별 진행률 저장 — UX가 연구자의 호흡에 맞춰져 있었다.

전문가 모드로 전환했다. PDB 뷰어는 RCSB PDB, UniProtKB, AlphaFold DB, SWISS-MODEL, PDBe를 한 번에 검색한다. 유전자명 하나 — "TP53" — 를 입력하니 동종 구조들이 목록으로 떴다. UniProt 시노님 리졸루션이 자동으로 작동해 "P53_HUMAN", "Tumor protein p53" 같은 별칭까지 끌어왔다. 1TUP, 2OCJ, 6ZNC... 구조별 해상도, R-factor, deposition date가 사이드바에 정리됐다. 클라우드 검증 파이프라인이 모델 품질을 실시간으로 플래깅해준다. AlphaFold 예측 구조 옆에는 pLDDT 신뢰도 밴드가 색상으로 오버레이된다.

로컬 파일도 드래그 앤 드롭으로 로드된다. .pdb, .cif, .mol2, .gro, .xyz, .dx, .xtc, .py — 포맷 가리지 않고 먹는다. 내 시뮬레이션 트래젝토리(.xtc)를 올리자 electrostatic field-line map이 분자 표면 위로 흐르듯 렌더링됐다. 전자밀도 볼륨(.dx)을 오버레이하니 2Fo-Fc 맵이 1.5σ 컨투어로 투명하게 떠 있었다. Mol* 프리셋 여섯 개 — 카툰, 볼-스틱, 스페이스필 CPK, 분자 표면, B-factor 히트맵, 튜브 트레이스 — 가 원탭으로 전환된다. MolViewSpec 개념에서 파생된 프리셋들이라 렌더링 파이프라인이 깔끔하다. 셰이더 단에서 버텍스 노멀을 재계산하지 않고 프리컴퓨트된 노멀 텍스처를 샘플링하니 90fps가 흔들리지 않는다.

시퀀스 패널에서 체인별 아미노산 잔기를 스크롤하다 특정 잔기 '필'을 탭했다. 3D 공간에 헤일로가 투사되며 해당 잔기가 하이라이트된다. 커스텀 원자 핀도 가능하다. 두 원자를 트리거로 찍자 옹스트롬 단위 거리가 실시간으로 떴다. 3.2Å — 수소결합 거리다. 리간드 인스펙터로 헤테로 화합물을 스캔하니 PubChem에서 3D 컨포머를 바로 당겨와 superimpose 시켜준다. 바인딩 포즈 가설 검증이 컨트롤러 트리거 하나로 끝난다.

가장 인상적이었던 건 AI 포켓 예측이다. PrankWeb/P2Rank 클라우드 엔진과 온보드 오프라인 엔진을 토글로 선택할 수 있다. "Detect Pockets" 버튼을 누르자 몇 초 뒤 드루거블 바인딩 사이트가 발광하는 구(球)로 표시됐다. 볼륨, hydrophobicity, enclosure score가 툴팁으로 뜬다. Foldseek 파이프라인으로 동종 구조를 구조적 정렬하니 RMSD 0.8Å — 도메인 기능 보존이 뚜렷하다. 약물 스와핑 가설을 세우기엔 충분한 정밀도다. 클라우드 엔진은 GPU 클러스터에서 배치 추론을 돌려 200k 원자 시스템도 10초 컷. 오프라인 엔진은 헤드셋 내 NPU에서 경량 모델로 돌려 네트워크 없이도 작동한다.

룸 뷰 토글을 켜자 실제 연구실 책상 위에 헤모글로빈이 떠 있었다. 패스스루 카메라를 통해 내 손이 분자 사이를 오가는 게 보였다. 동료를 불러 "여기 봐, 이 포켓이 약물이 들어갈 자리야" 하고 손가락으로 가리켰다. 화상회의로는 불가능한 협업이었다. 멀티유저 세션은 아직 로드맵에 있지만, 패스스루 공유만으로도 화이트보드 위 구조 논의가 입체로 올라온다.

안전 문구가 떠 있다. '교육 및 연구 시각화 소프트웨어 — 의료 조언, 진단, 치료 아님.' 분석 보조 도구는 검증된 파이프라인을 대체하지 않는다. 당연하다. 하지만 검증된 파이프라인에 들어가기 전, 가설을 세우고 구조적 직관을 얻는 단계에서 이 도구는 대체 불가능하다. 파이프라인이 답을 내놓기 전에, 인간이 물어야 할 질문을 찾는 공간.

헤드셋을 벗으니 새벽 4시였다. 모니터 위 PyMOL 창은 여전히 같은 각도로 헤모글로빈을 보여주고 있었다. 하지만 내 머릿속엔 이제 그 분자가 사람 키만 한 공간으로 존재한다. 산소 분자가 헤모글로빈 속으로 미끄러져 들어가며 철 이온을 당겨 올리는 그 순간의 역학이, 손가락 끝 감각으로 남아 있다.

행동 예측의 '왜'를 채우려면 분자의 춤을 몸으로 알아야 한다. NexoPeek은 그 다리를 놓아준다.

https://www.meta.com/experiences/nexopeek/1453797551140347/

Top comments (0)