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
118 cc write (iout,*) i,"storeparm1"
120 nlob_all(iii,iparm)=nlob(iii)
122 bsc_all(j,iii,iparm)=bsc(j,iii)
124 censc_all(k,j,i,iparm)=censc(k,j,i)
128 gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i)
136 sc_parmin_all(j,i,iparm)=sc_parmin(j,i)
140 c Store the torsional parameters
142 do i=-ntortyp+1,ntortyp-1
143 do j=-ntortyp+1,ntortyp-1
144 v0_all(i,j,iblock,iparm)=v0(i,j,iblock)
145 nterm_all(i,j,iblock,iparm)=nterm(i,j,iblock)
146 nlor_all(i,j,iblock,iparm)=nlor(i,j,iblock)
147 do k=1,nterm(i,j,iblock)
148 v1_all(k,i,j,iblock,iparm)=v1(k,i,j,iblock)
149 v2_all(k,i,j,iblock,iparm)=v2(k,i,j,iblock)
151 do k=1,nlor(i,j,iblock)
152 vlor1_all(k,i,j,iparm)=vlor1(k,i,j)
153 vlor2_all(k,i,j,iparm)=vlor2(k,i,j)
154 vlor3_all(k,i,j,iparm)=vlor3(k,i,j)
159 c Store the double torsional parameters
161 do i=-ntortyp+1,ntortyp-1
162 do j=-ntortyp+1,ntortyp-1
163 do k=-ntortyp+1,ntortyp-1
164 ntermd1_all(i,j,k,iblock,iparm)=ntermd_1(i,j,k,iblock)
165 ntermd2_all(i,j,k,iblock,iparm)=ntermd_2(i,j,k,iblock)
166 do l=1,ntermd_1(i,j,k,iblock)
167 v1c_all(1,l,i,j,k,iblock,iparm)=v1c(1,l,i,j,k,iblock)
168 v1c_all(2,l,i,j,k,iblock,iparm)=v1c(2,l,i,j,k,iblock)
169 v2c_all(1,l,i,j,k,iblock,iparm)=v2c(1,l,i,j,k,iblock)
170 v2c_all(2,l,i,j,k,iblock,iparm)=v2c(2,l,i,j,k,iblock)
172 do l=1,ntermd_2(i,j,k,iblock)
173 do m=1,ntermd_2(i,j,k,iblock)
174 v2s_all(l,m,i,j,k,iblock,iparm)=v2s(l,m,i,j,k,iblock)
181 c Store parameters of the cumulants
182 do i=-nloctyp,nloctyp
184 b1_all(j,i,iparm)=b1(j,i)
185 b1tilde_all(j,i,iparm)=b1tilde(j,i)
186 b2_all(j,i,iparm)=b2(j,i)
190 cc_all(k,j,i,iparm)=cc(k,j,i)
191 ctilde_all(k,j,i,iparm)=ctilde(k,j,i)
192 dd_all(k,j,i,iparm)=dd(k,j,i)
193 dtilde_all(k,j,i,iparm)=dtilde(k,j,i)
194 ee_all(k,j,i,iparm)=ee(k,j,i)
198 c Store the parameters of electrostatic interactions
201 app_all(j,i,iparm)=app(j,i)
202 bpp_all(j,i,iparm)=bpp(j,i)
203 ael6_all(j,i,iparm)=ael6(j,i)
204 ael3_all(j,i,iparm)=ael3(j,i)
207 c Store sidechain parameters
210 aa_all(j,i,iparm)=aa(j,i)
211 bb_all(j,i,iparm)=bb(j,i)
212 r0_all(j,i,iparm)=r0(j,i)
213 sigma_all(j,i,iparm)=sigma(j,i)
214 chi_all(j,i,iparm)=chi(j,i)
215 augm_all(j,i,iparm)=augm(j,i)
216 eps_all(j,i,iparm)=eps(j,i)
220 chip_all(i,iparm)=chip(i)
221 alp_all(i,iparm)=alp(i)
223 c Store the SCp parameters
226 aad_all(i,j,iparm)=aad(i,j)
227 bad_all(i,j,iparm)=bad(i,j)
230 c Store disulfide-bond parameters
239 c Store SC-backbone correlation parameters
240 do i=-nsccortyp,nsccortyp
241 do j=-nsccortyp,nsccortyp
243 nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i)
247 do k=1,nterm_sccor(j,i)
248 v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i)
249 v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i)
256 c--------------------------------------------------------------------------
257 subroutine restore_parm(iparm)
259 C Store parameters of set IPARM
260 C valence angles and the side chains and energy parameters.
264 include 'DIMENSIONS.ZSCOPT'
265 include 'DIMENSIONS.FREE'
266 include 'COMMON.IOUNITS'
267 include 'COMMON.CHAIN'
268 include 'COMMON.INTERACT'
270 include 'COMMON.LOCAL'
271 include 'COMMON.TORSION'
272 include 'COMMON.FFIELD'
273 include 'COMMON.NAMES'
274 include 'COMMON.SBRIDGE'
275 include 'COMMON.SCROT'
276 include 'COMMON.SCCOR'
277 include 'COMMON.ALLPARM'
278 integer i,j,k,l,m,mm,iparm,ichir1,ichir2,iblock,iii
283 welec=ww_all(3,iparm)
284 wcorr=ww_all(4,iparm)
285 wcorr5=ww_all(5,iparm)
286 wcorr6=ww_all(6,iparm)
287 wel_loc=ww_all(7,iparm)
288 wturn3=ww_all(8,iparm)
289 wturn4=ww_all(9,iparm)
290 wturn6=ww_all(10,iparm)
291 wang=ww_all(11,iparm)
292 wscloc=ww_all(12,iparm)
293 wtor=ww_all(13,iparm)
294 wtor_d=ww_all(14,iparm)
295 wstrain=ww_all(15,iparm)
296 wvdwpp=ww_all(16,iparm)
297 wbond=ww_all(17,iparm)
298 wsccor=ww_all(19,iparm)
299 c Restore bond parameters
300 vbldp0=vbldp0_all(iparm)
303 nbondterm(i)=nbondterm_all(i,iparm)
305 vbldsc0(j,i)=vbldsc0_all(j,i,iparm)
306 aksc(j,i)=aksc_all(j,i,iparm)
307 abond0(j,i)=abond0_all(j,i,iparm)
310 c Restore bond angle parameters
313 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
494 c Restore SC-backbone correlation parameters
495 do i=-nsccortyp,nsccortyp
496 do j=-nsccortyp,nsccortyp
498 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)