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,ii,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 ww_all(22,iparm)=wliptran
44 c Store bond parameters
45 vbldp0_all(iparm)=vbldp0
48 nbondterm_all(i,iparm)=nbondterm(i)
50 vbldsc0_all(j,i,iparm)=vbldsc0(j,i)
51 aksc_all(j,i,iparm)=aksc(j,i)
52 abond0_all(j,i,iparm)=abond0(j,i)
55 c Store bond angle parameters
58 a0thet_all(i,iparm)=a0thet(i)
62 athet_all(j,i,ichir1,ichir2,iparm)=athet(j,i,ichir1,ichir2)
63 bthet_all(j,i,ichir1,ichir2,iparm)=bthet(j,i,ichir1,ichir2)
68 polthet_all(j,i,iparm)=polthet(j,i)
71 gthet_all(j,i,iparm)=gthet(j,i)
73 theta0_all(i,iparm)=theta0(i)
74 sig0_all(i,iparm)=sig0(i)
75 sigc0_all(i,iparm)=sigc0(i)
78 nthetyp_all(iparm)=nthetyp
79 ntheterm_all(iparm)=ntheterm
80 ntheterm2_all(iparm)=ntheterm2
81 ntheterm3_all(iparm)=ntheterm3
82 nsingle_all(iparm)=nsingle
83 ndouble_all(iparm)=ndouble
84 nntheterm_all(iparm)=nntheterm
86 ithetyp_all(i,iparm)=ithetyp(i)
89 do i=-maxthetyp1,maxthetyp1
90 do j=-maxthetyp1,maxthetyp1
91 do k=-maxthetyp1,maxthetyp1
92 aa0thet_all(i,j,k,iblock,iparm)=aa0thet(i,j,k,iblock)
94 aathet_all(l,i,j,k,iblock,iparm)=aathet(l,i,j,k,iblock)
98 bbthet_all(m,l,i,j,k,iblock,iparm)=
99 & bbthet(m,l,i,j,k,iblock)
100 ccthet_all(m,l,i,j,k,iblock,iparm)=
101 &ccthet(m,l,i,j,k,iblock)
102 ddthet_all(m,l,i,j,k,iblock,iparm)=
103 &ddthet(m,l,i,j,k,iblock)
104 eethet_all(m,l,i,j,k,iblock,iparm)=
105 &eethet(m,l,i,j,k,iblock)
111 if (iblock.eq.1) then
112 ffthet_all1(mm,m,l,i,j,k,iparm)=
113 & ffthet(mm,m,l,i,j,k,iblock)
114 ggthet_all1(mm,m,l,i,j,k,iparm)=
115 &ggthet(mm,m,l,i,j,k,iblock)
117 ffthet_all2(mm,m,l,i,j,k,iparm)=
118 & ffthet(mm,m,l,i,j,k,iblock)
119 ggthet_all2(mm,m,l,i,j,k,iparm)=
120 &ggthet(mm,m,l,i,j,k,iblock)
131 c Store the sidechain rotamer parameters
134 cc write (iout,*) i,"storeparm1"
136 nlob_all(iii,iparm)=nlob(iii)
138 bsc_all(j,iii,iparm)=bsc(j,iii)
140 censc_all(k,j,i,iparm)=censc(k,j,i)
144 gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i)
152 sc_parmin_all(j,i,iparm)=sc_parmin(j,i)
156 c Store the torsional parameters
158 do i=-ntortyp+1,ntortyp-1
159 do j=-ntortyp+1,ntortyp-1
160 v0_all(i,j,iblock,iparm)=v0(i,j,iblock)
161 nterm_all(i,j,iblock,iparm)=nterm(i,j,iblock)
162 nlor_all(i,j,iblock,iparm)=nlor(i,j,iblock)
163 do k=1,nterm(i,j,iblock)
164 v1_all(k,i,j,iblock,iparm)=v1(k,i,j,iblock)
165 v2_all(k,i,j,iblock,iparm)=v2(k,i,j,iblock)
167 do k=1,nlor(i,j,iblock)
168 vlor1_all(k,i,j,iparm)=vlor1(k,i,j)
169 vlor2_all(k,i,j,iparm)=vlor2(k,i,j)
170 vlor3_all(k,i,j,iparm)=vlor3(k,i,j)
175 c Store the double torsional parameters
177 do i=-ntortyp+1,ntortyp-1
178 do j=-ntortyp+1,ntortyp-1
179 do k=-ntortyp+1,ntortyp-1
180 ntermd1_all(i,j,k,iblock,iparm)=ntermd_1(i,j,k,iblock)
181 ntermd2_all(i,j,k,iblock,iparm)=ntermd_2(i,j,k,iblock)
182 do l=1,ntermd_1(i,j,k,iblock)
183 v1c_all(1,l,i,j,k,iblock,iparm)=v1c(1,l,i,j,k,iblock)
184 v1c_all(2,l,i,j,k,iblock,iparm)=v1c(2,l,i,j,k,iblock)
185 v2c_all(1,l,i,j,k,iblock,iparm)=v2c(1,l,i,j,k,iblock)
186 v2c_all(2,l,i,j,k,iblock,iparm)=v2c(2,l,i,j,k,iblock)
188 do l=1,ntermd_2(i,j,k,iblock)
189 do m=1,ntermd_2(i,j,k,iblock)
190 v2s_all(l,m,i,j,k,iblock,iparm)=v2s(l,m,i,j,k,iblock)
197 c Store parameters of the cumulants
199 do i=-nloctyp+1,nloctyp-1
202 bnew1_all(ii,j,i,iparm)=bnew1(ii,j,i)
203 bnew2_all(ii,j,i,iparm)=bnew2(ii,j,i)
208 ccnew_all(k,j,i,iparm)=ccnew(k,j,i)
209 ddnew_all(k,j,i,iparm)=ddnew(k,j,i)
215 eenew_all(k,j,ii,i,iparm)=eenew(k,j,ii,i)
220 e0new_all(ii,i,iparm)=e0new(ii,i)
224 do i=-nloctyp,nloctyp
226 b_all(j,i,iparm)=b(j,i)
230 ccold_all(k,j,i,iparm)=ccold(k,j,i)
231 ddold_all(k,j,i,iparm)=ddold(k,j,i)
232 eeold_all(k,j,i,iparm)=eeold(k,j,i)
237 c Store the parameters of electrostatic interactions
240 app_all(j,i,iparm)=app(j,i)
241 bpp_all(j,i,iparm)=bpp(j,i)
242 ael6_all(j,i,iparm)=ael6(j,i)
243 ael3_all(j,i,iparm)=ael3(j,i)
246 c Store sidechain parameters
249 aa_aq_all(j,i,iparm)=aa_aq(j,i)
250 bb_aq_all(j,i,iparm)=bb_aq(j,i)
251 aa_lip_all(j,i,iparm)=aa_lip(j,i)
252 bb_lip_all(j,i,iparm)=bb_lip(j,i)
253 r0_all(j,i,iparm)=r0(j,i)
254 sigma_all(j,i,iparm)=sigma(j,i)
255 chi_all(j,i,iparm)=chi(j,i)
256 augm_all(j,i,iparm)=augm(j,i)
257 eps_all(j,i,iparm)=eps(j,i)
258 epslip_all(j,i,iparm)=epslip(j,i)
262 chip_all(i,iparm)=chip(i)
263 alp_all(i,iparm)=alp(i)
265 c Store the SCp parameters
268 aad_all(i,j,iparm)=aad(i,j)
269 bad_all(i,j,iparm)=bad(i,j)
272 c Store disulfide-bond parameters
281 c Store SC-backbone correlation parameters
282 do i=-nsccortyp,nsccortyp
283 do j=-nsccortyp,nsccortyp
285 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
289 do k=1,nterm_sccor(j,i)
290 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
291 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
298 c--------------------------------------------------------------------------
299 subroutine restore_parm(iparm)
301 C Store parameters of set IPARM
302 C valence angles and the side chains and energy parameters.
306 include 'DIMENSIONS.ZSCOPT'
307 include 'DIMENSIONS.FREE'
308 include 'COMMON.IOUNITS'
309 include 'COMMON.CHAIN'
310 include 'COMMON.INTERACT'
312 include 'COMMON.LOCAL'
313 include 'COMMON.TORSION'
314 include 'COMMON.FFIELD'
315 include 'COMMON.NAMES'
316 include 'COMMON.SBRIDGE'
317 include 'COMMON.SCROT'
318 include 'COMMON.SCCOR'
319 include 'COMMON.ALLPARM'
320 integer i,ii,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
325 welec=ww_all(3,iparm)
326 wcorr=ww_all(4,iparm)
327 wcorr5=ww_all(5,iparm)
328 wcorr6=ww_all(6,iparm)
329 wel_loc=ww_all(7,iparm)
330 wturn3=ww_all(8,iparm)
331 wturn4=ww_all(9,iparm)
332 wturn6=ww_all(10,iparm)
333 wang=ww_all(11,iparm)
334 wscloc=ww_all(12,iparm)
335 wtor=ww_all(13,iparm)
336 wtor_d=ww_all(14,iparm)
337 wstrain=ww_all(15,iparm)
338 wvdwpp=ww_all(16,iparm)
339 wbond=ww_all(17,iparm)
340 wsccor=ww_all(19,iparm)
341 wliptran=ww_all(22,iparm)
342 c Restore bond parameters
343 vbldp0=vbldp0_all(iparm)
346 nbondterm(i)=nbondterm_all(i,iparm)
348 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
349 aksc(j,i)=aksc_all(j,i,iparm)
350 abond0(j,i)=abond0_all(j,i,iparm)
353 c Restore bond angle parameters
356 a0thet(i)=a0thet_all(i,iparm)
360 athet(j,i,ichir1,ichir2)=athet_all(j,i,ichir1,ichir2,iparm)
361 bthet(j,i,ichir1,ichir2)=bthet_all(j,i,ichir1,ichir2,iparm)
366 polthet(j,i)=polthet_all(j,i,iparm)
369 gthet(j,i)=gthet_all(j,i,iparm)
371 theta0(i)=theta0_all(i,iparm)
372 sig0(i)=sig0_all(i,iparm)
373 sigc0(i)=sigc0_all(i,iparm)
376 nthetyp=nthetyp_all(iparm)
377 ntheterm=ntheterm_all(iparm)
378 ntheterm2=ntheterm2_all(iparm)
379 ntheterm3=ntheterm3_all(iparm)
380 nsingle=nsingle_all(iparm)
381 ndouble=ndouble_all(iparm)
382 nntheterm=nntheterm_all(iparm)
384 ithetyp(i)=ithetyp_all(i,iparm)
387 do i=-maxthetyp1,maxthetyp1
388 do j=-maxthetyp1,maxthetyp1
389 do k=-maxthetyp1,maxthetyp1
390 aa0thet(i,j,k,iblock)=aa0thet_all(i,j,k,iblock,iparm)
392 aathet(l,i,j,k,iblock)=aathet_all(l,i,j,k,iblock,iparm)
396 bbthet(m,l,i,j,k,iblock)=
397 &bbthet_all(m,l,i,j,k,iblock,iparm)
398 ccthet(m,l,i,j,k,iblock)=
399 &ccthet_all(m,l,i,j,k,iblock,iparm)
400 ddthet(m,l,i,j,k,iblock)=
401 &ddthet_all(m,l,i,j,k,iblock,iparm)
402 eethet(m,l,i,j,k,iblock)=
403 &eethet_all(m,l,i,j,k,iblock,iparm)
409 if (iblock.eq.1) then
410 ffthet(mm,m,l,i,j,k,iblock)=
411 &ffthet_all1(mm,m,l,i,j,k,iparm)
412 ggthet(mm,m,l,i,j,k,iblock)=
413 &ggthet_all1(mm,m,l,i,j,k,iparm)
415 ffthet(mm,m,l,i,j,k,iblock)=
416 &ffthet_all2(mm,m,l,i,j,k,iparm)
417 ggthet(mm,m,l,i,j,k,iblock)=
418 &ggthet_all2(mm,m,l,i,j,k,iparm)
428 c Restore the sidechain rotamer parameters
433 nlob(iii)=nlob_all(iii,iparm)
435 bsc(j,iii)=bsc_all(j,iii,iparm)
437 censc(k,j,i)=censc_all(k,j,i,iparm)
441 gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm)
449 sc_parmin(j,i)=sc_parmin_all(j,i,iparm)
453 c Restore the torsional parameters
455 do i=-ntortyp+1,ntortyp-1
456 do j=-ntortyp+1,ntortyp-1
457 v0(i,j,iblock)=v0_all(i,j,iblock,iparm)
458 nterm(i,j,iblock)=nterm_all(i,j,iblock,iparm)
459 nlor(i,j,iblock)=nlor_all(i,j,iblock,iparm)
460 do k=1,nterm(i,j,iblock)
461 v1(k,i,j,iblock)=v1_all(k,i,j,iblock,iparm)
462 v2(k,i,j,iblock)=v2_all(k,i,j,iblock,iparm)
464 do k=1,nlor(i,j,iblock)
465 vlor1(k,i,j)=vlor1_all(k,i,j,iparm)
466 vlor2(k,i,j)=vlor2_all(k,i,j,iparm)
467 vlor3(k,i,j)=vlor3_all(k,i,j,iparm)
472 c Restore the double torsional parameters
474 do i=-ntortyp+1,ntortyp-1
475 do j=-ntortyp+1,ntortyp-1
476 do k=-ntortyp+1,ntortyp-1
477 ntermd_1(i,j,k,iblock)=ntermd1_all(i,j,k,iblock,iparm)
478 ntermd_2(i,j,k,iblock)=ntermd2_all(i,j,k,iblock,iparm)
479 do l=1,ntermd_1(i,j,k,iblock)
480 v1c(1,l,i,j,k,iblock)=v1c_all(1,l,i,j,k,iblock,iparm)
481 v1c(2,l,i,j,k,iblock)=v1c_all(2,l,i,j,k,iblock,iparm)
482 v2c(1,l,i,j,k,iblock)=v2c_all(1,l,i,j,k,iblock,iparm)
483 v2c(2,l,i,j,k,iblock)=v2c_all(2,l,i,j,k,iblock,iparm)
485 do l=1,ntermd_2(i,j,k,iblock)
486 do m=1,ntermd_2(i,j,k,iblock)
487 v2s(l,m,i,j,k,iblock)=v2s_all(l,m,i,j,k,iblock,iparm)
494 c Restore parameters of the cumulants
496 do i=-nloctyp+1,nloctyp-1
499 bnew1(ii,j,i)=bnew1_all(ii,j,i,iparm)
500 bnew2(ii,j,i)=bnew2_all(ii,j,i,iparm)
505 ccnew(k,j,i)=ccnew_all(k,j,i,iparm)
506 ddnew(k,j,i)=ddnew_all(k,j,i,iparm)
512 eenew(k,j,ii,i)=eenew_all(k,j,ii,i,iparm)
517 e0new(ii,i)=e0new_all(ii,i,iparm)
521 do i=-nloctyp,nloctyp
523 b(j,i)=b_all(j,i,iparm)
527 ccold(k,j,i)=ccold_all(k,j,i,iparm)
528 ddold(k,j,i)=ddold_all(k,j,i,iparm)
529 eeold(k,j,i)=eeold_all(k,j,i,iparm)
534 c Restore the parameters of electrostatic interactions
537 app(j,i)=app_all(j,i,iparm)
538 bpp(j,i)=bpp_all(j,i,iparm)
539 ael6(j,i)=ael6_all(j,i,iparm)
540 ael3(j,i)=ael3_all(j,i,iparm)
543 c Restore sidechain parameters
546 aa_aq(j,i)=aa_aq_all(j,i,iparm)
547 bb_aq(j,i)=bb_aq_all(j,i,iparm)
548 aa_lip(j,i)=aa_lip_all(j,i,iparm)
549 bb_lip(j,i)=bb_lip_all(j,i,iparm)
550 r0(j,i)=r0_all(j,i,iparm)
551 sigma(j,i)=sigma_all(j,i,iparm)
552 chi(j,i)=chi_all(j,i,iparm)
553 augm(j,i)=augm_all(j,i,iparm)
554 eps(j,i)=eps_all(j,i,iparm)
555 epslip(j,i)=epslip_all(j,i,iparm)
559 chip(i)=chip_all(i,iparm)
560 alp(i)=alp_all(i,iparm)
562 c Restore the SCp parameters
565 aad(i,j)=aad_all(i,j,iparm)
566 bad(i,j)=bad_all(i,j,iparm)
569 c Restore disulfide-bond parameters
578 c Restore SC-backbone correlation parameters
579 do i=-nsccortyp,nsccortyp
580 do j=-nsccortyp,nsccortyp
582 nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
584 do k=1,nterm_sccor(j,i)
585 v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
586 v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)