๐Ÿ”ฌ GROMACS๋ž€?

GROMACS MD ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ถ„์ž๋™์—ญํ•™ ํฌ์Šคํ•„๋“œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํŒŒ์ดํ”„๋ผ์ธ GPU ๊ฐ€์† RMSD ์ž์œ ์—๋„ˆ์ง€

GROMACS๋Š” ์ƒ์ฒด๋ถ„์ž์™€ ์žฌ๋ฃŒ๊ณ„ ๋ชจ๋‘์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณ ์„ฑ๋Šฅ ์˜คํ”ˆ์†Œ์Šค ๋ถ„์ž๋™์—ญํ•™(MD) ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅธ ์†๋„, ๋‹ค์–‘ํ•œ ํฌ์Šคํ•„๋“œ ์ง€์›, ์œ ์—ฐํ•œ ๋ถ„์„ ๊ธฐ๋Šฅ์œผ๋กœ MD ์—ฐ๊ตฌ์˜ ํ‘œ์ค€ ํˆด๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

0%
๋ชฉ์ฐจ
๋ชฉ์ฐจ

GROMACS(GROningen MAchine for Chemical Simulations) ๋Š” ๋ถ„์ž๋™์—ญํ•™(MD) ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ๋Œ€ํ‘œ์ ์ธ ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค.

  • ๋‹จ๋ฐฑ์งˆ, ํ•ต์‚ฐ, ์ง€์งˆ, ์†Œ๋ถ„์ž ๋“ฑ ์ƒ์ฒด๋ถ„์ž ์‹œ์Šคํ…œ ๋ฟ ์•„๋‹ˆ๋ผ, ์žฌ๋ฃŒ/ํด๋ฆฌ๋จธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์—๋„ ํญ๋„“๊ฒŒ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • CPU์™€ GPU ๋ณ‘๋ ฌํ™” ์— ์ตœ์ ํ™”๋˜์–ด ๋Œ€ํ˜• ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ ์†๋„ ๊ฐ€ ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ์ž‘๋™ ์›๋ฆฌ ๋ฐ ์ฐจ๋ณ„์ 

๐Ÿงฌ ํ•ต์‹ฌ ์›๋ฆฌ

  • ํฌ์Šคํ•„๋“œ๋กœ ์›์ž ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ(๊ฒฐํ•ฉ, ๊ฐ, ๋น„๊ฒฐํ•ฉ)์„ ์ •์˜ํ•˜๊ณ , ๋‰ดํ„ด ๋ฐฉ์ •์‹์„ ์ˆ˜์น˜์ ์œผ๋กœ ์ ๋ถ„ ํ•˜์—ฌ ์›์ž์˜ ์‹œ๊ฐ„์  ๋ณ€ํ™”๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ณธ ๋‹จ๊ณ„:

    • ์—๋„ˆ์ง€ ์ตœ์†Œํ™” (EM)
    • NVT ๋“ฑ์˜จ ๋“ฑ์  ์กฐ๊ฑด
    • NPT ๋“ฑ์˜จ ๋“ฑ์•• ์กฐ๊ฑด
    • ์ƒ์‚ฐ ๋Ÿฐ (Production MD)

๐Ÿ” ์ฃผ์š” ๊ณ„์‚ฐ ์š”์†Œ

ํ•ญ๋ชฉ์„ค๋ช…
์žฅ๊ฑฐ๋ฆฌ ์ „๊ธฐ๋ ฅPME (Particle Mesh Ewald)
์ œ์•ฝ ์•Œ๊ณ ๋ฆฌ์ฆ˜LINCS (H-๊ฒฐํ•ฉ ๊ณ ์ •์‹œ dt = 2 fs ๊ฐ€๋Šฅ)
์˜จ๋„/์••๋ ฅ ์กฐ์ ˆV-rescale, Nosรฉโ€“Hoover / Parrinelloโ€“Rahman
์ด์›ƒ ๋ฆฌ์ŠคํŠธrlist, rcoulomb, rvdw, nstlist ๋“ฑ์œผ๋กœ ์„ฑ๋Šฅ/์ •ํ™•๋„ ์กฐ์ •

