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)
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 ffthet_all(mm,m,l,i,j,k,iblock,iparm)=
111 & ffthet(mm,m,l,i,j,k,iblock)
112 ggthet_all(mm,m,l,i,j,k,iblock,iparm)=
113 & ggthet(mm,m,l,i,j,k,iblock)
123 c Store the sidechain rotamer parameters
127 nlob_all(iii,iparm)=nlob(iii)
129 bsc_all(j,iii,iparm)=bsc(j,iii)
131 censc_all(k,j,i,iparm)=censc(k,j,i)
135 gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i)
143 sc_parmin_all(j,i,iparm)=sc_parmin(j,i)
147 c Store the torsional parameters
149 do i=-ntortyp+1,ntortyp-1
150 do j=-ntortyp+1,ntortyp-1
151 v0_all(i,j,iblock,iparm)=v0(i,j,iblock)
152 nterm_all(i,j,iblock,iparm)=nterm(i,j,iblock)
153 nlor_all(i,j,iblock,iparm)=nlor(i,j,iblock)
154 do k=1,nterm(i,j,iblock)
155 v1_all(k,i,j,iblock,iparm)=v1(k,i,j,iblock)
156 v2_all(k,i,j,iblock,iparm)=v2(k,i,j,iblock)
158 do k=1,nlor(i,j,iblock)
159 vlor1_all(k,i,j,iparm)=vlor1(k,i,j)
160 vlor2_all(k,i,j,iparm)=vlor2(k,i,j)
161 vlor3_all(k,i,j,iparm)=vlor3(k,i,j)
166 c Store the double torsional parameters
168 do i=-ntortyp+1,ntortyp-1
169 do j=-ntortyp+1,ntortyp-1
170 do k=-ntortyp+1,ntortyp-1
171 ntermd1_all(i,j,k,iblock,iparm)=ntermd_1(i,j,k,iblock)
172 ntermd2_all(i,j,k,iblock,iparm)=ntermd_2(i,j,k,iblock)
173 do l=1,ntermd_1(i,j,k,iblock)
174 v1c_all(1,l,i,j,k,iblock,iparm)=v1c(1,l,i,j,k,iblock)
175 v1c_all(2,l,i,j,k,iblock,iparm)=v1c(2,l,i,j,k,iblock)
176 v2c_all(1,l,i,j,k,iblock,iparm)=v2c(1,l,i,j,k,iblock)
177 v2c_all(2,l,i,j,k,iblock,iparm)=v2c(2,l,i,j,k,iblock)
179 do l=1,ntermd_2(i,j,k,iblock)
180 do m=1,ntermd_2(i,j,k,iblock)
181 v2s_all(l,m,i,j,k,iblock,iparm)=v2s(l,m,i,j,k,iblock)
188 c Store parameters of the cumulants
189 do i=-nloctyp,nloctyp
191 b1_all(j,i,iparm)=b1(j,i)
192 b1tilde_all(j,i,iparm)=b1tilde(j,i)
193 b2_all(j,i,iparm)=b2(j,i)
197 cc_all(k,j,i,iparm)=cc(k,j,i)
198 ctilde_all(k,j,i,iparm)=ctilde(k,j,i)
199 dd_all(k,j,i,iparm)=dd(k,j,i)
200 dtilde_all(k,j,i,iparm)=dtilde(k,j,i)
201 ee_all(k,j,i,iparm)=ee(k,j,i)
205 c Store the parameters of electrostatic interactions
208 app_all(j,i,iparm)=app(j,i)
209 bpp_all(j,i,iparm)=bpp(j,i)
210 ael6_all(j,i,iparm)=ael6(j,i)
211 ael3_all(j,i,iparm)=ael3(j,i)
214 c Store sidechain parameters
217 aa_all(j,i,iparm)=aa(j,i)
218 bb_all(j,i,iparm)=bb(j,i)
219 r0_all(j,i,iparm)=r0(j,i)
220 sigma_all(j,i,iparm)=sigma(j,i)
221 chi_all(j,i,iparm)=chi(j,i)
222 augm_all(j,i,iparm)=augm(j,i)
223 eps_all(j,i,iparm)=eps(j,i)
227 chip_all(i,iparm)=chip(i)
228 alp_all(i,iparm)=alp(i)
230 c Store the SCp parameters
233 aad_all(i,j,iparm)=aad(i,j)
234 bad_all(i,j,iparm)=bad(i,j)
237 c Store disulfide-bond parameters
239 ss_depth_all(iparm)=ss_depth
248 c Store SC-backbone correlation parameters
252 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
254 do k=1,nterm_sccor(j,i)
255 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
256 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
263 c--------------------------------------------------------------------------
264 subroutine restore_parm(iparm)
266 C Store parameters of set IPARM
267 C valence angles and the side chains and energy parameters.
271 include 'DIMENSIONS.ZSCOPT'
272 include 'DIMENSIONS.FREE'
273 include 'COMMON.IOUNITS'
274 include 'COMMON.CHAIN'
275 include 'COMMON.INTERACT'
277 include 'COMMON.LOCAL'
278 include 'COMMON.TORSION'
279 include 'COMMON.FFIELD'
280 include 'COMMON.NAMES'
281 include 'COMMON.SBRIDGE'
282 include 'COMMON.SCROT'
283 include 'COMMON.SCCOR'
284 include 'COMMON.ALLPARM'
285 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
290 welec=ww_all(3,iparm)
291 wcorr=ww_all(4,iparm)
292 wcorr5=ww_all(5,iparm)
293 wcorr6=ww_all(6,iparm)
294 wel_loc=ww_all(7,iparm)
295 wturn3=ww_all(8,iparm)
296 wturn4=ww_all(9,iparm)
297 wturn6=ww_all(10,iparm)
298 wang=ww_all(11,iparm)
299 wscloc=ww_all(12,iparm)
300 wtor=ww_all(13,iparm)
301 wtor_d=ww_all(14,iparm)
302 wstrain=ww_all(15,iparm)
303 wvdwpp=ww_all(16,iparm)
304 wbond=ww_all(17,iparm)
305 wsccor=ww_all(19,iparm)
306 c Restore bond parameters
307 vbldp0=vbldp0_all(iparm)
310 nbondterm(i)=nbondterm_all(i,iparm)
312 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
313 aksc(j,i)=aksc_all(j,i,iparm)
314 abond0(j,i)=abond0_all(j,i,iparm)
317 c Restore bond angle parameters
320 a0thet(i)=a0thet_all(i,iparm)
325 athet(j,i,ichir1,ichir2)=athet_all(j,i,ichir1,ichir2,iparm)
326 bthet(j,i,ichir1,ichir2)=bthet_all(j,i,ichir1,ichir2,iparm)
331 polthet(j,i)=polthet_all(j,i,iparm)
334 gthet(j,i)=gthet_all(j,i,iparm)
336 theta0(i)=theta0_all(i,iparm)
337 sig0(i)=sig0_all(i,iparm)
338 sigc0(i)=sigc0_all(i,iparm)
341 nthetyp=nthetyp_all(iparm)
342 ntheterm=ntheterm_all(iparm)
343 ntheterm2=ntheterm2_all(iparm)
344 ntheterm3=ntheterm3_all(iparm)
345 nsingle=nsingle_all(iparm)
346 ndouble=ndouble_all(iparm)
347 nntheterm=nntheterm_all(iparm)
349 ithetyp(i)=ithetyp_all(i,iparm)
352 do i=-maxthetyp1,maxthetyp1
353 do j=-maxthetyp1,maxthetyp1
354 do k=-maxthetyp1,maxthetyp1
355 aa0thet(i,j,k,iblock)=aa0thet_all(i,j,k,iblock,iparm)
357 aathet(l,i,j,k,iblock)=aathet_all(l,i,j,k,iblock,iparm)
361 bbthet(m,l,i,j,k,iblock)=
362 & bbthet_all(m,l,i,j,k,iblock,iparm)
363 ccthet(m,l,i,j,k,iblock)=
364 & ccthet_all(m,l,i,j,k,iblock,iparm)
365 ddthet(m,l,i,j,k,iblock)=
366 & ddthet_all(m,l,i,j,k,iblock,iparm)
367 eethet(m,l,i,j,k,iblock)=
368 & eethet_all(m,l,i,j,k,iblock,iparm)
374 ffthet(mm,m,l,i,j,k)=ffthet_all(mm,m,l,i,j,k,iparm)
375 ggthet(mm,m,l,i,j,k)=ggthet_all(mm,m,l,i,j,k,iparm)
384 c Restore the sidechain rotamer parameters
389 nlob(iii)=nlob_all(iii,iparm)
391 bsc(j,iii)=bsc_all(j,iii,iparm)
393 censc(k,j,i)=censc_all(k,j,i,iparm)
397 gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm)
405 sc_parmin(j,i)=sc_parmin_all(j,i,iparm)
409 c Restore the torsional parameters
411 do i=-ntortyp+1,ntortyp-1
412 do j=-ntortyp+1,ntortyp-1
413 v0(i,j,iblock)=v0_all(i,j,iblock,iparm)
414 nterm(i,j,iblock)=nterm_all(i,j,iblock,iparm)
415 nlor(i,j,iblock)=nlor_all(i,j,iblock,iparm)
416 do k=1,nterm(i,j,iblock)
417 v1(k,i,j,iblock)=v1_all(k,i,j,iblock,iparm)
418 v2(k,i,j,iblock)=v2_all(k,i,j,iblock,iparm)
420 do k=1,nlor(i,j,iblock)
421 vlor1(k,i,j)=vlor1_all(k,i,j,iparm)
422 vlor2(k,i,j)=vlor2_all(k,i,j,iparm)
423 vlor3(k,i,j)=vlor3_all(k,i,j,iparm)
428 c Restore the double torsional parameters
430 do i=-ntortyp+1,ntortyp-1
431 do j=-ntortyp+1,ntortyp-1
432 do k=-ntortyp+1,ntortyp-1
433 ntermd_1(i,j,k,iblock)=ntermd1_all(i,j,k,iblock,iparm)
434 ntermd_2(i,j,k,iblock)=ntermd2_all(i,j,k,iblock,iparm)
435 do l=1,ntermd_1(i,j,k,iblock)
436 v1c(1,l,i,j,k,iblock)=v1c_all(1,l,i,j,k,iblock,iparm)
437 v1c(2,l,i,j,k,iblock)=v1c_all(2,l,i,j,k,iblock,iparm)
438 v2c(1,l,i,j,k,iblock)=v2c_all(1,l,i,j,k,iblock,iparm)
439 v2c(2,l,i,j,k,iblock)=v2c_all(2,l,i,j,k,iblock,iparm)
441 do l=1,ntermd_2(i,j,k,iblock)
442 do m=1,ntermd_2(i,j,k,iblock)
443 v2s(l,m,i,j,k,iblock)=v2s_all(l,m,i,j,k,iblock,iparm)
450 c Restore parameters of the cumulants
451 do i=-nloctyp,nloctyp
453 b1(j,i)=b1_all(j,i,iparm)
454 b1tilde(j,i)=b1tilde_all(j,i,iparm)
455 b2(j,i)=b2_all(j,i,iparm)
459 cc(k,j,i)=cc_all(k,j,i,iparm)
460 ctilde(k,j,i)=ctilde_all(k,j,i,iparm)
461 dd(k,j,i)=dd_all(k,j,i,iparm)
462 dtilde(k,j,i)=dtilde_all(k,j,i,iparm)
463 ee(k,j,i)=ee_all(k,j,i,iparm)
467 c Restore the parameters of electrostatic interactions
470 app(j,i)=app_all(j,i,iparm)
471 bpp(j,i)=bpp_all(j,i,iparm)
472 ael6(j,i)=ael6_all(j,i,iparm)
473 ael3(j,i)=ael3_all(j,i,iparm)
476 c Restore sidechain parameters
479 aa(j,i)=aa_all(j,i,iparm)
480 bb(j,i)=bb_all(j,i,iparm)
481 r0(j,i)=r0_all(j,i,iparm)
482 sigma(j,i)=sigma_all(j,i,iparm)
483 chi(j,i)=chi_all(j,i,iparm)
484 augm(j,i)=augm_all(j,i,iparm)
485 eps(j,i)=eps_all(j,i,iparm)
489 chip(i)=chip_all(i,iparm)
490 alp(i)=alp_all(i,iparm)
492 c Restore the SCp parameters
495 aad(i,j)=aad_all(i,j,iparm)
496 bad(i,j)=bad_all(i,j,iparm)
499 c Restore disulfide-bond parameters
501 ss_depth=ss_depth_all(iparm)
510 c Restore SC-backbone correlation parameters
514 nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
518 do k=1,nterm_sccor(j,i)
519 v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
520 v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)