http://www.ks.uiuc.edu/Training/Tutorials/namd/namd-tutorial-unix.pdf
설치
•
간단한 등록이 필요.
•
설치 후 압축 풀면 아래와 같은 binary들이 있다.
Tutorial
•
6pti.pdb 파일 받기
•
PDB 파일에서 단백질 / 물 분자 분리하기
grep -v '^HETATM' 6PTI.pdb > output/6PTI_protein.pdb
grep 'HOH' 6PTI.pdb > output/6PTI_water.pdb
Plain Text
복사
psf 파일 생성
•
Topology 파일 받기
•
VMD 실행해서
•
Topology 파일 불러오기
topology toppar/top_all22_prot.inp
Shell
복사
•
Segment 만들고 N-terminal과 C-terminal에 각각 ACE와 CT2를 붙이기
◦
ACE와 CT2는 patch residue의 일종이고, topology file을 열어보면 그 안에 정의되어 있다.
segment BPTI {
pdb output/6PTI_protein.pdb
first ACE
last CT2
}
Shell
복사
•
Disulfide bond를 붙인다.
patch DISU BPTI:5 BPTI:55
patch DISU BPTI:14 BPTI:38
patch DISU BPTI:30 BPTI:51
Shell
복사
•
ILE residue에서는 CD의 이름이 CD1이므로 alias가 필요하다.
alias atom ILE CD1 CD
Shell
복사
•
원자 좌표를 읽는다
coordpdb output/6PTI_protein.pdb BPTI
Shell
복사
•
새로운 psf 파일을 만든다.
writepsf output/bpti.psf
Shell
복사
•
수소 원자가 붙은 pdb 파일을 만들기 위해 수소 원자들의 위치를 계산한다.
guesscoord
Shell
복사
•
새로운 pdb 파일을 생성한다.
writepdb output/6pti.pdb
Shell
복사
Simulation 수행
•
Configure 파일 만들기
# NAMD configuration file for BPTI
# molecular system
structure output/bpti.psf
# force field
paratypecharmm on
parameters toppar/par_all22_prot.inp
exclude scaled1-4
1-4scaling 1.0
# approximations
switching on
switchdist 8
cutoff 12
pairlistdist 13.5
margin 0
stepspercycle 20
#integrator
timestep 1.0
#output
outputenergies 10
outputtiming 100
binaryoutput no
# molecular system
coordinates output/bpti.pdb
#output
outputname output/bpti_out1
dcdfreq 1000
#protocol
temperature 0
reassignFreq 1000
reassignTemp 25
reassignIncr 25
reassignHold 300
#script
minimize 1000
run 20000
Shell
복사
•
시뮬레이션 수행
$path/charmrun ++local +pN $path/namd2 configure_file_name > output_file_name &
Shell
복사
•
VMD에서 new molecule로 psf, dcd 파일을 순서대로 읽으면 시각화가 가능하다.
topology top_all27_prot_lipid.inp
pdbalias residue HIS HSE
pdbalias atom ILE CD1 CD
segment U {pdb af2.pdb}
coordpdb af2.pdb U
guesscoord
writepdb af2o.pdb
writepsf af2o.psf
Shell
복사
set outfile [open rmsd.dat w]
set nf [molinfo top get numframes]
set frame0 [atomselect top "protein and backbone and noh" frame 0]
set sel [atomselect top "protein and backbone and noh"]
for { set i 1 } { $i <= $nf } { incr i } {
$sel frame $i
$sel move [measure fit $sel $frame0]
puts $outfile "[measure rmsd $sel $frame0]"
}
close $outfile
Shell
복사
mdtraj
conda install -c conda-forge mdtraj
Python
복사