๐Ÿ’ก GROMACS์˜ ๊ฐ•์ 

  • ์†๋„์™€ ํšจ์œจ: ์งง์€ ํƒ€์ž„์Šคํ… ๋ฐ˜๋ณต์„ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋Œ€ํ˜• ์‹œ์Šคํ…œ์—์„œ ๊ณ ์„ฑ๋Šฅ ๋ฐœํœ˜
  • ๋‹ค์–‘ํ•œ ํฌ์Šคํ•„๋“œ ์ง€์›: AMBER, CHARMM, OPLS-AA, ๋ฌผ ๋ชจ๋ธ TIP3P/4P ๋“ฑ
  • ๊ฐ•๋ ฅํ•œ ๋ถ„์„ ๊ธฐ๋Šฅ: gmx rms, gmx sasa, gmx hbond, gmx cluster ๋“ฑ ๋‚ด์žฅ ๋ถ„์„ ๋„๊ตฌ ์ œ๊ณต

๐Ÿ“ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์•ˆ๋‚ด

A. ์ž…๋ ฅ ํŒŒ์ผ

  • ๊ตฌ์กฐ ํŒŒ์ผ: .pdb, .gro
  • ํฌ์Šคํ•„๋“œ/๋ฌผ ๋ชจ๋ธ: AMBER, CHARMM, OPLS-AA / TIP3P, TIP4P ๋“ฑ
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํŒŒ๋ผ๋ฏธํ„ฐ: .mdp ํŒŒ์ผ (์ ๋ถ„๊ธฐ, ์ œ์•ฝ, ์˜จ๋„, ์••๋ ฅ ๋“ฑ ํฌํ•จ)

B. ์ „ํ˜•์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ

# 1) ํ† ํด๋กœ์ง€/์ˆ˜์†Œ ์ถ”๊ฐ€/ํ”„๋กœํ†คํ™” ์ƒํƒœ ์ง€์ •
gmx pdb2gmx -f input.pdb -o processed.gro -p topol.top -i posre.itp

# 2) ๋ฐ•์Šค ์„ค์ • (์—ฌ์œ  1.0 nm)
gmx editconf -f processed.gro -o boxed.gro -c -d 1.0 -bt cubic

# 3) ์šฉ๋งคํ™”
gmx solvate -cp boxed.gro -cs spc216.gro -o solvated.gro -p topol.top

# 4) ์ด์˜จ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ ์‚ฌ์ „ grompp
gmx grompp -f ions.mdp -c solvated.gro -p topol.top -o ions.tpr

# 5) ์ค‘ํ™” ๋ฐ ์ด์˜จ ๋†๋„ ์„ค์ • (์˜ˆ: 0.15 M NaCl)
echo "SOL" | gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral -conc 0.15

# 6) ์—๋„ˆ์ง€ ์ตœ์†Œํ™”
gmx grompp -f em.mdp -c solv_ions.gro -p topol.top -o em.tpr
gmx mdrun -deffnm em

# 7) NVT (์œ„์น˜์ œ์•ฝ on)
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr
gmx mdrun -deffnm nvt

# 8) NPT (์œ„์น˜์ œ์•ฝ on)
gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
gmx mdrun -deffnm npt

# 9) ์ƒ์‚ฐ ๋Ÿฐ (์ œ์•ฝ ํ•ด์ œ)
gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md.tpr
gmx mdrun -deffnm md

C. ๊ธฐ๋ณธ MDP ์„ค์ • ์š”์•ฝ

