Af2cv

Version 10 (Andrey Golovin, 09.12.2025 17:13)

1 1 Andrey Golovin
h1. Метадинамика
2 1 Andrey Golovin
3 1 Andrey Golovin
4 1 Andrey Golovin
*Создайте рабочую директорию.*
5 1 Andrey Golovin
6 1 Andrey Golovin
7 1 Andrey Golovin
* Координаты белка возьмите из записи PDB:1L2Y .
8 1 Andrey Golovin
* файл настроек для минимизации энергии "em.mdp":https://gitlab.sirius-web.org/golovin/protein-design/-/raw/master/pracs/p5/em.mdp 
9 2 Andrey Golovin
* файл настроек для "утряски" воды "pr.mdp":https://gitlab.sirius-web.org/golovin/protein-design/-/raw/master/pracs/p5/pr.mdp
10 2 Andrey Golovin
* файл настроек для молекулярной динамики "md.mdp":https://gitlab.sirius-web.org/golovin/protein-design/-/raw/master/pracs/p5/md.mdp
11 1 Andrey Golovin
12 1 Andrey Golovin
* Теперь построим файл топологии системы в силовом поле amber99sb и файл с координатами в формате Gromacs.
13 1 Andrey Golovin
<pre><code class="bash">
14 3 Andrey Golovin
gmx pdb2gmx -f p.pdb -o p -p  -ff amber99sb -water tip3p
15 1 Andrey Golovin
</code></pre>
16 1 Andrey Golovin
17 1 Andrey Golovin
* Делаем небольшой отступ в ячейке от белка.
18 1 Andrey Golovin
<pre><code class="bash">
19 3 Andrey Golovin
gmx editconf -f p.gro -o p_ec -d 1.5
20 1 Andrey Golovin
</code></pre>
21 1 Andrey Golovin
* Проведём оптимизацию геометрии системы, что бы удалить "плохие" контакты в молекуле.
22 1 Andrey Golovin
<pre><code class="bash">
23 3 Andrey Golovin
gmx grompp -f em -c p_ec -p  -o p_em -maxwarn 1
24 3 Andrey Golovin
gmx mdrun -deffnm dna_p -v
25 1 Andrey Golovin
</code></pre>
26 1 Andrey Golovin
*Отметье в отчёте изменение максимальной силы в ходе оптимизации геометрии. Знаесите начальное и конечное значение максимальной силы.
27 1 Andrey Golovin
28 1 Andrey Golovin
* Добавим в ячейку молекулы воды
29 5 Andrey Golovin
<pre><code class="bash">
30 3 Andrey Golovin
gmx genbox -cp p_em -p  -cs  -o p_s
31 1 Andrey Golovin
</code></pre>
32 1 Andrey Golovin
* Нейтрализуем заряд системы. Это делаем в два шага: строим tpr и запускаем genion. В выводе grompp обратите внимание на информацию о заряде системы.
33 5 Andrey Golovin
<pre><code class="bash">
34 3 Andrey Golovin
gmx grompp -f em -p  -c p_s -o p_s
35 3 Andrey Golovin
gmx genion -s p_s -o p_si -p  -neutral -conc 0.15
36 1 Andrey Golovin
</code></pre>
37 1 Andrey Golovin
* Проведём "утряску" воды:
38 1 Andrey Golovin
<pre><code class="bash">
39 3 Andrey Golovin
gmx grompp -f pr -c p_si -p  -o p_pr -maxwarn 1
40 3 Andrey Golovin
gmx mdrun -deffnm p_pr -v
41 1 Andrey Golovin
</code></pre>
42 5 Andrey Golovin
* Cравните визуально изменения в системах p_pr.gro и p_si.gro . Занесите наблюдения в отчёт. 
43 1 Andrey Golovin
* Запускаем тестовое моделирование молекулярной динамики.
44 1 Andrey Golovin
<pre><code class="bash">
45 3 Andrey Golovin
gmx grompp -f md -c p_pr -p  -o p_md -maxwarn 1
46 3 Andrey Golovin
gmx mdrun  -deffnm p_md -v -nsteps 1000000 -ntomp 4
47 1 Andrey Golovin
</code></pre>
48 1 Andrey Golovin
Просмотреть ход счёта можно в файле p_md.log
49 1 Andrey Golovin
50 6 Andrey Golovin
h3. Метадинамика 
51 1 Andrey Golovin
52 1 Andrey Golovin
* Попробуем странную штуку https://github.com/spiwokv/af2cv/tree/main
53 8 Andrey Golovin
* Pickle для белка можно сделать в "ColabFold":https://github.com/sokrypton/ColabFold?tab=readme-ov-file с выбором AlphaFold2_mmseqs2 и обязательно поставить галочку Save All. Pickle будет в архиве.
54 1 Andrey Golovin
* Вероятно, что при утряске воды система будет взрываться, надо в em.mdp  поменять integrator на steep. И потом:
55 1 Andrey Golovin
56 4 Andrey Golovin
<pre><code class="bash">
57 3 Andrey Golovin
gmx grompp -f em -c p_si -p  -o p_em2 -maxwarn 1
58 3 Andrey Golovin
gmx mdrun -deffnm p_em2 -v
59 3 Andrey Golovin
gmx grompp -f pr -c p_em2 -p  -o p_pr -maxwarn 1
60 3 Andrey Golovin
gmx mdrun -deffnm p_pr -v
61 1 Andrey Golovin
</code></pre>
62 1 Andrey Golovin
63 1 Andrey Golovin
* Скопируйте себе  библиотеку для этой "CV":https://gitlab.sirius-web.org/golovin/protein-design/-/raw/master/pracs/p5/AFDistProb.cpp?inline=false и файл "plumed.dat":https://gitlab.sirius-web.org/golovin/protein-design/-/raw/master/pracs/p5/plumed.dat
64 1 Andrey Golovin
65 3 Andrey Golovin
* В начале файла надо внести изменения в путь к библиотеке с CV
66 9 Andrey Golovin
>  Для варианта  дизайна этого пептида  надо догадаться как поменять номера атомов в двух местах: WHOLEMOLECULES и ATOMS=
67 1 Andrey Golovin
* Запускаем 
68 4 Andrey Golovin
69 1 Andrey Golovin
<pre><code class="bash">
70 3 Andrey Golovin
gmx  mdrun -deffnm p_md -ntomp 4 -v  -plumed plumed.dat
71 1 Andrey Golovin
</code></pre>
72 1 Andrey Golovin
73 10 Andrey Golovin
74 10 Andrey Golovin
h2.  Анализ метадинамики 
75 10 Andrey Golovin
76 10 Andrey Golovin
* В ходе расчета у вас получились файлы со структурами : trr и xtc
77 10 Andrey Golovin
* Файл HILLS это информация об наложенных потенциалах, это тот самый "песок"
78 10 Andrey Golovin
* Файл COLVAR это файл в который сохраняли значения CV и сумарное наложенный bias. 
79 10 Andrey Golovin
* Посомотрите на результат в PyMol
80 10 Andrey Golovin
81 10 Andrey Golovin
<pre>
82 10 Andrey Golovin
		gmx trjconv -f p_md -s p_md -o view1.pdb -skip 20 -pbc mol
