"AI가 신약을 설계해준다"는 말은 이제 뉴스 헤드라인이 아니라 실험실의 일상이 되었습니다. 알파폴드 같은 단백질 구조 예측 모델이 구조 데이터를 쏟아내면서, 그 결과물을 사람이 눈으로 확인하고 해석하는 능력은 오히려 더 중요해졌습니다. 그 확인 작업의 표준 도구가 바로 PyMOL입니다.
그런데 막상 PyMOL을 처음 켜본 분들의 반응은 대체로 비슷합니다. 마우스를 드래그했는데 분자가 움직이는 줄 알았더니 사실은 화면(카메라)이 돌아간 것이고, 어떤 때는 또 분자 자체가 진짜로 움직여서 구조가 깨진 것처럼 보이기도 합니다. 단축키를 몰라서 우왕좌왕하다가 그냥 캡처 화면만 들고 보고서를 쓰는 경우도 많습니다. 이 글에서는 컴퓨터 비전공자도 따라 할 수 있도록 PyMOL 설치부터, 가장 많이 헷갈리는 마우스 동작의 원리, 실전 사용법까지 순서대로 정리합니다.
PyMOL이 AI 신약개발 시대에 필수가 된 이유
PyMOL은 단백질, 핵산, 저분자 화합물 같은 생체분자의 3차원 구조를 시각화하는 프로그램입니다. 단순히 "예쁜 그림"을 만드는 도구가 아니라, 결합 부위의 형태를 확인하고 화합물이 들어갈 공간을 가늠하고 변이가 일어난 자리를 짚어내는 분석 도구입니다.
요즘 AI 신약개발 파이프라인은 보통 이런 흐름을 따릅니다. AI 모델이 단백질 구조를 예측하거나 결합 후보 화합물을 제안하면, 연구자가 그 결과를 분자 시각화 프로그램으로 열어 타당성을 검토합니다. 예측이 그럴듯해 보이는지, 입체 장애는 없는지, 알려진 결합 부위와 일치하는지를 눈으로 확인하는 단계가 빠지지 않습니다. 그 검증 단계에 PyMOL이 사실상 업계 표준으로 쓰이고 있어서, 생물학이나 제약 전공자라면 코딩 경험이 없어도 PyMOL 사용법 정도는 익혀두는 편이 유리합니다.
PyMOL 설치, 두 가지 무료 경로 중 나에게 맞는 것 고르기
PyMOL은 신기하게도 "무료"라는 말이 두 가지 다른 의미로 쓰입니다. 어떤 경로로 받느냐에 따라 사용 범위가 달라지므로, 설치 전에 이 차이를 먼저 짚어두는 게 안전합니다.
방법 1. PyMOL Open-Source — 누구나, 영구적으로 무료
Schrödinger가 공개한 오픈소스 버전으로, 등록이나 라이선스 키 없이 평생 무료로 사용할 수 있습니다. 연구 목적이든 개인 학습 목적이든 제한이 없다는 점이 가장 큰 장점입니다.[1][2] 가장 간단한 설치 방법은 Anaconda나 Miniforge 같은 conda 환경을 깐 뒤, 터미널(윈도우는 Anaconda Prompt)에서 아래 명령을 실행하는 것입니다.
conda install -c conda-forge pymol-open-source
설치가 끝나면 터미널에 pymol이라고 입력해 바로 실행해보면 됩니다. 다만 이 버전은 인터페이스가 다소 단순하고, APBS 정전기 계산이나 영상 렌더링용 추가 엔진 같은 부가 기능 일부는 빠져 있습니다.
방법 2. Incentive PyMOL 교육용 라이선스 — 학생·교사 전용, 정식판 무료
pymol.org에서 배포하는 정식판(최신 Qt 인터페이스, 시퀀스 뷰어, 렌더링 엔진 포함)은 원래 유료지만, 전일제 학생이나 교사에게는 무료로 등록할 수 있는 교육용 라이선스를 제공합니다.[3] 다만 이 교육용 라이선스는 수업·과제·자가 학습용으로만 허용되고, 실제 연구나 논문 작업에는 사용할 수 없다는 점을 공식 FAQ에서 분명히 밝히고 있습니다.[4] 즉 졸업논문이나 실제 투고용 분석을 한다면 방법 1의 오픈소스 버전이나 정식 구매 라이선스를 쓰는 게 맞습니다.
등록 절차는 pymol.org의 다운로드 페이지에서 운영체제(윈도우·맥·리눅스)를 선택해 설치 파일을 받고, 이메일로 교육용 라이선스를 신청하는 방식입니다. conda로도 설치할 수 있지만 이 경로는 별도의 라이선스 파일을 요구할 수 있으니, 처음 설치하는 분이라면 공식 사이트의 설치 안내를 그대로 따라가는 편을 권합니다. 라이선스 정책은 종종 바뀌므로 진행 전 공식 교육용 페이지에서 최신 조건을 한 번 더 확인하시길 권합니다. [정책 변경 가능성 있음 — 진행 전 재확인 필요]
정리하면, "그냥 빨리 켜서 분자 구조를 보고 싶다"면 오픈소스 버전, "수업용으로 정식 인터페이스를 써보고 싶다"면 교육용 라이선스를 신청하는 식으로 PyMOL 설치 경로를 고르면 됩니다.
화면 구성, 처음 5분만 알면 됩니다
PyMOL을 처음 실행하면 크게 세 영역이 보입니다. 가운데 넓은 공간은 분자가 표시되는 3D 뷰어이고, 오른쪽에는 불러온 객체(Object) 목록과 A·S·H·L·C로 줄인 메뉴(Action·Show·Hide·Label·Color)가 있습니다. 아래쪽에는 명령어를 직접 입력할 수 있는 커맨드 라인이 있는데, 이 부분은 마우스만으로도 충분히 다룰 수 있으니 처음부터 외울 필요는 없습니다.
구조 파일은 PDB ID만 알면 가장 빠르게 불러올 수 있습니다. 커맨드 라인에 fetch 1abc 식으로 입력하면 인터넷에서 해당 구조를 바로 내려받아 화면에 띄워줍니다.
가장 헷갈리는 부분: 화면이 도는가, 분자가 도는가
여러분이 느낀 그 혼란에는 분명한 원리가 있습니다. PyMOL은 분자의 실제 좌표(모델 공간)와, 그 분자를 바라보는 가상의 카메라(카메라 공간)를 따로 관리합니다.[5] 기본 상태(Viewing 모드)에서 마우스를 드래그하면 카메라가 분자 주위를 도는 것이고, 분자의 원자 좌표는 전혀 바뀌지 않습니다.[6] 화면상으로는 분자가 빙글빙글 도는 것처럼 보이지만, 사실은 여러분의 "시점"이 움직이는 것뿐입니다.
반대로 분자 자체를, 즉 모델 공간의 좌표를 진짜로 움직이고 싶을 때가 있습니다. 단백질과 리간드를 따로 불러와서 도킹 위치를 손으로 가늠해 보거나, 두 구조를 나란히 비교하려고 한쪽만 옆으로 옮기고 싶은 경우입니다. 이때는 Shift 키를 누른 채로 드래그하면 카메라는 고정된 채 객체(Object)만 회전하거나 이동합니다.[7] 아래 표로 기본 동작을 정리했습니다.
| 마우스 동작 | 무엇이 움직이는가 | 결과 |
|---|---|---|
| 왼쪽 버튼 드래그 | 카메라 | 화면 회전, 분자 좌표는 그대로 |
| 중간 버튼 드래그 | 카메라 | 화면 평행 이동(Pan) |
| 오른쪽 버튼 드래그 / 스크롤 | 카메라 | 확대·축소(Zoom) |
| Shift + 왼쪽 버튼 드래그 | 선택된 객체(분자 자체) | 분자 좌표 자체를 회전 |
| Shift + 중간 버튼 드래그 | 선택된 객체(분자 자체) | 분자 좌표 자체를 이동 |
| Editing 모드 + Ctrl 왼쪽 드래그 | 선택한 원자 1개 | 원자 위치(구조)를 실제로 변경 |
여기서 한 가지 더 알아두면 좋은 모드 전환이 있습니다. 화면 오른쪽 위(또는 메뉴바)의 Mouse 메뉴를 열면 "3-Button Viewing"과 "3-Button Editing" 두 가지를 고를 수 있습니다.[8] Viewing이 평소 구조를 살펴볼 때 쓰는 기본 모드이고, Editing은 원자를 직접 집어서 결합 각도를 바꾸거나 위치를 옮기는, 말 그대로 분자를 "편집"하는 모드입니다. 구조를 구경만 할 때는 Viewing, 결합 형태를 손으로 조정해 보고 싶을 때만 잠깐 Editing으로 바꾼다고 생각하면 헷갈릴 일이 줄어듭니다.
요약하면 PyMOL 마우스 동작의 90%는 카메라를 움직이는 것이고, 분자 자체를 옮기는 것은 Shift 키나 Editing 모드처럼 의도적으로 다른 동작을 선택했을 때만 일어납니다. 이 원리 하나만 기억해도 PyMOL 사용법의 절반은 익힌 셈입니다.
실전 사용법: 구조를 보고, 색칠하고, 저장하기
이제 기본 원리를 알았으니 자주 쓰는 명령 몇 가지만 더하면 됩니다. 명령은 화면 아래 커맨드 라인에 입력합니다.
- 구조 불러오기:
fetch 1abc(PDB ID로 온라인에서 불러오기) 또는load 내파일.pdb - 표현 방식 바꾸기:
hide lines후show cartoon,show sticks,show surface등으로 리본·막대·표면 형태를 선택 - 색상 지정:
color cyan, chain A처럼 특정 체인이나 잔기에만 색을 입힐 수 있습니다 - 특정 부위만 골라보기(Selection):
select pocket, resi 50-60으로 결합 부위 후보를 따로 묶어 관리 - 거리·각도 측정: 왼쪽 도구의 측정 기능이나
distance명령으로 두 원자 사이 거리를 숫자로 확인 - 이미지 저장:
ray로 고품질 렌더링 후png 결과.png, dpi=300
여러 객체를 동시에 불러왔다면, 오른쪽 목록에서 원하는 객체 이름을 클릭해 활성화한 다음 위 표의 Shift 동작을 쓰면 그 객체만 따로 움직일 수 있습니다. 도킹 후보 위치를 손으로 미세 조정할 때 자주 쓰는 방식입니다.
실전 팁 세 가지
첫째, 작업을 시작하기 전에 세션을 저장하는 습관을 들이세요. PyMOL의 Editing 모드에는 되돌리기(Undo) 기능이 따로 없어서, 원자를 잘못 옮기면 복구가 번거롭습니다. save 작업본.pse로 중간 저장을 자주 해두면 마음이 편해집니다.
둘째, 회전 중심을 옮겨가며 확인하세요. 큰 단백질 전체를 보다가 특정 결합 부위만 자세히 살피고 싶다면, 그 부위의 원자를 Ctrl+Shift+중간 버튼으로 클릭해 회전 중심으로 지정해보세요. 화면 가장자리를 빙빙 돌리는 것보다 훨씬 정밀하게 들여다볼 수 있습니다.
셋째, 카메라 키프레임과 객체 키프레임을 구분해서 기록하세요. 발표용 영상이나 움직이는 GIF를 만들 계획이라면, 카메라(화면) 움직임과 객체(분자) 움직임을 같은 타임라인에 섞어 기록하면 나중에 꼬이기 쉽습니다. 가급적 객체 키프레임만 써서 따로 관리하는 편이 작업이 깔끔합니다.[9]
자주 묻는 질문 (FAQ)
Q. PyMOL은 정말 완전히 무료인가요?
A. 오픈소스 버전은 누구나 영구적으로 무료입니다. 다만 공식 정식판(Incentive PyMOL)은 원래 유료이고, 학생·교사에게만 한정적으로 무료 교육용 라이선스를 제공한다는 점을 구분해서 알아두는 게 좋습니다.
Q. 마우스로 분자를 돌렸는데 구조가 이상해졌어요. 망가진 건가요?
A. 기본 Viewing 모드에서는 분자 좌표가 절대 바뀌지 않으니 걱정하지 않아도 됩니다. 다만 Shift를 누른 채 드래그했거나 Editing 모드였다면 실제 좌표가 바뀌었을 수 있습니다. 저장하지 않았다면 다시 불러오면 원상복구됩니다.
Q. 코딩을 몰라도 PyMOL 사용법을 익힐 수 있나요?
A. 가능합니다. 이 글에서 다룬 마우스 조작과 메뉴 클릭만으로도 구조 확인, 색칠, 이미지 저장까지 충분히 할 수 있습니다. 다만 반복 작업이 많아지면 위에 소개한 명령어 몇 줄을 스크립트로 묶어두는 편이 시간을 아껴줍니다.
Q. AI가 예측한 구조를 PyMOL에서 바로 열어볼 수 있나요?
A. 가능합니다. 예측 결과가 PDB나 CIF 형식이라면 load 명령으로 그대로 불러와 다른 실험 구조와 동일하게 시각화하고 비교할 수 있습니다.
참고문헌
- PyMOL 공식 다운로드 페이지 — 최신 버전 정보 및 설치 파일: https://www.pymol.org/
- PyMOL Open-Source GitHub 저장소 — 오픈소스 라이선스 및 빌드 안내: https://github.com/schrodinger/pymol-open-source
- Incentive PyMOL 소개 페이지 — 교육용 구독 안내: https://pymol.org/pymol.html
- 교육용 전용 PyMOL FAQ — 연구·논문 목적 사용 제한 명시: https://pymol.org/edu/faq.php
- PyMOL Wiki, "Model Space and Camera Space" — 카메라 공간과 모델 공간의 개념 설명: https://pymolwiki.org/index.php/Model_Space_and_Camera_Space
- "Getting Started with Mouse Controls" — 기본 마우스 동작과 가상 트랙볼 원리: https://pymol.sourceforge.net/newman/user/S0200start.html
- PyMOL Moviemaking Tutorial — Shift+드래그로 객체를 직접 옮기는 방법: https://pymol.org/tutorials/moviemaking/
- PyMOL Wiki, "Mouse modes" / Config Mouse — Viewing·Editing 모드 전환 방법: https://wiki.pymol.org/index.php/Config_Mouse
- PyMOL Moviemaking Tutorial — 카메라 키프레임과 객체 키프레임 구분 권장: https://pymol.org/tutorials/moviemaking/
댓글
댓글 쓰기