ํ•ญ๋ชฉ์„ค์ • ์˜ˆ์‹œ
์ ๋ถ„๊ธฐintegrator = md, dt = 0.002
์ œ์•ฝconstraints = h-bonds, constraint-algorithm = lincs
์ „๊ธฐ๋ ฅcoulombtype = PME
์ปท์˜คํ”„rcoulomb = 1.0, rvdw = 1.0
์˜จ๋„/์••๋ ฅtcoupl = V-rescale, pcoupl = Parrinello-Rahman
์ด์›ƒ๋ฆฌ์ŠคํŠธnstlist = 20, rlist = 1.0

D. ๋ถ„์„ ๋ช…๋ น ์˜ˆ์‹œ

gmx rms   -s md.tpr -f md.xtc -o rmsd.xvg
gmx rmsf  -s md.tpr -f md.xtc -o rmsf.xvg -res
gmx hbond -s md.tpr -f md.xtc -num hbond_count.xvg
gmx sasa   -s md.tpr -f md.xtc -o sasa.xvg
gmx cluster -s md.tpr -f noPBC.xtc -o clusters.pdb -method gromos -cutoff 0.2

E. ํ’ˆ์งˆ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • EM ์ˆ˜๋ ด: Fmax < 1000 kJ/mol/nm
  • NVT: ์˜จ๋„ ์•ˆ์ •ํ™” ํ™•์ธ
  • NPT: ๋ฐ€๋„ ~1.0 g/cmยณ ๋„๋‹ฌ, ์ƒ์ž ํฌ๊ธฐ ์•ˆ์ •
  • Production: RMSD plateau ํ™•์ธ
  • PBC ์ •๋ฆฌ: trjconv -pbc mol -center ๋“ฑ ํ•„์ˆ˜

๐Ÿงฌ ๋ถ„์„ ํ™œ์šฉ ์˜ˆ์‹œ

  • ๋ฆฌ๊ฐ„๋“œ ์•ˆ์ •์„ฑ ํ‰๊ฐ€: RMSD/RMSF, ์ ‘์ด‰ ์ˆ˜, H-bond ์ง€์† ์‹œ๊ฐ„
  • ๋Œ์—ฐ๋ณ€์ด ์˜ํ–ฅ ๋ถ„์„: WT vs Mutant์˜ ๊ตฌ์กฐ ๋ณ€ํ™” ๋น„๊ต
  • ๋ง‰๋‹จ๋ฐฑ์งˆ-์ง€์งˆ ์ƒํ˜ธ์ž‘์šฉ: ์‚ฝ์ž… ๊นŠ์ด, ์นจํˆฌ์„ฑ ๋“ฑ ํ‰๊ฐ€
  • ์ˆ˜ํ™” ๋„คํŠธ์›Œํฌ ๋ถ„์„: RDF, ์ˆ˜์†Œ๊ฒฐํ•ฉ ํžˆํŠธ๋งต ๋“ฑ
  • ์ž์œ ์—๋„ˆ์ง€/์นœํ™”๋„ ๊ณ„์‚ฐ: MM/PBSA, FEP/PMF ๋“ฑ ํ™œ์šฉ
  • ์žฌ๋ฃŒ ๋ฌผ์„ฑ ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ํ™•์‚ฐ, ๊ณ„๋ฉด ๊ฑฐ๋™, ๊ธฐ๊ณ„์  ํŠน์„ฑ ๋“ฑ

๐Ÿ” ๊ด€๋ จ ๋„๊ตฌ ๋น„๊ต ๋ฐ ์—ฐ๊ณ„ ๋ถ„์„

๋„๊ตฌํŠน์ง•
NAMD์ดˆ๋Œ€ํ˜• ์‹œ์Šคํ…œ, ์Šˆํผ์ปด ์ตœ์ ํ™”
AMBERํฌ์Šคํ•„๋“œ ๋‹ค์–‘์„ฑ, ์ƒ๋ฌผํ•™๊ณ„ ํŠนํ™”
CHARMM์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ•/๋ถ„์„ ๋„๊ตฌ ๋‹ค์–‘
OpenMMPython ๊ธฐ๋ฐ˜, GPU์— ๊ฐ•ํ•จ
LAMMPS์žฌ๋ฃŒ๊ณ„, ์ปค์Šคํ…€ ์ƒํ˜ธ์ž‘์šฉ์— ์ตœ์ 

