[bd2278d] | 1 | ! *********************************************************************
|
---|
| 2 | ! This file contains eyrccr, init_abgn, eyentr, eyabgn
|
---|
| 3 | !
|
---|
| 4 | ! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann,
|
---|
| 5 | ! Jan H. Meinke, Sandipan Mohanty
|
---|
| 6 | !
|
---|
| 7 | ! Corrections to ECEPP energy terms due to R. A. Abagyan et al.
|
---|
| 8 | !
|
---|
| 9 | ! Two terms are calculated: eyrccr and eyentr, representing respectively
|
---|
| 10 | ! c a term to slightly shift the backbone dihedral angle preferences in
|
---|
| 11 | ! the ECEPP potential slightly away from the helix region, and another
|
---|
| 12 | ! term to estimate the side-chain entropy from a given configuration.
|
---|
| 13 | !
|
---|
| 14 | !
|
---|
| 15 | ! *********************************************************************
|
---|
[e40e335] | 16 | real*8 function eyrccr(nml)
|
---|
| 17 | include 'INCL.H'
|
---|
| 18 | dimension iN(mxrs),iCa(mxrs),iC(mxrs),mlvr(mxvr)
|
---|
| 19 | dimension iphi(mxrs),ipsi(mxrs)
|
---|
| 20 | common /lundds/iN,iCa,iC,mlvr,iphi,ipsi
|
---|
| 21 | character mynm*4
|
---|
| 22 |
|
---|
| 23 | if (nml.eq.0) then
|
---|
| 24 | istres=irsml1(1)
|
---|
| 25 | indres=irsml2(ntlml)
|
---|
| 26 | else
|
---|
| 27 | istres=irsml1(nml)
|
---|
| 28 | indres=irsml2(nml)
|
---|
| 29 | endif
|
---|
| 30 | et=0.0
|
---|
[bd2278d] | 31 | ! print *,'***********'
|
---|
[e40e335] | 32 | do i=istres,indres
|
---|
| 33 | mynm=seq(i)
|
---|
| 34 | call tolost(mynm)
|
---|
| 35 | if ((mynm.eq.'val').or.(mynm.eq.'ile').or.
|
---|
[bd2278d] | 36 | & (mynm.eq.'thr')) then
|
---|
[e40e335] | 37 | rsscl=1.0
|
---|
| 38 | else
|
---|
| 39 | rsscl=0.5
|
---|
| 40 | endif
|
---|
| 41 | et=et+rsscl*(1.0-sin(vlvr(ipsi(i))))
|
---|
[bd2278d] | 42 | ! print *,' contribution = ',rsscl*(1.0-sin(vlvr(ipsi(i))))
|
---|
| 43 | ! print *,'obtained using scale ',rsscl,' and angle ',
|
---|
| 44 | ! # vlvr(ipsi(i))
|
---|
[e40e335] | 45 | enddo
|
---|
[bd2278d] | 46 | ! print *,'abagyan dihedral term = ',et
|
---|
| 47 | ! print *,'***********'
|
---|
[e40e335] | 48 | eyrccr=et
|
---|
| 49 | return
|
---|
| 50 | end
|
---|
| 51 |
|
---|
| 52 | subroutine init_abgn
|
---|
| 53 | include 'INCL.H'
|
---|
| 54 | ! dimension rsstrg(mxrs)
|
---|
| 55 | ! common /abgncor/rsstrg
|
---|
| 56 | dimension xarea(nrsty),estrg(nrsty)
|
---|
| 57 | character mynm*4
|
---|
[bd2278d] | 58 | ! print *,'Initialization of Abagyan entropic term'
|
---|
| 59 | ! Maximum accessible surface areas for different residue types
|
---|
[e40e335] | 60 | data (xarea(i),i=1,nrsty)/
|
---|
[bd2278d] | 61 | ! 1 2 3 4 5
|
---|
| 62 | & 117.417 , 244.686 , 245.582 , 146.467 , 144.485 ,
|
---|
| 63 | ! 6 7 8 9 10
|
---|
| 64 | & 144.192 , 142.805 , 147.568 , 183.103 , 177.094 ,
|
---|
| 65 | ! 11 12 13 14 15
|
---|
| 66 | & 186.293 , 83.782 , 187.864 , 187.864 , 187.864 ,
|
---|
| 67 | ! 16 17 18 19 20
|
---|
| 68 | & 187.864 , 160.887 , 161.741 , 184.644 , 179.334 ,
|
---|
| 69 | ! 21 22 23 24 25
|
---|
| 70 | & 209.276 , 209.276 , 203.148 , 208.902 , 153.124 ,
|
---|
| 71 | ! 26 27 28 29 30
|
---|
| 72 | & 153.973 , 153.037 , 158.695 , 157.504 , 157.504 ,
|
---|
| 73 | ! 31 32 33 34 35
|
---|
| 74 | & 119.786 , 146.488 , 238.641 , 223.299 , 160.283 /
|
---|
| 75 | ! Entropic contribution for maximally exposed residue
|
---|
[e40e335] | 76 | data (estrg(i),i=1,nrsty)/
|
---|
[bd2278d] | 77 | ! 1ala 2arg 3arg+ 4asn 5asp
|
---|
| 78 | & 0.0 , 2.13 , 2.13 , 0.81 , 0.61 ,
|
---|
| 79 | ! 6asp- 7cys 8cyss 9gln 10glu
|
---|
| 80 | & 0.61 , 1.14 , 1.14 , 2.02 , 1.65 ,
|
---|
| 81 | ! 11glu- 12gly 13his 14hise 15hisd
|
---|
| 82 | & 1.65 , 0.0 , 0.99 , 0.99 , 0.99 ,
|
---|
| 83 | ! 16his+ 17hyp 18hypu 19ile 20leu
|
---|
| 84 | & 0.99 , 0.99 , 0.99 , 0.75 , 0.75 ,
|
---|
| 85 | ! 21lys 22lys+ 23met 24phe 25cpro
|
---|
| 86 | & 2.21 , 2.21 , 1.53 , 0.58 , 0.0 ,
|
---|
| 87 | ! 26pro 27cpru 28prou 29pron 30pro+
|
---|
| 88 | & 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
|
---|
| 89 | ! 31ser 32thr 33trp 34tyr 35val
|
---|
| 90 | & 1.19 , 1.12 , 0.97 , 0.99 , 0.50 /
|
---|
[e40e335] | 91 | do i=1,mxrs
|
---|
| 92 | rsstrg(i)=0.0
|
---|
| 93 | enddo
|
---|
| 94 | istres=irsml1(1)
|
---|
| 95 | indres=irsml2(ntlml)
|
---|
| 96 | do i=istres,indres
|
---|
| 97 | imytyp=0
|
---|
| 98 | mynm=seq(i)
|
---|
| 99 | call tolost(mynm)
|
---|
| 100 | do j=1,nrsty
|
---|
| 101 | if (rsnmcd(j).eq.mynm) imytyp=j
|
---|
[bd2278d] | 102 | ! print *,'comparing ',mynm,' with ',rsnmcd(j),imytyp
|
---|
[e40e335] | 103 | enddo
|
---|
| 104 | if (imytyp.eq.0) then
|
---|
| 105 | print *, 'Unknown residue type ',seq(i)
|
---|
| 106 | print *, 'Abagyan term strength set to 0'
|
---|
| 107 | rsstrg(i)=0.0
|
---|
| 108 | else
|
---|
| 109 | rsstrg(i)=estrg(imytyp)/xarea(imytyp)
|
---|
| 110 | endif
|
---|
[bd2278d] | 111 | ! print *,'residue ',i,seq(i),' type ',imytyp
|
---|
| 112 | ! print *, 'strength for residue ',i,seq(i),' is ',rsstrg(i)
|
---|
[e40e335] | 113 | enddo
|
---|
| 114 | print *, 'initialized Abagyan corrections to ECEPP force field'
|
---|
| 115 | end
|
---|
| 116 |
|
---|
| 117 | real*8 function eyentr(nml)
|
---|
| 118 | include 'INCL.H'
|
---|
| 119 | ! dimension rsstrg(mxrs)
|
---|
| 120 | ! common /abgncor/rsstrg
|
---|
| 121 | ! common/ressurf/surfres(mxrs)
|
---|
| 122 | ! common/bet/beta
|
---|
| 123 | eentr=0
|
---|
| 124 | if (nml.eq.0) then
|
---|
| 125 | istres=irsml1(1)
|
---|
| 126 | indres=irsml2(ntlml)
|
---|
| 127 | else
|
---|
| 128 | istres=irsml1(nml)
|
---|
| 129 | indres=irsml2(nml)
|
---|
| 130 | endif
|
---|
[bd2278d] | 131 | ! print *,'residue range ',istres,indres
|
---|
| 132 | ! print *,'for molecule ',nml
|
---|
[e40e335] | 133 | do i=istres, indres
|
---|
| 134 | aars=surfres(i)
|
---|
| 135 | strh=rsstrg(i)
|
---|
[bd2278d] | 136 | ! The maximal burial entropies were estimated at temperature 300k
|
---|
| 137 | ! The values in the array estrg are k_B * T (=300k) * Entropy
|
---|
| 138 | ! Presently we need it at temperature 1/beta, so we need to
|
---|
| 139 | ! multiply the strengths in estrg with (1/beta)/(300 kelvin)
|
---|
| 140 | ! 300 kelvin is approximately 0.59576607 kcal/mol.
|
---|
[e40e335] | 141 | eentr=eentr+aars*strh/(0.59576607*beta)
|
---|
[bd2278d] | 142 | ! print *,'contribution = ',aars*strh/(0.59576607*beta)
|
---|
| 143 | ! print *,'residue, exposed area = ',i,aars
|
---|
| 144 | ! print *,'strength = ',strh,' for residue index = ',i
|
---|
| 145 | ! print *,'beta = ',beta
|
---|
[e40e335] | 146 | enddo
|
---|
[bd2278d] | 147 | ! print *,'abagyan entropic term = ',eentr
|
---|
[e40e335] | 148 | eyentr=eentr
|
---|
| 149 | return
|
---|
| 150 | end
|
---|
| 151 |
|
---|
| 152 | real*8 function eyabgn(nml)
|
---|
| 153 | include 'INCL.H'
|
---|
| 154 | eyabgn=eyrccr(nml)+eyentr(nml)
|
---|
[bd2278d] | 155 | ! print *,'Abagyan term = ',eyabgn
|
---|
[e40e335] | 156 | return
|
---|
| 157 | end
|
---|