X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Fwham%2Fsrc-NEWSC%2Fstore_parm.F;fp=source%2Fwham%2Fsrc-NEWSC%2Fstore_parm.F;h=0ededffbd448e7f4a434a00006cf4b029b090da8;hb=7308760ff07636ef6b1ee28d8c3a67a23c14b34b;hp=0000000000000000000000000000000000000000;hpb=9a54ab407f6d0d9d564d52763b3e2136450b9ffc;p=unres.git diff --git a/source/wham/src-NEWSC/store_parm.F b/source/wham/src-NEWSC/store_parm.F new file mode 100755 index 0000000..0ededff --- /dev/null +++ b/source/wham/src-NEWSC/store_parm.F @@ -0,0 +1,547 @@ + subroutine store_parm(iparm) +C +C Store parameters of set IPARM +C valence angles and the side chains and energy parameters. +C + implicit none + include 'DIMENSIONS' + include 'DIMENSIONS.ZSCOPT' + include 'DIMENSIONS.FREE' + include 'COMMON.IOUNITS' + include 'COMMON.CHAIN' + include 'COMMON.INTERACT' + include 'COMMON.GEO' + include 'COMMON.LOCAL' + include 'COMMON.TORSION' + include 'COMMON.FFIELD' + include 'COMMON.NAMES' + include 'COMMON.SBRIDGE' + include 'COMMON.SCROT' + include 'COMMON.SCCOR' + include 'COMMON.ALLPARM' + integer i,j,k,l,m,mm,iparm + +c Store weights + ww_all(1,iparm)=wsc + ww_all(2,iparm)=wscp + ww_all(3,iparm)=welec + ww_all(4,iparm)=wcorr + ww_all(5,iparm)=wcorr5 + ww_all(6,iparm)=wcorr6 + ww_all(7,iparm)=wel_loc + ww_all(8,iparm)=wturn3 + ww_all(9,iparm)=wturn4 + ww_all(10,iparm)=wturn6 + ww_all(11,iparm)=wang + ww_all(12,iparm)=wscloc + ww_all(13,iparm)=wtor + ww_all(14,iparm)=wtor_d + ww_all(15,iparm)=wstrain + ww_all(16,iparm)=wvdwpp + ww_all(17,iparm)=wbond + ww_all(19,iparm)=wsccor +c Store bond parameters + vbldp0_all(iparm)=vbldp0 + akp_all(iparm)=akp + do i=1,ntyp + nbondterm_all(i,iparm)=nbondterm(i) + do j=1,nbondterm(i) + vbldsc0_all(j,i,iparm)=vbldsc0(j,i) + aksc_all(j,i,iparm)=aksc(j,i) + abond0_all(j,i,iparm)=abond0(j,i) + enddo + enddo +c Store bond angle parameters +#ifdef CRYST_THETA + do i=1,ntyp + a0thet_all(i,iparm)=a0thet(i) + do j=1,2 + athet_all(j,i,iparm)=athet(j,i) + bthet_all(j,i,iparm)=bthet(j,i) + enddo + do j=0,3 + polthet_all(j,i,iparm)=polthet(j,i) + enddo + do j=1,3 + gthet_all(j,i,iparm)=gthet(j,i) + enddo + theta0_all(i,iparm)=theta0(i) + sig0_all(i,iparm)=sig0(i) + sigc0_all(i,iparm)=sigc0(i) + enddo +#else + nthetyp_all(iparm)=nthetyp + ntheterm_all(iparm)=ntheterm + ntheterm2_all(iparm)=ntheterm2 + ntheterm3_all(iparm)=ntheterm3 + nsingle_all(iparm)=nsingle + ndouble_all(iparm)=ndouble + nntheterm_all(iparm)=nntheterm + do i=1,ntyp1 + ithetyp_all(i,iparm)=ithetyp(i) + enddo + do i=1,maxthetyp1 + do j=1,maxthetyp1 + do k=1,maxthetyp1 + aa0thet_all(i,j,k,iparm)=aa0thet(i,j,k) + do l=1,ntheterm + aathet_all(l,i,j,k,iparm)=aathet(l,i,j,k) + enddo + do l=1,ntheterm2 + do m=1,nsingle + bbthet_all(m,l,i,j,k,iparm)=bbthet(m,l,i,j,k) + ccthet_all(m,l,i,j,k,iparm)=ccthet(m,l,i,j,k) + ddthet_all(m,l,i,j,k,iparm)=ddthet(m,l,i,j,k) + eethet_all(m,l,i,j,k,iparm)=eethet(m,l,i,j,k) + enddo + enddo + do l=1,ntheterm3 + do m=1,ndouble + do mm=1,ndouble + ffthet_all(mm,m,l,i,j,k,iparm)=ffthet(mm,m,l,i,j,k) + ggthet_all(mm,m,l,i,j,k,iparm)=ggthet(mm,m,l,i,j,k) + enddo + enddo + enddo + enddo + enddo + enddo +#endif +#ifdef CRYST_SC +c Store the sidechain rotamer parameters + do i=1,ntyp + nlob_all(i,iparm)=nlob(i) + do j=1,nlob(i) + bsc_all(j,i,iparm)=bsc(j,i) + do k=1,3 + censc_all(k,j,i,iparm)=censc(k,j,i) + enddo + do k=1,3 + do l=1,3 + gaussc_all(l,k,j,i,iparm)=gaussc(l,k,j,i) + enddo + enddo + enddo + enddo +#else + do i=1,ntyp + do j=1,65 + sc_parmin_all(j,i,iparm)=sc_parmin(j,i) + enddo + enddo +#endif +c Store the torsional parameters + do i=1,ntortyp + do j=1,ntortyp + v0_all(i,j,iparm)=v0(i,j) + nterm_all(i,j,iparm)=nterm(i,j) + nlor_all(i,j,iparm)=nlor(i,j) + do k=1,nterm(i,j) + v1_all(k,i,j,iparm)=v1(k,i,j) + v2_all(k,i,j,iparm)=v2(i,i,j) + enddo + do k=1,nlor(i,j) + vlor1_all(k,i,j,iparm)=vlor1(k,i,j) + vlor2_all(k,i,j,iparm)=vlor2(k,i,j) + vlor3_all(k,i,j,iparm)=vlor3(k,i,j) + enddo + enddo + enddo +c Store the double torsional parameters + do i=1,ntortyp + do j=1,ntortyp + do k=1,ntortyp + ntermd1_all(i,j,k,iparm)=ntermd_1(i,j,k) + ntermd2_all(i,j,k,iparm)=ntermd_2(i,j,k) + do l=1,ntermd_1(i,j,k) + v1c_all(1,l,i,j,k,iparm)=v1c(1,l,i,j,k) + v1c_all(2,l,i,j,k,iparm)=v1c(2,l,i,j,k) + v2c_all(1,l,i,j,k,iparm)=v2c(1,l,i,j,k) + v2c_all(2,l,i,j,k,iparm)=v2c(2,l,i,j,k) + enddo + do l=1,ntermd_2(i,j,k) + do m=1,ntermd_2(i,j,k) + v2s_all(l,m,i,j,k,iparm)=v2s(l,m,i,j,k) + enddo + enddo + enddo + enddo + enddo +c Store parameters of the cumulants + do i=1,nloctyp + do j=1,2 + b1_all(j,i,iparm)=b1(j,i) + b1tilde_all(j,i,iparm)=b1tilde(j,i) + b2_all(j,i,iparm)=b2(j,i) + enddo + do j=1,2 + do k=1,2 + cc_all(k,j,i,iparm)=cc(k,j,i) + ctilde_all(k,j,i,iparm)=ctilde(k,j,i) + dd_all(k,j,i,iparm)=dd(k,j,i) + dtilde_all(k,j,i,iparm)=dtilde(k,j,i) + ee_all(k,j,i,iparm)=ee(k,j,i) + enddo + enddo + enddo +c Store the parameters of electrostatic interactions + do i=1,2 + do j=1,2 + app_all(j,i,iparm)=app(j,i) + bpp_all(j,i,iparm)=bpp(j,i) + ael6_all(j,i,iparm)=ael6(j,i) + ael3_all(j,i,iparm)=ael3(j,i) + enddo + enddo +c Store sidechain parameters + do i=1,ntyp + do j=1,ntyp + aa_all(j,i,iparm)=aa(j,i) + bb_all(j,i,iparm)=bb(j,i) + r0_all(j,i,iparm)=r0(j,i) + sigma_all(j,i,iparm)=sigma(j,i) + chi_all(j,i,iparm)=chi(j,i) + chipp_all(j,i,iparm)=chipp(j,i) + augm_all(j,i,iparm)=augm(j,i) + eps_all(j,i,iparm)=eps(j,i) + sigmap1_all(j,i,iparm)=sigmap1(j,i) + sigmap2_all(j,i,iparm)=sigmap2(j,i) + chis_all(j,i,iparm)=chis(j,i) + do k=1,4 + alphasur_all(k,j,i,iparm)=alphasur(k,j,i) + wstate_all(k,j,i,iparm)=wstate(k,j,i) + enddo + nstate_all(j,i,iparm)=nstate(j,i) + do k=1,2 + do l=1,2 + dhead_all(l,k,j,i,iparm)=dhead(l,k,j,i) + enddo + enddo + do k=1,2 + dtail_all(k,j,i,iparm)=dtail(k,j,i) + enddo + epshead_all(j,i,iparm)=epshead(j,i) + rborn_all(j,i,iparm)=rborn(j,i) + do k=1,2 + wqdip_all(k,j,i,iparm)=wqdip(k,j,i) + enddo + wquad_all(j,i,iparm)=wquad(j,i) + alphapol_all(j,i,iparm)=alphapol(j,i) + do k=1,4 + alphiso_all(k,j,i,iparm)=alphiso(k,j,i) + enddo + sigiso1_all(j,i,iparm)=sigiso1(j,i) + sigiso2_all(j,i,iparm)=sigiso2(j,i) + epsintab_all(j,i,iparm)=epsintab(j,i) + enddo + enddo + do i=1,ntyp + chip_all(i,iparm)=chip(i) + alp_all(i,iparm)=alp(i) + enddo +c Store the SCp parameters + do i=1,ntyp + do j=1,2 + aad_all(i,j,iparm)=aad(i,j) + bad_all(i,j,iparm)=bad(i,j) + enddo + enddo +c Store disulfide-bond parameters + ebr_all(iparm)=ebr + d0cm_all(iparm)=d0cm + akcm_all(iparm)=akcm + akth_all(iparm)=akth + akct_all(iparm)=akct + v1ss_all(iparm)=v1ss + v2ss_all(iparm)=v2ss + v3ss_all(iparm)=v3ss +c Store SC-backbone correlation parameters + do i=1,nsccortyp + do j=1,nsccortyp + + nterm_sccor_all(j,i,iparm)=nterm_sccor(j,i) + do l=1,3 + do k=1,nterm_sccor(j,i) + v1sccor_all(k,l,j,i,iparm)=v1sccor(k,l,j,i) + v2sccor_all(k,l,j,i,iparm)=v2sccor(k,l,j,i) + enddo + enddo + enddo + enddo + return + end +c-------------------------------------------------------------------------- + subroutine restore_parm(iparm) +C +C Store parameters of set IPARM +C valence angles and the side chains and energy parameters. +C + implicit none + include 'DIMENSIONS' + include 'DIMENSIONS.ZSCOPT' + include 'DIMENSIONS.FREE' + include 'COMMON.IOUNITS' + include 'COMMON.CHAIN' + include 'COMMON.INTERACT' + include 'COMMON.GEO' + include 'COMMON.LOCAL' + include 'COMMON.TORSION' + include 'COMMON.FFIELD' + include 'COMMON.NAMES' + include 'COMMON.SBRIDGE' + include 'COMMON.SCROT' + include 'COMMON.SCCOR' + include 'COMMON.ALLPARM' + integer i,j,k,l,m,mm,iparm + +c Restore weights + wsc=ww_all(1,iparm) + wscp=ww_all(2,iparm) + welec=ww_all(3,iparm) + wcorr=ww_all(4,iparm) + wcorr5=ww_all(5,iparm) + wcorr6=ww_all(6,iparm) + wel_loc=ww_all(7,iparm) + wturn3=ww_all(8,iparm) + wturn4=ww_all(9,iparm) + wturn6=ww_all(10,iparm) + wang=ww_all(11,iparm) + wscloc=ww_all(12,iparm) + wtor=ww_all(13,iparm) + wtor_d=ww_all(14,iparm) + wstrain=ww_all(15,iparm) + wvdwpp=ww_all(16,iparm) + wbond=ww_all(17,iparm) + wsccor=ww_all(19,iparm) +c Restore bond parameters + vbldp0=vbldp0_all(iparm) + akp=akp_all(iparm) + do i=1,ntyp + nbondterm(i)=nbondterm_all(i,iparm) + do j=1,nbondterm(i) + vbldsc0(j,i)=vbldsc0_all(j,i,iparm) + aksc(j,i)=aksc_all(j,i,iparm) + abond0(j,i)=abond0_all(j,i,iparm) + enddo + enddo +c Restore bond angle parameters +#ifdef CRYST_THETA + do i=1,ntyp + a0thet(i)=a0thet_all(i,iparm) + do j=1,2 + athet(j,i)=athet_all(j,i,iparm) + bthet(j,i)=bthet_all(j,i,iparm) + enddo + do j=0,3 + polthet(j,i)=polthet_all(j,i,iparm) + enddo + do j=1,3 + gthet(j,i)=gthet_all(j,i,iparm) + enddo + theta0(i)=theta0_all(i,iparm) + sig0(i)=sig0_all(i,iparm) + sigc0(i)=sigc0_all(i,iparm) + enddo +#else + nthetyp=nthetyp_all(iparm) + ntheterm=ntheterm_all(iparm) + ntheterm2=ntheterm2_all(iparm) + ntheterm3=ntheterm3_all(iparm) + nsingle=nsingle_all(iparm) + ndouble=ndouble_all(iparm) + nntheterm=nntheterm_all(iparm) + do i=1,ntyp1 + ithetyp(i)=ithetyp_all(i,iparm) + enddo + do i=1,maxthetyp1 + do j=1,maxthetyp1 + do k=1,maxthetyp1 + aa0thet(i,j,k)=aa0thet_all(i,j,k,iparm) + do l=1,ntheterm + aathet(l,i,j,k)=aathet_all(l,i,j,k,iparm) + enddo + do l=1,ntheterm2 + do m=1,nsingle + bbthet(m,l,i,j,k)=bbthet_all(m,l,i,j,k,iparm) + ccthet(m,l,i,j,k)=ccthet_all(m,l,i,j,k,iparm) + ddthet(m,l,i,j,k)=ddthet_all(m,l,i,j,k,iparm) + eethet(m,l,i,j,k)=eethet_all(m,l,i,j,k,iparm) + enddo + enddo + do l=1,ntheterm3 + do m=1,ndouble + do mm=1,ndouble + ffthet(mm,m,l,i,j,k)=ffthet_all(mm,m,l,i,j,k,iparm) + ggthet(mm,m,l,i,j,k)=ggthet_all(mm,m,l,i,j,k,iparm) + enddo + enddo + enddo + enddo + enddo + enddo +#endif +c Restore the sidechain rotamer parameters +#ifdef CRYST_SC + do i=1,ntyp + nlob(i)=nlob_all(i,iparm) + do j=1,nlob(i) + bsc(j,i)=bsc_all(j,i,iparm) + do k=1,3 + censc(k,j,i)=censc_all(k,j,i,iparm) + enddo + do k=1,3 + do l=1,3 + gaussc(l,k,j,i)=gaussc_all(l,k,j,i,iparm) + enddo + enddo + enddo + enddo +#else + do i=1,ntyp + do j=1,65 + sc_parmin(j,i)=sc_parmin_all(j,i,iparm) + enddo + enddo +#endif +c Restore the torsional parameters + do i=1,ntortyp + do j=1,ntortyp + v0(i,j)=v0_all(i,j,iparm) + nterm(i,j)=nterm_all(i,j,iparm) + nlor(i,j)=nlor_all(i,j,iparm) + do k=1,nterm(i,j) + v1(k,i,j)=v1_all(k,i,j,iparm) + v2(i,i,j)=v2_all(k,i,j,iparm) + enddo + do k=1,nlor(i,j) + vlor1(k,i,j)=vlor1_all(k,i,j,iparm) + vlor2(k,i,j)=vlor2_all(k,i,j,iparm) + vlor3(k,i,j)=vlor3_all(k,i,j,iparm) + enddo + enddo + enddo +c Restore the double torsional parameters + do i=1,ntortyp + do j=1,ntortyp + do k=1,ntortyp + ntermd_1(i,j,k)=ntermd1_all(i,j,k,iparm) + ntermd_2(i,j,k)=ntermd2_all(i,j,k,iparm) + do l=1,ntermd_1(i,j,k) + v1c(1,l,i,j,k)=v1c_all(1,l,i,j,k,iparm) + v1c(2,l,i,j,k)=v1c_all(2,l,i,j,k,iparm) + v2c(1,l,i,j,k)=v2c_all(1,l,i,j,k,iparm) + v2c(2,l,i,j,k)=v2c_all(2,l,i,j,k,iparm) + enddo + do l=1,ntermd_2(i,j,k) + do m=1,ntermd_2(i,j,k) + v2s(l,m,i,j,k)=v2s_all(l,m,i,j,k,iparm) + enddo + enddo + enddo + enddo + enddo +c Restore parameters of the cumulants + do i=1,nloctyp + do j=1,2 + b1(j,i)=b1_all(j,i,iparm) + b1tilde(j,i)=b1tilde_all(j,i,iparm) + b2(j,i)=b2_all(j,i,iparm) + enddo + do j=1,2 + do k=1,2 + cc(k,j,i)=cc_all(k,j,i,iparm) + ctilde(k,j,i)=ctilde_all(k,j,i,iparm) + dd(k,j,i)=dd_all(k,j,i,iparm) + dtilde(k,j,i)=dtilde_all(k,j,i,iparm) + ee(k,j,i)=ee_all(k,j,i,iparm) + enddo + enddo + enddo +c Restore the parameters of electrostatic interactions + do i=1,2 + do j=1,2 + app(j,i)=app_all(j,i,iparm) + bpp(j,i)=bpp_all(j,i,iparm) + ael6(j,i)=ael6_all(j,i,iparm) + ael3(j,i)=ael3_all(j,i,iparm) + enddo + enddo +c Restore sidechain parameters + do i=1,ntyp + do j=1,ntyp + aa(j,i)=aa_all(j,i,iparm) + bb(j,i)=bb_all(j,i,iparm) + r0(j,i)=r0_all(j,i,iparm) + sigma(j,i)=sigma_all(j,i,iparm) + chi(j,i)=chi_all(j,i,iparm) + chipp(j,i)=chipp_all(j,i,iparm) + augm(j,i)=augm_all(j,i,iparm) + eps(j,i)=eps_all(j,i,iparm) + sigmap1(j,i)=sigmap1_all(j,i,iparm) + sigmap2(j,i)=sigmap2_all(j,i,iparm) + chis(j,i)=chis_all(j,i,iparm) + do k=1,4 + alphasur(k,j,i)=alphasur_all(k,j,i,iparm) + wstate(k,j,i)=wstate_all(k,j,i,iparm) + enddo + nstate(j,i)=nstate_all(j,i,iparm) + do k=1,2 + do l=1,2 + dhead(l,k,j,i)=dhead_all(l,k,j,i,iparm) + enddo + enddo + do k=1,2 + dtail(k,j,i)=dtail_all(k,j,i,iparm) + enddo + epshead(j,i)=epshead_all(j,i,iparm) + rborn(j,i)=rborn_all(j,i,iparm) + do k=1,2 + wqdip(k,j,i)=wqdip_all(k,j,i,iparm) + enddo + wquad(j,i)=wquad_all(j,i,iparm) + alphapol(j,i)=alphapol_all(j,i,iparm) + do k=1,4 + alphiso(k,j,i)=alphiso_all(k,j,i,iparm) + enddo + sigiso1(j,i)=sigiso1_all(j,i,iparm) + sigiso2(j,i)=sigiso2_all(j,i,iparm) + epsintab(j,i)=epsintab_all(j,i,iparm) + enddo + enddo + do i=1,ntyp + chip(i)=chip_all(i,iparm) + alp(i)=alp_all(i,iparm) + enddo +c Restore the SCp parameters + do i=1,ntyp + do j=1,2 + aad(i,j)=aad_all(i,j,iparm) + bad(i,j)=bad_all(i,j,iparm) + enddo + enddo +c Restore disulfide-bond parameters + ebr=ebr_all(iparm) + d0cm=d0cm_all(iparm) + akcm=akcm_all(iparm) + akth=akth_all(iparm) + akct=akct_all(iparm) + v1ss=v1ss_all(iparm) + v2ss=v2ss_all(iparm) + v3ss=v3ss_all(iparm) +c Restore SC-backbone correlation parameters + do i=1,nsccortyp + do j=1,nsccortyp + + nterm_sccor(j,i)=nterm_sccor_all(j,i,iparm) +c do i=1,20 +c do j=1,20 + do l=1,3 + do k=1,nterm_sccor(j,i) + v1sccor(k,l,j,i)=v1sccor_all(k,l,j,i,iparm) + v2sccor(k,l,j,i)=v2sccor_all(k,l,j,i,iparm) + enddo + enddo + enddo + enddo + return + end