본문 바로가기
Project/Molecular dynamics and Biology

3. Research method[The elasticity of alpha-helix, pi-helix]

by sonpang 2021. 11. 3.
반응형

나선 구조(helix)를 하나의 탄성 있는 막대로 생각한다. 임의의 여러 나선 구조(helix)를 만든 다음 탄성 계수(bending-modulus) 및 시간별 비틀림도(torsion)를 MATLAB을 이용하여 계산한다.

 

3.1. 물리적 모델링

나선 구조(helix)의 구조는 오른쪽 그림과 같다. 이때 NAMD를 이용하여 나선 구조(helix) 위에 있는 알파 탄소(alpha-carbon)들의 좌표 값(위치)을 얻을 수 있다. 이렇게 나타내어진 탄소 중 연속된 세 개의 탄소들을 연결하였을 때 나타내어지는 모형을 슬라이스(slice)고 한다. 임의의 슬라이스는 삼각형을 이루고, alpha-carbon의 좌표 값이 슬라이스의 꼭짓점이 된다. 탄소의 좌표 값을 사용하여 각 슬라이스의 질량 중심을 구할 수 있게 되며, 이렇게 구해진 질량 중심을 기준으로 하여 좌표계를 설정해 줄 수 있게 된다.

 

이때 alpha-helix의 경우에는 한 회전 당, 3.62개의 아미노산이 반복된다. 이 아미노산의 골격(backbone)에 존재하는 alpha-carbon 꼭짓점으로 두어 슬라이스를 이루어줄 수 있게 된다. 이때 한 회전 당 약 4개의 alpha-carbon이 나타나게 되므로 4의 배수 번째로 나타나지는 alpha-carbon은 무시하고 slice를 형성 한다.

[그림 1] 좌표계 설정

좌표계를 설정하는 방법은 다음과 같다.

  • 이웃하고 있는 두 slice의 중심으로부터 단위 벡터 e_3를 구한다.
  • 삼각형의 중심과 임의의 두 변의 중심을 잇는 방향의 벡터 e’를 구한다.
  • 앞에서 구한 e_3과 e’를 외적하여 e_3 X e’ = e_2를 구한다.
  • 같은 방법으로 e_1 = e_2 X e_3을 구해준다.
  •  각각의 모든 슬라이스에 위 과정으로 좌표계를 설정한다.

 

위 과정을 통해 만든 좌표계 중 이웃하고 있는 좌표계는 회전 행렬로 연관이 되어 있게 되어 다음과 같이 표현할 수 있다.

이때 조직화되어 있는 프레임 내에서의 변화는 프레네 공식(Frenet formulas)를 통해 알아낼 수 있다.

이때, e_ijk는 반대칭 텐서(tensor), (w_1(s), w_2(s), w_3(s))는 일반화된 비틀림이다. 그러면 다음과 같은 수식을 얻을 수 있다.

이때, 

이므로 s와 s’ 사이의 구간을 n개로 나눈 구간에서 위 식의 U를 구할 수 있게 된다.

선형 탄성이 존재한다면, 나선 구조(helix)의 탄성 에너지는

를 만족하는 

제곱에 비례하게 된다.

이때 {w_0i}는 고유 비틀림의 집합을 나타내고 k_B는 볼츠만 상수, T는 온도, alpha_i는 탄성 계수(bending-modulus)를 나타낸다.

 

MD 프로그램을 통해 비틀림도(torsion)에 대한 확률 분포 

를 구할 수 있게 된다. E에 대한 식을 해석하면 이 분포는 정규 분포임을 알 수가 있다. 이렇게 구해진 확률 분포에 자연 로그를 취한 값은 곧 나선 구조(helix)에 저장된 에너지와 같게 된다. 때 에너지에 대한 함수는 이차함수의 꼴을 가지게 된며, 구해진 이차함수와 자연 로그를 씌운 확률 분포 함수를 대응시켜서 탄성 계수를(bending-modulus) 구할 수 있다.

위 과정을 거쳐 여러 나선 구조(helix)의 탄성 계수(bending-modulus)를 구하고 비교 할 수 있다.

 

 

3.2. 연구과정

3.2.1. 사전탐색

기존 문헌에 나와 있는 alpha-나선구조의 수학적 모델링을 이용하여, 이를 pi-나선구조, 3_10-나선구조 로 확장해 보았다. alpha-나선구조는 wormlike chain(WLC) 모델을 이용하여 나선의 persistence length를 구할 수 있다. persistence length와 영률이 어떻게 연결되어 있는지 수식적으로 표현해 본다.

 

3.2.2. VMD

[그림 2] VMD 초기화면

그래픽 프로그램의 일종인 VMD(Visual Molecular Dynamics)를 이용하여 각각의 나선구조 들을 구성하고, 분자동력학 프로그램인 NAMD(NAnoscale Molecular Dynamics program) 사용한다. 여러 가지 아미노산의 조합으로 alpha-나선구조를 구성해 보고 아미노산 개수를 달리하여 전체 길이가 다른 alpha나선구조를 만들었다. 또한, VMD를 이용하여 개개의 아미노산 종류를 바꾸거나, 간단한 스크립트를 이용하여 아미노산의 구성을 바꾸어 보았다.

 

VMD를 활용하여 나선구조를 만든다.

  • extension→modeling→molfacture 로 들어간다.
  • protein builder를 누른다.
  • 나선구조에 맞는 phi 각도와 psi 각도를 입력한 후, 아미노산을 충분한 만큼 골라서 (본 연구에서는 30개로 했다) 나선구조를 만든다.
  • 위에서 만든 나선구조를 pdb파일로 저장한다.
  • 앞서 만든 pdb 파일로 pdb 파일과 psf 파일을 만든다. (여기에서 만든 파일의 이름 의 끝에는 autopsf.pdb와 autopsf.psf 이라고 적혀 있다).

[그림 3] protein builder
[그림 4] protein builder
[그림 5] 나선구조표현(실제 본 팀은 시뮬레이션 결과 영상 제작 때는 NewCartoon을 사용하였다. 그 이유는 물리적 모델로 생각하였을 때 가장 나선구조를 잘 표현해 낼 수 있었기 때문이다.)
[그림 6] 나선구조표현
[그림 7] PDB : 이 과정에서는 실제로 PDB에 생성된 알라닌의 개수를 알 수 있다.(또한 하단의 B value는 결정의 균형을 의미하여 All Alanin이라는 것을 확인 할 수 있다.)
[그림 8] PSF : PDB로 PSF파일을 만든다.
[그림 9] Contact Map : 이 과정에서는 실제로 PDB에 생성된 알라닌의 개수를 알 수 있다.

WaterBox를 조성한다.

  • TKconsole 에서 나선구조의 최대 좌표와 최소 좌표를 구한다.
  • WaterBox메뉴에 들어간다.
  • WaterBox only기능은 취소한다.
  • 앞서 만든 나선구조의 autopsf.pdb 파일과 autopsf.psf 파일을 입력한다.
  • pdb 파일과 psf 파일을 입력한다.
  • WaterBox의 최대 좌표와 최소 좌표를 입력한다. 이때, 앞서 구한 나선구조의 좌표를 참고하여 나선구조가 WaterBox 안에 들어가도록 하고 WaterBox의 경계에서 10Å(옹스트롬) 정도 떨어지게 한다. (주기적 경계 조건(periodic boundary conditions)에 의해 이웃하는 단백질과의 상호작용이 결과에 영향을 미칠 수 있기 때문이다.)
  • solvate를 눌러 WaterBox를 완성한다.
  • University of Illnois 파일에서 solvate.pdb 파일과 solvate.psf 파일을 다른 파일에 복사해 저장한다.

[그림 10] Water Box 조성

conf파일을 조성한다.

  • 앞서 만든 나선구조의 autopsf.pdb 파일과 autopsf.psf 파일을 넣는다.
  • potential parameter 에 사용하려는 inp 파일 을 넣는다.
  • Periodic Boundary Conditions 에서 cellBasisVector 1, 2, 3에 각각 Waterbox의 x축 방향 길이, y 축 방향 길이, z축 방향 길이를 넣는다. 이때 TKconsole 에서 sovate.pdb의 최대 좌표와 최소 좌표를 구하면 편리하다.
  • cellOrigin에 Waterbox 의 중심 좌표를 넣는다.
  • conf 파일에서 run에서 프레임 수를 지정한다.(본 연구에서는 1000(pc),5000(Work Station) 프레임으로 했다)