83 10 Andrey Golovin
		или
84 10 Andrey Golovin
		trjconv -f p_md.xtc -s p_md.tpr -o view2.pdb -skip 20 -fit rot+trans
85 10 Andrey Golovin
</pre>
86 10 Andrey Golovin
87 10 Andrey Golovin
88 10 Andrey Golovin
89 10 Andrey Golovin
* Воспользуйтесь plumed sum_hills для востановления поверхности свободной энергии
90 10 Andrey Golovin
* Используя matplotlib и подобное постройте график
91 10 Andrey Golovin
* Попробуйте придумать способ для оценки сходимости
92 10 Andrey Golovin
* Давайте попробуем построить график FES  на основе перевзвешенных данных. 
93 10 Andrey Golovin
94 10 Andrey Golovin
<pre>
95 10 Andrey Golovin
		 plumed driver --plumed rew.dat --noatoms
96 10 Andrey Golovin
</pre>
97 10 Andrey Golovin
98 10 Andrey Golovin
* Постройте график и сравните с sum_hills
99 10 Andrey Golovin
* Возможно это не самая лучшая переменная, давайте попробуем превзвесить на радиус инерции (предположительное распрямление белка)
100 10 Andrey Golovin
* Расчитаем RG c помошью этих директив в отдельном dat файле 
101 10 Andrey Golovin
		
