PyMOL로 소분자의 전기포텐셜 (ESP) 그리기
Source: Dev.to
도구 및 전처리
- Open Babel
원본.mol2파일을.xyz로 변환하고 수소 원자를 보충합니다(수소 원자는 ESP 계산에 필수적).
# 수소 보충 및 xyz 로 변환
obabel input.mol2 -h -oxyz -O molecule.xyz
변환 후 분자가 올바른 원자 원자가와 완전한 수소 원자를 유지하는지 확인하십시오.
ORCA 계산
ORCA 6.1.1을 사용하여 단일점 에너지 계산을 수행하고, 후처리를 위해 전자 밀도 정보를 저장합니다.
입력 파일 (molecule.inp)
! B3LYP def2-SVP TightSCF KeepDens PAL8
* xyz 0 1
[원자 좌표]
*
KeepDens: 전자 밀도 파일(.scfp)을 보존합니다. 이후 ESP를 생성할 때 필요합니다.PAL8: 8개의 코어를 사용해 병렬 실행합니다. SLURM 클러스터에서 실행할 경우--ntasks-per-node=8옵션과 함께 사용하는 것이 좋습니다.
orca_plot 으로 ESP 추출
orca_plot은 ORCA에 포함된 인터랙티브 툴로, 계산 결과(.gbw)에서 ESP를 추출할 수 있습니다.
인터랙티브 순서(리다이렉션으로 실행 가능)
| 단계 | 입력 | 설명 |
|---|---|---|
| 1 | 1 | 그림 유형 선택 |
| 2 | 43 | Electrostatic Potential 선택 |
| 3 | 4 | 격자 간격/해상도 설정(추천 100 100 100) |
| 4 | 11 | 생성 작업 실행 |
| 5 | 12 | 종료 |
실행 후 다음 파일이 생성됩니다:
molecule.eldens.cube– 전자 밀도 파일(분자 형태 정의).molecule.vpot.cube(또는*_ESP.cube로 이름 변경) – 정전위 값 파일.
주의:
.gbw,.scfp및 생성된.cube파일이 모두 동일한 디렉터리에 있어야orca_plot이 정상적으로 작동합니다.
PyMOL에서 ESP 시각화
파일 로드
load molecule.mol2, mol
load molecule.eldens.cube, den
load molecule_ESP.cube, esp
전자 밀도 기반 분자 표면 생성
# 등값면을 0.002 a.u. 로 설정
isosurface surf, den, 0.002
색상 매핑 그라데이션 만들기
# [-0.1, 0, 0.1] 에 대해 빨강‑흰색‑파랑
ramp_new ramp_esp, esp, [-0.1, 0, 0.1], [red, white, blue]
- 음전위(빨간색) → 전자 풍부 영역
- 양전위(파란색) → 전자 부족 영역
표면에 색상 매핑 적용
set surface_color, ramp_esp, surf
미관 조정(선택)
set surface_quality, 1
set transparency, 0.2, surf # 내부 원자를 보기 위해 반투명하게
rebuild
단위: ORCA가 출력하는 ESP 단위는 원자 단위(a.u.)이며, 1 a.u. ≈ 27.21 V입니다.
PyMOL에서 색상 눈금은 분자 극성에 따라 적절히 조정해야 하며, 일반적인 범위는 ±0.05 ~ ±0.2 a.u. 입니다.
기타 팁
- 파일 보관:
.gbw와.scfp는 생성된.cube파일과 같은 디렉터리에 있어야 합니다. - 병렬 슬롯: MPI 병렬을 사용할 경우 SLURM에서 할당된
ntasks와 ORCAPALn파라미터가 일치하도록 확인하십시오.