[그림 11] conf 파일 생성 : Frame수와 파라미터 설정 / PDB파일과 PSF파일 위치 설정, 중심좌표 대입

 

3.2.3. NAMD (NAnoscale Molecular Dynamics program)

VMD를 이용하여 분자동력학에 필요한 초기 입력파일들을 구성한다. 분자동력학 시뮬레이션에서 중요한 force field는 inp파일을 활용하여 설정한다. alpha-나선구조의 시뮬레이션은 DGIST에서 보유하고 있는 워크스테이션을 활용하도록 한다. 워크스테이션의 스케줄러를 이용하여 NAMD를 실행시키고, 리눅스 기반 환경을 사용하였다.

 

NAMD설정

PC, Work Station, 슈퍼컴퓨터에서 NAMD2를 이용하여 dcd파일을 생성한다. (컴퓨터→시스템 속성→고급→환경변수) 순서로 들어 간 후, path를 편집해서 namd2 의 디렉토리를 넣는다. 이렇게 하면 명령 프롬프트에서 현재 위치에 상관없이 namd2를 실행할 수 있다. 명령 프롬프트에서 namd2 를 conf 파일과 함께 실행시키면 dcd파일에 생성된다.

 

NAMD실행

NAMD를 우선 pc 상에서 실행시켜보고, 오류가 없을 경우 워크스테이션을 이용하여 분자동력학 시뮬레이션을 실행한다.

 

나선구조 추출하기

단백질에 해당하는 원자 번호가 어디까지인지 컴퓨터가 인식할 수 있도록 하는 index파일을 만들어준다. ind파일은 TK Console에서 해당 디렉토리로 이동한 다음 원자 번호를 추출하는 코드를 작성하여 파일을 만든다. (본 팀은 이미 conf파일을 생성할 때 ind파일을 만든바 있다.) 이때 conf파일에서 설정한 PDB파일을 열고 dcd파일을 데이터 처리하여 frame에 따른 나선구조를 관찰한다.

[그림 12] ind 파일 생성
[그림 13] inp 파일 : NAMD를 실행할 때 필요, 포텐셜과 파라미터를 포함한다.

 

3.2.4. 데이터 분석

시뮬레이션 결과를 시각적으로 검토

[그림 14] 환경변수에서 NAMD경로 설정
[그림 15] NAMD 가동

워크스테이션에서의 시뮬레이션이 마무리 되면 VMD에서 확인 가능한 형태로 파일을 저장하여 pc 로 옮겨 확인한다. 시뮬레이션 결과를 시각적으로 확인 해 보고 동영상으로 만들어 본다. VMD 상의 해석 도구(tool)를 이용하여 시뮬레이션 결과를 분석해 본다.

[그림 16] NAMD 가동 : 마지막 줄에서 데이터용량과 걸린 시간을 알 수 있다.
[그림 17] log : NAMD실행의 성공여부를 알 수 있음과 동시에 워크스테이션으로 욻겨서 NAMD를 가동시킬시 NAMD실행 관찰에 유용하게 사용된다.
[그림 18] frame 5002
[그림 19] Temperature
[그림 20] RSMD Trajectory Tool : 결과 분석(이때 log파일 사용)
[그림 21] frame에 따른 RMSD
[그림 22] VMD 영상 설정 : frame에 따른 사진 생성
[그림 23] Video Mach를 통한 영상 전환

MATLAB을 활용하여 Persistence-length를 구하고 서로 비교하기

  • 앞서 구한 pdb의 alpha-Carbon 넘버 입력
  • alpha-Carbon을 4개씩 묶은 다음 그중에 3개씩 이루어진 슬라이스 구성
  • 세 직교 벡터 구성 (e_1, e_2, e_3)
  • 위에서 구한 세 벡터로 rotation Matrix U 구하기
  • U를 이용하여 Omega 구하기
  • Omega를 이용하여 w_1, w_2, w_3구하기
  • w_1, w_2, w_3의 값 분포를 히스토그램으로 나타내기
  • 정규화 후 –log 연산이 잘 되도록 구간 선정
  • 포물선으로 fitting
  • plot. 그리고 fit가 제대로 되었는지 overlap으로 확인
  • fitting으로 얻은 포물선의 방정식의 계수를 이용하여 탄성계수(bending-modulus),비틀림도(torsion)구하기
반응형

댓글