์‹ค์ œ ์‹คํ—˜์—์„œ๋Š” GROMACS์™€ ์™ธ๋ถ€ ํˆด์„ ํ˜ผํ•ฉ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋„๊ตฌ ์„ ํƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”— ์™ธ๋ถ€ ๋ชจ๋“ˆ ์—ฐ๊ณ„ ์˜ˆ์‹œ

  • Docking โ†’ MD: DiffDock/AutoDock ๊ฒฐ๊ณผ๋ฅผ NVT/NPT ์•ˆ์ •ํ™” ํ›„ MD โ†’ ํฌ์ฆˆ ์œ ์ง€ ํ‰๊ฐ€
  • MD โ†’ Interaction Profiling: PLIP/Arpeggio๋กœ ์ƒํ˜ธ์ž‘์šฉ ๋ถ„์„
  • MD โ†’ ์นœํ™”๋„ ํ‰๊ฐ€: PRODIGY, MM/PBSA, FEP ๋“ฑ์œผ๋กœ ์ •๋Ÿ‰ ๋ถ„์„
  • ์ž๋™ํ™” ํ›„์ฒ˜๋ฆฌ: MDAnalysis, PyEMMA๋กœ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋ถ„์„
  • ์‹œ๊ฐํ™” ๋„๊ตฌ: VMD, PyMOL, ChimeraX ๋“ฑ์œผ๋กœ ์‹œ๊ฐํ™” ์ตœ์ ํ™”

โš ๏ธ ์‹ค๋ฌด ํŒ ๋ฐ ์ž์ฃผ ๊ฒช๋Š” ๋ฌธ์ œ

์„ฑ๋Šฅ ํŠœ๋‹

  • GPU PME ํ™œ์„ฑํ™”
  • nstlist, verlet-buffer-tolerance ์กฐ์ •
  • MPI/Thread ์ˆ˜ ๋ฏธ์„ธ ์กฐ์ •

์ž์ฃผ ๊ฒช๋Š” ์ด์Šˆ

  • ์ด์ƒํ•œ ๋ฐ€๋„/์••๋ ฅ: ๋ฐ”์†Œ์Šคํƒ€/์‹œ๊ฐ„์ƒ์ˆ˜ ์„ค์ • ํ™•์ธ
  • PBC ๊ผฌ์ž„: trjconv -pbc mol -center -ur compact
  • ์ด์˜จ ๊ฐ•๋„ ๋ฌธ์ œ: genion -conc ์‚ฌ์šฉ ํ›„ ์ฒด์  ํ™•์ธ
  • ๋ฉ”ํƒˆ ๊ณ„์—ด: ๋ช…์‹œ์ ์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ๊ฒฐํ•ฉ ์ œ์•ฝ ํ•„์š”

์ฒดํฌํฌ์ธํŠธ

  • ํฌ์Šคํ•„๋“œ์™€ ๋ฌผ๋ชจํ˜•์€ ์„ธํŠธ๋กœ ๊ตฌ์„ฑ
  • NVT/NPT ์ถฉ๋ถ„ํžˆ ์ˆ˜ํ–‰ ํ›„ MD ์ง„์ž…
  • ๋คํ”„ ๊ฐ„๊ฒฉ์€ ๋ชฉ์ /์„ฑ๋Šฅ์— ๋งž๊ฒŒ ์กฐ์ •
  • ๋ถ„์„์€ RMSD/RMSF + ์ ‘์ด‰ + ์—๋„ˆ์ง€ ๋“ฑ ๋ณตํ•ฉ ํ•ด์„ ํ•„์š”

์ง€๊ธˆ ๋ฐ”๋กœ GROMACS ๋ถ„์„ ํŽ˜์ด์ง€์—์„œ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด์„ธ์š”!


ยฉ 2025. All rights reserved.