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
238 c Store SC-backbone correlation parameters
242 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
244 do k=1,nterm_sccor(j,i)
245 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
246 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
253 c--------------------------------------------------------------------------
254 subroutine restore_parm(iparm)
256 C Store parameters of set IPARM
257 C valence angles and the side chains and energy parameters.
261 include 'DIMENSIONS.ZSCOPT'
262 include 'DIMENSIONS.FREE'
263 include 'COMMON.IOUNITS'
264 include 'COMMON.CHAIN'
265 include 'COMMON.INTERACT'
267 include 'COMMON.LOCAL'
268 include 'COMMON.TORSION'
269 include 'COMMON.FFIELD'
270 include 'COMMON.NAMES'
271 include 'COMMON.SBRIDGE'
272 include 'COMMON.SCROT'
273 include 'COMMON.SCCOR'
274 include 'COMMON.ALLPARM'
275 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
280 welec=ww_all(3,iparm)
281 wcorr=ww_all(4,iparm)
282 wcorr5=ww_all(5,iparm)
283 wcorr6=ww_all(6,iparm)
284 wel_loc=ww_all(7,iparm)
285 wturn3=ww_all(8,iparm)
286 wturn4=ww_all(9,iparm)
287 wturn6=ww_all(10,iparm)
288 wang=ww_all(11,iparm)
289 wscloc=ww_all(12,iparm)
290 wtor=ww_all(13,iparm)
291 wtor_d=ww_all(14,iparm)
292 wstrain=ww_all(15,iparm)
293 wvdwpp=ww_all(16,iparm)
294 wbond=ww_all(17,iparm)
295 wsccor=ww_all(19,iparm)
296 c Restore bond parameters
297 vbldp0=vbldp0_all(iparm)
300 nbondterm(i)=nbondterm_all(i,iparm)
302 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
303 aksc(j,i)=aksc_all(j,i,iparm)
304 abond0(j,i)=abond0_all(j,i,iparm)
307 c Restore bond angle parameters
310 a0thet(i)=a0thet_all(i,iparm)
315 athet(j,i,ichir1,ichir2)=athet_all(j,i,ichir1,ichir2,iparm)
316 bthet(j,i,ichir1,ichir2)=bthet_all(j,i,ichir1,ichir2,iparm)
321 polthet(j,i)=polthet_all(j,i,iparm)
324 gthet(j,i)=gthet_all(j,i,iparm)
326 theta0(i)=theta0_all(i,iparm)
327 sig0(i)=sig0_all(i,iparm)
328 sigc0(i)=sigc0_all(i,iparm)
331 nthetyp=nthetyp_all(iparm)
332 ntheterm=ntheterm_all(iparm)
333 ntheterm2=ntheterm2_all(iparm)
334 ntheterm3=ntheterm3_all(iparm)
335 nsingle=nsingle_all(iparm)
336 ndouble=ndouble_all(iparm)
337 nntheterm=nntheterm_all(iparm)
339 ithetyp(i)=ithetyp_all(i,iparm)
344 aa0thet(i,j,k)=aa0thet_all(i,j,k,iparm)
346 aathet(l,i,j,k)=aathet_all(l,i,j,k,iparm)
350 bbthet(m,l,i,j,k)=bbthet_all(m,l,i,j,k,iparm)
351 ccthet(m,l,i,j,k)=ccthet_all(m,l,i,j,k,iparm)
352 ddthet(m,l,i,j,k)=ddthet_all(m,l,i,j,k,iparm)
353 eethet(m,l,i,j,k)=eethet_all(m,l,i,j,k,iparm)
359 ffthet(mm,m,l,i,j,k)=ffthet_all(mm,m,l,i,j,k,iparm)
360 ggthet(mm,m,l,i,j,k)=ggthet_all(mm,m,l,i,j,k,iparm)
368 c Restore the sidechain rotamer parameters
373 nlob(iii)=nlob_all(iii,iparm)
375 bsc(j,iii)=bsc_all(j,iii,iparm)
377 censc(k,j,i)=censc_all(k,j,i,iparm)
381 gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm)
389 sc_parmin(j,i)=sc_parmin_all(j,i,iparm)
393 c Restore the torsional parameters
395 do i=-ntortyp+1,ntortyp-1
396 do j=-ntortyp+1,ntortyp-1
397 v0(i,j,iblock)=v0_all(i,j,iblock,iparm)
398 nterm(i,j,iblock)=nterm_all(i,j,iblock,iparm)
399 nlor(i,j,iblock)=nlor_all(i,j,iblock,iparm)
400 do k=1,nterm(i,j,iblock)
401 v1(k,i,j,iblock)=v1_all(k,i,j,iblock,iparm)
402 v2(k,i,j,iblock)=v2_all(k,i,j,iblock,iparm)
404 do k=1,nlor(i,j,iblock)
405 vlor1(k,i,j)=vlor1_all(k,i,j,iparm)
406 vlor2(k,i,j)=vlor2_all(k,i,j,iparm)
407 vlor3(k,i,j)=vlor3_all(k,i,j,iparm)
412 c Restore the double torsional parameters
414 do i=-ntortyp+1,ntortyp-1
415 do j=-ntortyp+1,ntortyp-1
416 do k=-ntortyp+1,ntortyp-1
417 ntermd_1(i,j,k,iblock)=ntermd1_all(i,j,k,iblock,iparm)
418 ntermd_2(i,j,k,iblock)=ntermd2_all(i,j,k,iblock,iparm)
419 do l=1,ntermd_1(i,j,k,iblock)
420 v1c(1,l,i,j,k,iblock)=v1c_all(1,l,i,j,k,iblock,iparm)
421 v1c(2,l,i,j,k,iblock)=v1c_all(2,l,i,j,k,iblock,iparm)
422 v2c(1,l,i,j,k,iblock)=v2c_all(1,l,i,j,k,iblock,iparm)
423 v2c(2,l,i,j,k,iblock)=v2c_all(2,l,i,j,k,iblock,iparm)
425 do l=1,ntermd_2(i,j,k,iblock)
426 do m=1,ntermd_2(i,j,k,iblock)
427 v2s(l,m,i,j,k,iblock)=v2s_all(l,m,i,j,k,iblock,iparm)
434 c Restore parameters of the cumulants
435 do i=-nloctyp,nloctyp
437 b1(j,i)=b1_all(j,i,iparm)
438 b1tilde(j,i)=b1tilde_all(j,i,iparm)
439 b2(j,i)=b2_all(j,i,iparm)
443 cc(k,j,i)=cc_all(k,j,i,iparm)
444 ctilde(k,j,i)=ctilde_all(k,j,i,iparm)
445 dd(k,j,i)=dd_all(k,j,i,iparm)
446 dtilde(k,j,i)=dtilde_all(k,j,i,iparm)
447 ee(k,j,i)=ee_all(k,j,i,iparm)
451 c Restore the parameters of electrostatic interactions
454 app(j,i)=app_all(j,i,iparm)
455 bpp(j,i)=bpp_all(j,i,iparm)
456 ael6(j,i)=ael6_all(j,i,iparm)
457 ael3(j,i)=ael3_all(j,i,iparm)
460 c Restore sidechain parameters
463 aa(j,i)=aa_all(j,i,iparm)
464 bb(j,i)=bb_all(j,i,iparm)
465 r0(j,i)=r0_all(j,i,iparm)
466 sigma(j,i)=sigma_all(j,i,iparm)
467 chi(j,i)=chi_all(j,i,iparm)
468 augm(j,i)=augm_all(j,i,iparm)
469 eps(j,i)=eps_all(j,i,iparm)
473 chip(i)=chip_all(i,iparm)
474 alp(i)=alp_all(i,iparm)
476 c Restore the SCp parameters
479 aad(i,j)=aad_all(i,j,iparm)
480 bad(i,j)=bad_all(i,j,iparm)
483 c Restore disulfide-bond parameters
492 c Restore SC-backbone correlation parameters
496 nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm)
500 do k=1,nterm_sccor(j,i)
501 v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm)
502 v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm)