밸브가 인정한 VR의 빈자리, 내가 단백질 안에서 찾은 답
새벽 두 시, 스팀덱이 식은 커피 옆에서 팬 소리를 내고 있었다. 나는 그날 밤 세 번째로 같은 논문 문장을 읽고 있었다. "가상 현실 환경에서의 단백질 시각화는 여전히 접근성이 낮다." 밸브가 VR의 빈자리를 인정했다는 뉴스를 보며, 3년 전 내가 겪었던 좌절이 떠올랐다.
나는 구조생물학을 전공하다 개발자로 전향한 사람이다. 대학원 시절, PDB(Protein Data Bank)에서 단백질 구조를 내려받아 시각화하는 데 매일 여섯 시간을 썼다. PyMOL 스크립트를 짜고, 좌표를 맞추고, 렌더링이 끝나기를 기다렸다. 그런데 정작 중요한 순간—내가 발견한 결합 부위를 지도교수에게 보여주려던 순간—모니터 속 평면 이미지는 아무것도 전달하지 못했다. 교수는 고개를 갸웃했고, 나는 손으로 허공에 단백질을 그리며 설명했다. 우스꽝스러웠다. 삼차원 구조를 연구하는 사람이 삼차원으로 보여주지 못하고 있었다.
그 후 나는 Mol*를 알게 됐다. 브라우저에서 바로 돌아가는 오픈소스 시각화 도구였다. 설치도, 라이선스도, 무거운 GPU도 필요 없었다. 처음에는 반신반의했다. 웹에서 어떻게 복잡한 단백질을 감당할까 싶었다. 그런데 코드를 열어보니 구조가 명확했다. WebGL 위에 렌더링 파이프라인을 얹고, 데이터 로딩과 시각화를 분리한 아키텍처였다. 확장 가능하게 설계돼 있어서, 내가 필요한 표현을 직접 추가할 수 있었다.
그날 밤 나는 Mol* 문서를 보며 작은 프로토타입을 만들었다. 내가 연구하던 단백질의 결합 부위를 색으로 강조하는 간단한 뷰어였다. 스무 줄 남짓의 코드. 새벽 네 시, 브라우저 탭에서 그 구조가 천천히 회전하기 시작했다. 별거 아니었다. 그런데 나는 한참을 그 화면을 바라봤다. 3년 전 허공에 그리던 그 분자를, 이제 누구나 링크 하나로 볼 수 있게 된 것이다.
다음 주 미팅에서 나는 노트북을 열고 링크를 공유했다. 교수는 마우스로 구조를 돌려보며 "여기가 문제였구나"라고 말했다. 그 한마디에 3년이 녹아내렸다.
지금 나는 Mol*를 기반으로 한 교육용 도구를 만들고 있다. 복잡한 설치 없이, 학생들이 브라우저만 열면 단백질을 직접 만지고 돌려볼 수 있게 하는 것이 목표다. 완벽하지 않다. 성능 최적화는 여전히 숙제고, 모바일에서는 아직 버벅인다. 그래도 방향은 확실하다. 좋은 도구는 사람과 발견 사이의 거리를 줄여야 한다.
그 새벽의 회전하는 분자를 떠올리면, 아직도 조금 뭉클해진다. 당신에게도 그런 순간이 있기를 바란다. 무언가가 마침내 제자리를 찾는 순간.
