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,ii
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)
88 do i=-maxthetyp1,maxthetyp1
89 do j=-maxthetyp1,maxthetyp1
90 do k=-maxthetyp1,maxthetyp1
91 aa0thet_all(i,j,k,iblock,iparm)=aa0thet(i,j,k,iblock)
93 aathet_all(l,i,j,k,iblock,iparm)=aathet(l,i,j,k,iblock)
97 bbthet_all(m,l,i,j,k,iblock,iparm)=
98 & bbthet(m,l,i,j,k,iblock)
99 ccthet_all(m,l,i,j,k,iblock,iparm)=
100 &ccthet(m,l,i,j,k,iblock)
101 ddthet_all(m,l,i,j,k,iblock,iparm)=
102 &ddthet(m,l,i,j,k,iblock)
103 eethet_all(m,l,i,j,k,iblock,iparm)=
104 &eethet(m,l,i,j,k,iblock)
110 if (iblock.eq.1) then
111 ffthet_all1(mm,m,l,i,j,k,iparm)=
112 & ffthet(mm,m,l,i,j,k,iblock)
113 ggthet_all1(mm,m,l,i,j,k,iparm)=
114 &ggthet(mm,m,l,i,j,k,iblock)
116 ffthet_all2(mm,m,l,i,j,k,iparm)=
117 & ffthet(mm,m,l,i,j,k,iblock)
118 ggthet_all2(mm,m,l,i,j,k,iparm)=
119 &ggthet(mm,m,l,i,j,k,iblock)
130 c Store the sidechain rotamer parameters
133 cc write (iout,*) i,"storeparm1"
135 nlob_all(iii,iparm)=nlob(iii)
137 bsc_all(j,iii,iparm)=bsc(j,iii)
139 censc_all(k,j,i,iparm)=censc(k,j,i)
143 gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i)
151 sc_parmin_all(j,i,iparm)=sc_parmin(j,i)
155 c Store the torsional parameters
157 do i=-ntortyp+1,ntortyp-1
158 do j=-ntortyp+1,ntortyp-1
159 v0_all(i,j,iblock,iparm)=v0(i,j,iblock)
160 nterm_all(i,j,iblock,iparm)=nterm(i,j,iblock)
161 nlor_all(i,j,iblock,iparm)=nlor(i,j,iblock)
162 do k=1,nterm(i,j,iblock)
163 v1_all(k,i,j,iblock,iparm)=v1(k,i,j,iblock)
164 v2_all(k,i,j,iblock,iparm)=v2(k,i,j,iblock)
166 do k=1,nlor(i,j,iblock)
167 vlor1_all(k,i,j,iparm)=vlor1(k,i,j)
168 vlor2_all(k,i,j,iparm)=vlor2(k,i,j)
169 vlor3_all(k,i,j,iparm)=vlor3(k,i,j)
174 c Store the double torsional parameters
176 do i=-ntortyp+1,ntortyp-1
177 do j=-ntortyp+1,ntortyp-1
178 do k=-ntortyp+1,ntortyp-1
179 ntermd1_all(i,j,k,iblock,iparm)=ntermd_1(i,j,k,iblock)
180 ntermd2_all(i,j,k,iblock,iparm)=ntermd_2(i,j,k,iblock)
181 do l=1,ntermd_1(i,j,k,iblock)
182 v1c_all(1,l,i,j,k,iblock,iparm)=v1c(1,l,i,j,k,iblock)
183 v1c_all(2,l,i,j,k,iblock,iparm)=v1c(2,l,i,j,k,iblock)
184 v2c_all(1,l,i,j,k,iblock,iparm)=v2c(1,l,i,j,k,iblock)
185 v2c_all(2,l,i,j,k,iblock,iparm)=v2c(2,l,i,j,k,iblock)
187 do l=1,ntermd_2(i,j,k,iblock)
188 do m=1,ntermd_2(i,j,k,iblock)
189 v2s_all(l,m,i,j,k,iblock,iparm)=v2s(l,m,i,j,k,iblock)
196 c Store parameters of the cumulants
197 do i=-nloctyp,nloctyp
200 bnew1_all(ii,j,i,iparm)=bnew1(ii,j,i)
201 bnew2_all(ii,j,i,iparm)=bnew2(ii,j,i)
204 eenew_all(1,i,iparm)=eenew(1,i)
207 eeold_all(k,j,i,iparm)=eeold(k,j,i)
208 cc_all(k,j,i,iparm)=cc(k,j,i)
209 ctilde_all(k,j,i,iparm)=ctilde(k,j,i)
210 dd_all(k,j,i,iparm)=dd(k,j,i)
211 dtilde_all(k,j,i,iparm)=dtilde(k,j,i)
215 c Store the parameters of electrostatic interactions
218 app_all(j,i,iparm)=app(j,i)
219 bpp_all(j,i,iparm)=bpp(j,i)
220 ael6_all(j,i,iparm)=ael6(j,i)
221 ael3_all(j,i,iparm)=ael3(j,i)
224 c Store sidechain parameters
227 aa_all(j,i,iparm)=aa(j,i)
228 bb_all(j,i,iparm)=bb(j,i)
229 r0_all(j,i,iparm)=r0(j,i)
230 sigma_all(j,i,iparm)=sigma(j,i)
231 chi_all(j,i,iparm)=chi(j,i)
232 augm_all(j,i,iparm)=augm(j,i)
233 eps_all(j,i,iparm)=eps(j,i)
237 chip_all(i,iparm)=chip(i)
238 alp_all(i,iparm)=alp(i)
240 c Store the SCp parameters
243 aad_all(i,j,iparm)=aad(i,j)
244 bad_all(i,j,iparm)=bad(i,j)
247 c Store disulfide-bond parameters
256 c Store SC-backbone correlation parameters
257 do i=-nsccortyp,nsccortyp
258 do j=-nsccortyp,nsccortyp
260 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
264 do k=1,nterm_sccor(j,i)
265 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
266 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
273 c--------------------------------------------------------------------------
274 subroutine restore_parm(iparm)
276 C Store parameters of set IPARM
277 C valence angles and the side chains and energy parameters.
281 include 'DIMENSIONS.ZSCOPT'
282 include 'DIMENSIONS.FREE'
283 include 'COMMON.IOUNITS'
284 include 'COMMON.CHAIN'
285 include 'COMMON.INTERACT'
287 include 'COMMON.LOCAL'
288 include 'COMMON.TORSION'
289 include 'COMMON.FFIELD'
290 include 'COMMON.NAMES'
291 include 'COMMON.SBRIDGE'
292 include 'COMMON.SCROT'
293 include 'COMMON.SCCOR'
294 include 'COMMON.ALLPARM'
295 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii,ii
300 welec=ww_all(3,iparm)
301 wcorr=ww_all(4,iparm)
302 wcorr5=ww_all(5,iparm)
303 wcorr6=ww_all(6,iparm)
304 wel_loc=ww_all(7,iparm)
305 wturn3=ww_all(8,iparm)
306 wturn4=ww_all(9,iparm)
307 wturn6=ww_all(10,iparm)
308 wang=ww_all(11,iparm)
309 wscloc=ww_all(12,iparm)
310 wtor=ww_all(13,iparm)
311 wtor_d=ww_all(14,iparm)
312 wstrain=ww_all(15,iparm)
313 wvdwpp=ww_all(16,iparm)
314 wbond=ww_all(17,iparm)
315 wsccor=ww_all(19,iparm)
316 c Restore bond parameters
317 vbldp0=vbldp0_all(iparm)
320 nbondterm(i)=nbondterm_all(i,iparm)
322 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
323 aksc(j,i)=aksc_all(j,i,iparm)
324 abond0(j,i)=abond0_all(j,i,iparm)
327 c Restore bond angle parameters
330 a0thet(i)=a0thet_all(i,iparm)
334 athet(j,i,ichir1,ichir2)=athet_all(j,i,ichir1,ichir2,iparm)
335 bthet(j,i,ichir1,ichir2)=bthet_all(j,i,ichir1,ichir2,iparm)
340 polthet(j,i)=polthet_all(j,i,iparm)
343 gthet(j,i)=gthet_all(j,i,iparm)
345 theta0(i)=theta0_all(i,iparm)
346 sig0(i)=sig0_all(i,iparm)
347 sigc0(i)=sigc0_all(i,iparm)
350 nthetyp=nthetyp_all(iparm)
351 ntheterm=ntheterm_all(iparm)
352 ntheterm2=ntheterm2_all(iparm)
353 ntheterm3=ntheterm3_all(iparm)
354 nsingle=nsingle_all(iparm)
355 ndouble=ndouble_all(iparm)
356 nntheterm=nntheterm_all(iparm)
358 ithetyp(i)=ithetyp_all(i,iparm)
361 do i=-maxthetyp1,maxthetyp1
362 do j=-maxthetyp1,maxthetyp1
363 do k=-maxthetyp1,maxthetyp1
364 aa0thet(i,j,k,iblock)=aa0thet_all(i,j,k,iblock,iparm)
366 aathet(l,i,j,k,iblock)=aathet_all(l,i,j,k,iblock,iparm)
370 bbthet(m,l,i,j,k,iblock)=
371 &bbthet_all(m,l,i,j,k,iblock,iparm)
372 ccthet(m,l,i,j,k,iblock)=
373 &ccthet_all(m,l,i,j,k,iblock,iparm)
374 ddthet(m,l,i,j,k,iblock)=
375 &ddthet_all(m,l,i,j,k,iblock,iparm)
376 eethet(m,l,i,j,k,iblock)=
377 &eethet_all(m,l,i,j,k,iblock,iparm)
383 if (iblock.eq.1) then
384 ffthet(mm,m,l,i,j,k,iblock)=
385 &ffthet_all1(mm,m,l,i,j,k,iparm)
386 ggthet(mm,m,l,i,j,k,iblock)=
387 &ggthet_all1(mm,m,l,i,j,k,iparm)
389 ffthet(mm,m,l,i,j,k,iblock)=
390 &ffthet_all2(mm,m,l,i,j,k,iparm)
391 ggthet(mm,m,l,i,j,k,iblock)=
392 &ggthet_all2(mm,m,l,i,j,k,iparm)
402 c Restore the sidechain rotamer parameters
407 nlob(iii)=nlob_all(iii,iparm)
409 bsc(j,iii)=bsc_all(j,iii,iparm)
411 censc(k,j,i)=censc_all(k,j,i,iparm)
415 gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm)
423 sc_parmin(j,i)=sc_parmin_all(j,i,iparm)
427 c Restore the torsional parameters
429 do i=-ntortyp+1,ntortyp-1
430 do j=-ntortyp+1,ntortyp-1
431 v0(i,j,iblock)=v0_all(i,j,iblock,iparm)
432 nterm(i,j,iblock)=nterm_all(i,j,iblock,iparm)
433 nlor(i,j,iblock)=nlor_all(i,j,iblock,iparm)
434 do k=1,nterm(i,j,iblock)
435 v1(k,i,j,iblock)=v1_all(k,i,j,iblock,iparm)
436 v2(k,i,j,iblock)=v2_all(k,i,j,iblock,iparm)
438 do k=1,nlor(i,j,iblock)
439 vlor1(k,i,j)=vlor1_all(k,i,j,iparm)
440 vlor2(k,i,j)=vlor2_all(k,i,j,iparm)
441 vlor3(k,i,j)=vlor3_all(k,i,j,iparm)
446 c Restore the double torsional parameters
448 do i=-ntortyp+1,ntortyp-1
449 do j=-ntortyp+1,ntortyp-1
450 do k=-ntortyp+1,ntortyp-1
451 ntermd_1(i,j,k,iblock)=ntermd1_all(i,j,k,iblock,iparm)
452 ntermd_2(i,j,k,iblock)=ntermd2_all(i,j,k,iblock,iparm)
453 do l=1,ntermd_1(i,j,k,iblock)
454 v1c(1,l,i,j,k,iblock)=v1c_all(1,l,i,j,k,iblock,iparm)
455 v1c(2,l,i,j,k,iblock)=v1c_all(2,l,i,j,k,iblock,iparm)
456 v2c(1,l,i,j,k,iblock)=v2c_all(1,l,i,j,k,iblock,iparm)
457 v2c(2,l,i,j,k,iblock)=v2c_all(2,l,i,j,k,iblock,iparm)
459 do l=1,ntermd_2(i,j,k,iblock)
460 do m=1,ntermd_2(i,j,k,iblock)
461 v2s(l,m,i,j,k,iblock)=v2s_all(l,m,i,j,k,iblock,iparm)
468 c Restore parameters of the cumulants
469 do i=-nloctyp,nloctyp
472 bnew1(ii,j,i)=bnew1_all(ii,j,i,iparm)
473 bnew2(ii,j,i)=bnew2_all(ii,j,i,iparm)
476 eenew(1,i)=eenew_all(1,i,iparm)
479 eeold(k,j,i)=eeold_all(k,j,i,iparm)
480 cc(k,j,i)=cc_all(k,j,i,iparm)
481 ctilde(k,j,i)=ctilde_all(k,j,i,iparm)
482 dd(k,j,i)=dd_all(k,j,i,iparm)
483 dtilde(k,j,i)=dtilde_all(k,j,i,iparm)
487 c Restore the parameters of electrostatic interactions
490 app(j,i)=app_all(j,i,iparm)
491 bpp(j,i)=bpp_all(j,i,iparm)
492 ael6(j,i)=ael6_all(j,i,iparm)
493 ael3(j,i)=ael3_all(j,i,iparm)
496 c Restore sidechain parameters
499 aa(j,i)=aa_all(j,i,iparm)
500 bb(j,i)=bb_all(j,i,iparm)
501 r0(j,i)=r0_all(j,i,iparm)
502 sigma(j,i)=sigma_all(j,i,iparm)
503 chi(j,i)=chi_all(j,i,iparm)
504 augm(j,i)=augm_all(j,i,iparm)
505 eps(j,i)=eps_all(j,i,iparm)
509 chip(i)=chip_all(i,iparm)
510 alp(i)=alp_all(i,iparm)
512 c Restore the SCp parameters
515 aad(i,j)=aad_all(i,j,iparm)
516 bad(i,j)=bad_all(i,j,iparm)
519 c Restore disulfide-bond parameters
528 c Restore SC-backbone correlation parameters
529 do i=-nsccortyp,nsccortyp
530 do j=-nsccortyp,nsccortyp
532 nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
534 do k=1,nterm_sccor(j,i)
535 v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
536 v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)