102 10 Andrey Golovin
<pre>
103 10 Andrey Golovin
		rg: GYRATION TYPE=RADIUS ATOMS=1-284
104 10 Andrey Golovin
		PRINT ARG=rg STRIDE=1 FILE=rg
105 10 Andrey Golovin
</pre>
106 10 Andrey Golovin
107 10 Andrey Golovin
* Расчёт новой переменной будет сделан в новый файл
108 10 Andrey Golovin
	
109 10 Andrey Golovin
<pre>
110 10 Andrey Golovin
		plumed driver --plumed rg.dat --mf_trr p_md.trr
111 10 Andrey Golovin
</pre>
112 10 Andrey Golovin
113 10 Andrey Golovin
* Теперь надо скомбинировать данные meta.rbias из COLVAR и значения радиуса гирации в один новый файл формата COLVAR , обратите внимание на разницу в шаге. Вот некоторые функции в помощь
114 10 Andrey Golovin
115 10 Andrey Golovin
<pre>
116 10 Andrey Golovin
		def GetPlumedColumns(f):
117 10 Andrey Golovin
			with open(f,'r') as dat:
118 10 Andrey Golovin
			arr = dat.readline().split()
119 10 Andrey Golovin
			return arr[2:]
120 10 Andrey Golovin
121 10 Andrey Golovin
		def LoadNumpy(f,names):
122 10 Andrey Golovin
			a = np.loadtxt(f)
123 10 Andrey Golovin
			df = pd.DataFrame()
124 10 Andrey Golovin
			for i,n in enumerate(names):
125 10 Andrey Golovin
			df[n] = a[:,i]
126 10 Andrey Golovin
			return copy.deepcopy(df)
127 10 Andrey Golovin
128 10 Andrey Golovin
		def combinevars(.......):
129 10 Andrey Golovin
			c = LoadNumpy(file, cnames )
130 10 Andrey Golovin
			gr = LoadNumpy(file, danames )
131 10 Andrey Golovin
			out =  pd.merge(crf, da, on='time')
132 10 Andrey Golovin
</pre>
133 10 Andrey Golovin
134 10 Andrey Golovin
* Расчитайте график свободной энергии в завимисомти от радиуса инерции, надо сделать новый rev.dat
135 10 Andrey Golovin
* Попрбуйте сделать анализ  от двух переменных RG и alfascore
136 10 Andrey Golovin
* Может есть силы поискать другие переменные которые могут лучше описывать процесс : https://www.plumed.org/doc-v2.9/user-doc/html/_colvar.html
137 10 Andrey Golovin
* Для выбранной переменной сделайте анализ мутантного белка и ранее стабилизированного белка, данные лежат выше
138 10 Andrey Golovin
* 
139 10 Andrey Golovin
140 10 Andrey Golovin
h2.  Подсказка 
141 10 Andrey Golovin
142 10 Andrey Golovin
> Общий пайплан построения FES : Подготовить COLVAR (слить, фильтровать) - Адаптировать rew.dat - Запустить plumed driver --plumed rew.dat --noatoms
143 10 Andrey Golovin
144 10 Andrey Golovin
* На hub запуск Plumed: 
145 10 Andrey Golovin
 
146 10 Andrey Golovin
<pre>
147 10 Andrey Golovin
		/home/anur/miniconda3/envs/plumed/bin/plumed driver --plumed rew2d.dat --noatoms
148 10 Andrey Golovin
</pre>
149 10 Andrey Golovin
150 10 Andrey Golovin
* Для работы дома надо подготовить все возможные COLVAR и положить их в свою директорию на hub
151 10 Andrey Golovin
152 10 Andrey Golovin
153 1 Andrey Golovin