1 subroutine store_parm(iparm)
3 C Store parameters of set IPARM
4 C valence angles and the side chains and energy parameters.
8 include 'DIMENSIONS.ZSCOPT'
9 include 'DIMENSIONS.FREE'
10 include 'COMMON.IOUNITS'
11 include 'COMMON.CHAIN'
12 include 'COMMON.INTERACT'
14 include 'COMMON.LOCAL'
15 include 'COMMON.TORSION'
16 include 'COMMON.FFIELD'
17 include 'COMMON.NAMES'
18 include 'COMMON.SBRIDGE'
19 include 'COMMON.SCROT'
20 include 'COMMON.SCCOR'
21 include 'COMMON.ALLPARM'
22 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
29 ww_all(5,iparm)=wcorr5
30 ww_all(6,iparm)=wcorr6
31 ww_all(7,iparm)=wel_loc
32 ww_all(8,iparm)=wturn3
33 ww_all(9,iparm)=wturn4
34 ww_all(10,iparm)=wturn6
36 ww_all(12,iparm)=wscloc
38 ww_all(14,iparm)=wtor_d
39 ww_all(15,iparm)=wstrain
40 ww_all(16,iparm)=wvdwpp
41 ww_all(17,iparm)=wbond
42 ww_all(19,iparm)=wsccor
43 c Store bond parameters
44 vbldp0_all(iparm)=vbldp0
47 nbondterm_all(i,iparm)=nbondterm(i)
49 vbldsc0_all(j,i,iparm)=vbldsc0(j,i)
50 aksc_all(j,i,iparm)=aksc(j,i)
51 abond0_all(j,i,iparm)=abond0(j,i)
54 c Store bond angle parameters
57 a0thet_all(i,iparm)=a0thet(i)
61 athet_all(j,i,ichir1,ichir2,iparm)=athet(j,i,ichir1,ichir2)
62 bthet_all(j,i,ichir1,ichir2,iparm)=bthet(j,i,ichir1,ichir2)
67 polthet_all(j,i,iparm)=polthet(j,i)
70 gthet_all(j,i,iparm)=gthet(j,i)
72 theta0_all(i,iparm)=theta0(i)
73 sig0_all(i,iparm)=sig0(i)
74 sigc0_all(i,iparm)=sigc0(i)
77 nthetyp_all(iparm)=nthetyp
78 ntheterm_all(iparm)=ntheterm
79 ntheterm2_all(iparm)=ntheterm2
80 ntheterm3_all(iparm)=ntheterm3
81 nsingle_all(iparm)=nsingle
82 ndouble_all(iparm)=ndouble
83 nntheterm_all(iparm)=nntheterm
85 ithetyp_all(i,iparm)=ithetyp(i)
90 aa0thet_all(i,j,k,iparm)=aa0thet(i,j,k)
92 aathet_all(l,i,j,k,iparm)=aathet(l,i,j,k)
96 bbthet_all(m,l,i,j,k,iparm)=bbthet(m,l,i,j,k)
97 ccthet_all(m,l,i,j,k,iparm)=ccthet(m,l,i,j,k)
98 ddthet_all(m,l,i,j,k,iparm)=ddthet(m,l,i,j,k)
99 eethet_all(m,l,i,j,k,iparm)=eethet(m,l,i,j,k)
105 ffthet_all(mm,m,l,i,j,k,iparm)=ffthet(mm,m,l,i,j,k)
106 ggthet_all(mm,m,l,i,j,k,iparm)=ggthet(mm,m,l,i,j,k)
115 c Store the sidechain rotamer parameters
119 nlob_all(iii,iparm)=nlob(iii)
121 bsc_all(j,iii,iparm)=bsc(j,iii)
123 censc_all(k,j,i,iparm)=censc(k,j,i)
127 gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i)
135 sc_parmin_all(j,i,iparm)=sc_parmin(j,i)
139 c Store the torsional parameters
141 do i=-ntortyp+1,ntortyp-1
142 do j=-ntortyp+1,ntortyp-1
143 v0_all(i,j,iblock,iparm)=v0(i,j,iblock)
144 nterm_all(i,j,iblock,iparm)=nterm(i,j,iblock)
145 nlor_all(i,j,iblock,iparm)=nlor(i,j,iblock)
146 do k=1,nterm(i,j,iblock)
147 v1_all(k,i,j,iblock,iparm)=v1(k,i,j,iblock)
148 v2_all(k,i,j,iblock,iparm)=v2(k,i,j,iblock)
150 do k=1,nlor(i,j,iblock)
151 vlor1_all(k,i,j,iparm)=vlor1(k,i,j)
152 vlor2_all(k,i,j,iparm)=vlor2(k,i,j)
153 vlor3_all(k,i,j,iparm)=vlor3(k,i,j)
158 c Store the double torsional parameters
160 do i=-ntortyp+1,ntortyp-1
161 do j=-ntortyp+1,ntortyp-1
162 do k=-ntortyp+1,ntortyp-1
163 ntermd1_all(i,j,k,iblock,iparm)=ntermd_1(i,j,k,iblock)
164 ntermd2_all(i,j,k,iblock,iparm)=ntermd_2(i,j,k,iblock)
165 do l=1,ntermd_1(i,j,k,iblock)
166 v1c_all(1,l,i,j,k,iblock,iparm)=v1c(1,l,i,j,k,iblock)
167 v1c_all(2,l,i,j,k,iblock,iparm)=v1c(2,l,i,j,k,iblock)
168 v2c_all(1,l,i,j,k,iblock,iparm)=v2c(1,l,i,j,k,iblock)
169 v2c_all(2,l,i,j,k,iblock,iparm)=v2c(2,l,i,j,k,iblock)
171 do l=1,ntermd_2(i,j,k,iblock)
172 do m=1,ntermd_2(i,j,k,iblock)
173 v2s_all(l,m,i,j,k,iblock,iparm)=v2s(l,m,i,j,k,iblock)
180 c Store parameters of the cumulants
181 do i=-nloctyp,nloctyp
183 b1_all(j,i,iparm)=b1(j,i)
184 b1tilde_all(j,i,iparm)=b1tilde(j,i)
185 b2_all(j,i,iparm)=b2(j,i)
189 cc_all(k,j,i,iparm)=cc(k,j,i)
190 ctilde_all(k,j,i,iparm)=ctilde(k,j,i)
191 dd_all(k,j,i,iparm)=dd(k,j,i)
192 dtilde_all(k,j,i,iparm)=dtilde(k,j,i)
193 ee_all(k,j,i,iparm)=ee(k,j,i)
197 c Store the parameters of electrostatic interactions
200 app_all(j,i,iparm)=app(j,i)
201 bpp_all(j,i,iparm)=bpp(j,i)
202 ael6_all(j,i,iparm)=ael6(j,i)
203 ael3_all(j,i,iparm)=ael3(j,i)
206 c Store sidechain parameters
209 aa_all(j,i,iparm)=aa(j,i)
210 bb_all(j,i,iparm)=bb(j,i)
211 r0_all(j,i,iparm)=r0(j,i)
212 sigma_all(j,i,iparm)=sigma(j,i)
213 chi_all(j,i,iparm)=chi(j,i)
214 augm_all(j,i,iparm)=augm(j,i)
215 eps_all(j,i,iparm)=eps(j,i)
219 chip_all(i,iparm)=chip(i)
220 alp_all(i,iparm)=alp(i)
222 c Store the SCp parameters
225 aad_all(i,j,iparm)=aad(i,j)
226 bad_all(i,j,iparm)=bad(i,j)
229 c Store disulfide-bond parameters
231 ss_depth_all(iparm)=ss_depth
240 c Store SC-backbone correlation parameters
244 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
246 do k=1,nterm_sccor(j,i)
247 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
248 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
255 c--------------------------------------------------------------------------
256 subroutine restore_parm(iparm)
258 C Store parameters of set IPARM
259 C valence angles and the side chains and energy parameters.
263 include 'DIMENSIONS.ZSCOPT'
264 include 'DIMENSIONS.FREE'
265 include 'COMMON.IOUNITS'
266 include 'COMMON.CHAIN'
267 include 'COMMON.INTERACT'
269 include 'COMMON.LOCAL'
270 include 'COMMON.TORSION'
271 include 'COMMON.FFIELD'
272 include 'COMMON.NAMES'
273 include 'COMMON.SBRIDGE'
274 include 'COMMON.SCROT'
275 include 'COMMON.SCCOR'
276 include 'COMMON.ALLPARM'
277 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
282 welec=ww_all(3,iparm)
283 wcorr=ww_all(4,iparm)
284 wcorr5=ww_all(5,iparm)
285 wcorr6=ww_all(6,iparm)
286 wel_loc=ww_all(7,iparm)
287 wturn3=ww_all(8,iparm)
288 wturn4=ww_all(9,iparm)
289 wturn6=ww_all(10,iparm)
290 wang=ww_all(11,iparm)
291 wscloc=ww_all(12,iparm)
292 wtor=ww_all(13,iparm)
293 wtor_d=ww_all(14,iparm)
294 wstrain=ww_all(15,iparm)
295 wvdwpp=ww_all(16,iparm)
296 wbond=ww_all(17,iparm)
297 wsccor=ww_all(19,iparm)
298 c Restore bond parameters
299 vbldp0=vbldp0_all(iparm)
302 nbondterm(i)=nbondterm_all(i,iparm)
304 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
305 aksc(j,i)=aksc_all(j,i,iparm)
306 abond0(j,i)=abond0_all(j,i,iparm)
309 c Restore bond angle parameters
312 a0thet(i)=a0thet_all(i,iparm)
317 athet(j,i,ichir1,ichir2)=athet_all(j,i,ichir1,ichir2,iparm)
318 bthet(j,i,ichir1,ichir2)=bthet_all(j,i,ichir1,ichir2,iparm)
323 polthet(j,i)=polthet_all(j,i,iparm)
326 gthet(j,i)=gthet_all(j,i,iparm)
328 theta0(i)=theta0_all(i,iparm)
329 sig0(i)=sig0_all(i,iparm)
330 sigc0(i)=sigc0_all(i,iparm)
333 nthetyp=nthetyp_all(iparm)
334 ntheterm=ntheterm_all(iparm)
335 ntheterm2=ntheterm2_all(iparm)
336 ntheterm3=ntheterm3_all(iparm)
337 nsingle=nsingle_all(iparm)
338 ndouble=ndouble_all(iparm)
339 nntheterm=nntheterm_all(iparm)
341 ithetyp(i)=ithetyp_all(i,iparm)
346 aa0thet(i,j,k)=aa0thet_all(i,j,k,iparm)
348 aathet(l,i,j,k)=aathet_all(l,i,j,k,iparm)
352 bbthet(m,l,i,j,k)=bbthet_all(m,l,i,j,k,iparm)
353 ccthet(m,l,i,j,k)=ccthet_all(m,l,i,j,k,iparm)
354 ddthet(m,l,i,j,k)=ddthet_all(m,l,i,j,k,iparm)
355 eethet(m,l,i,j,k)=eethet_all(m,l,i,j,k,iparm)
361 ffthet(mm,m,l,i,j,k)=ffthet_all(mm,m,l,i,j,k,iparm)
362 ggthet(mm,m,l,i,j,k)=ggthet_all(mm,m,l,i,j,k,iparm)
370 c Restore the sidechain rotamer parameters
375 nlob(iii)=nlob_all(iii,iparm)
377 bsc(j,iii)=bsc_all(j,iii,iparm)
379 censc(k,j,i)=censc_all(k,j,i,iparm)
383 gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm)
391 sc_parmin(j,i)=sc_parmin_all(j,i,iparm)
395 c Restore the torsional parameters
397 do i=-ntortyp+1,ntortyp-1
398 do j=-ntortyp+1,ntortyp-1
399 v0(i,j,iblock)=v0_all(i,j,iblock,iparm)
400 nterm(i,j,iblock)=nterm_all(i,j,iblock,iparm)
401 nlor(i,j,iblock)=nlor_all(i,j,iblock,iparm)
402 do k=1,nterm(i,j,iblock)
403 v1(k,i,j,iblock)=v1_all(k,i,j,iblock,iparm)
404 v2(k,i,j,iblock)=v2_all(k,i,j,iblock,iparm)
406 do k=1,nlor(i,j,iblock)
407 vlor1(k,i,j)=vlor1_all(k,i,j,iparm)
408 vlor2(k,i,j)=vlor2_all(k,i,j,iparm)
409 vlor3(k,i,j)=vlor3_all(k,i,j,iparm)
414 c Restore the double torsional parameters
416 do i=-ntortyp+1,ntortyp-1
417 do j=-ntortyp+1,ntortyp-1
418 do k=-ntortyp+1,ntortyp-1
419 ntermd_1(i,j,k,iblock)=ntermd1_all(i,j,k,iblock,iparm)
420 ntermd_2(i,j,k,iblock)=ntermd2_all(i,j,k,iblock,iparm)
421 do l=1,ntermd_1(i,j,k,iblock)
422 v1c(1,l,i,j,k,iblock)=v1c_all(1,l,i,j,k,iblock,iparm)
423 v1c(2,l,i,j,k,iblock)=v1c_all(2,l,i,j,k,iblock,iparm)
424 v2c(1,l,i,j,k,iblock)=v2c_all(1,l,i,j,k,iblock,iparm)
425 v2c(2,l,i,j,k,iblock)=v2c_all(2,l,i,j,k,iblock,iparm)
427 do l=1,ntermd_2(i,j,k,iblock)
428 do m=1,ntermd_2(i,j,k,iblock)
429 v2s(l,m,i,j,k,iblock)=v2s_all(l,m,i,j,k,iblock,iparm)
436 c Restore parameters of the cumulants
437 do i=-nloctyp,nloctyp
439 b1(j,i)=b1_all(j,i,iparm)
440 b1tilde(j,i)=b1tilde_all(j,i,iparm)
441 b2(j,i)=b2_all(j,i,iparm)
445 cc(k,j,i)=cc_all(k,j,i,iparm)
446 ctilde(k,j,i)=ctilde_all(k,j,i,iparm)
447 dd(k,j,i)=dd_all(k,j,i,iparm)
448 dtilde(k,j,i)=dtilde_all(k,j,i,iparm)
449 ee(k,j,i)=ee_all(k,j,i,iparm)
453 c Restore the parameters of electrostatic interactions
456 app(j,i)=app_all(j,i,iparm)
457 bpp(j,i)=bpp_all(j,i,iparm)
458 ael6(j,i)=ael6_all(j,i,iparm)
459 ael3(j,i)=ael3_all(j,i,iparm)
462 c Restore sidechain parameters
465 aa(j,i)=aa_all(j,i,iparm)
466 bb(j,i)=bb_all(j,i,iparm)
467 r0(j,i)=r0_all(j,i,iparm)
468 sigma(j,i)=sigma_all(j,i,iparm)
469 chi(j,i)=chi_all(j,i,iparm)
470 augm(j,i)=augm_all(j,i,iparm)
471 eps(j,i)=eps_all(j,i,iparm)
475 chip(i)=chip_all(i,iparm)
476 alp(i)=alp_all(i,iparm)
478 c Restore the SCp parameters
481 aad(i,j)=aad_all(i,j,iparm)
482 bad(i,j)=bad_all(i,j,iparm)
485 c Restore disulfide-bond parameters
487 ss_depth=ss_depth_all(iparm)
496 c Restore SC-backbone correlation parameters
500 nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
504 do k=1,nterm_sccor(j,i)
505 v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
506 v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)