projects
/
unres.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'prerelease-3.2.1' of mmka:unres into prerelease-3.2.1
[unres.git]
/
source
/
unres
/
src_MD
/
int_to_cart.f
diff --git
a/source/unres/src_MD/int_to_cart.f
b/source/unres/src_MD/int_to_cart.f
index
149e86f
..
73e8384
100644
(file)
--- a/
source/unres/src_MD/int_to_cart.f
+++ b/
source/unres/src_MD/int_to_cart.f
@@
-13,9
+13,15
@@
c-------------------------------------------------------------
include 'COMMON.INTERACT'
include 'COMMON.MD'
include 'COMMON.IOUNITS'
include 'COMMON.INTERACT'
include 'COMMON.MD'
include 'COMMON.IOUNITS'
-
+ include 'COMMON.SCCOR'
c calculating dE/ddc1
if (nres.lt.3) goto 18
c calculating dE/ddc1
if (nres.lt.3) goto 18
+c do i=1,nres
+c c do intertyp=1,3
+c write (iout,*) "przed tosyjnymi",i,intertyp,gcart(intertyp,i)
+c &,gloc_sc(1,i,icg),gloc(i,icg)
+c enddo
+c enddo
do j=1,3
gcart(j,1)=gcart(j,1)+gloc(1,icg)*dphi(j,1,4)
& +gloc(nres-2,icg)*dtheta(j,1,3)
do j=1,3
gcart(j,1)=gcart(j,1)+gloc(1,icg)*dphi(j,1,4)
& +gloc(nres-2,icg)*dtheta(j,1,3)
@@
-119,9
+125,13
@@
C INTERTYP=2 Ca...Ca...Ca...SC
C INTERTYP=3 SC...Ca...Ca...SC
c calculating dE/ddc1
18 continue
C INTERTYP=3 SC...Ca...Ca...SC
c calculating dE/ddc1
18 continue
+c do i=1,nres
+c gloc(i,icg)=0.0D0
+c write (iout,*) "poczotkoawy",i,gloc_sc(1,i,icg)
+c enddo
if (nres.lt.2) return
if ((nres.lt.3).and.(itype(1).eq.10)) return
if (nres.lt.2) return
if ((nres.lt.3).and.(itype(1).eq.10)) return
- if (itype(1).ne.10) then
+ if ((itype(1).ne.10).and.(itype(1).ne.21)) then
do j=1,3
cc Derviative was calculated for oposite vector of side chain therefore
c there is "-" sign before gloc_sc
do j=1,3
cc Derviative was calculated for oposite vector of side chain therefore
c there is "-" sign before gloc_sc
@@
-129,15
+139,16
@@
c there is "-" sign before gloc_sc
& dtauangle(j,1,1,3)
gcart(j,1)=gcart(j,1)+gloc_sc(1,0,icg)*
& dtauangle(j,1,2,3)
& dtauangle(j,1,1,3)
gcart(j,1)=gcart(j,1)+gloc_sc(1,0,icg)*
& dtauangle(j,1,2,3)
- if (itype(2).ne.10) then
+ if ((itype(2).ne.10).and.(itype(2).ne.21)) then
gxcart(j,1)= gxcart(j,1)
& -gloc_sc(3,0,icg)*dtauangle(j,3,1,3)
gcart(j,1)=gcart(j,1)+gloc_sc(3,0,icg)*
gxcart(j,1)= gxcart(j,1)
& -gloc_sc(3,0,icg)*dtauangle(j,3,1,3)
gcart(j,1)=gcart(j,1)+gloc_sc(3,0,icg)*
- dtauangle(j,3,2,3)
+ & dtauangle(j,3,2,3)
endif
enddo
endif
endif
enddo
endif
- if (nres.ge.3).and.(itype(3).ne.10) then
+ if ((nres.ge.3).and.(itype(3).ne.10).and.(itype(3).ne.21))
+ & then
do j=1,3
gcart(j,1)=gcart(j,1)+gloc_sc(2,1,icg)*dtauangle(j,2,1,4)
enddo
do j=1,3
gcart(j,1)=gcart(j,1)+gloc_sc(2,1,icg)*dtauangle(j,2,1,4)
enddo
@@
-148,36
+159,51
@@
c & +gloc_sc(intertyp,nres-2,icg)*dtheta(j,1,3)
c Calculating the remainder of dE/ddc2
do j=1,3
c Calculating the remainder of dE/ddc2
do j=1,3
- if(itype(2).ne.10) then
- if (itype(1).ne.10) gxcart=(j,2)=gxcart(j,2)+
+ if((itype(2).ne.10).and.(itype(2).ne.21)) then
+ if (itype(1).ne.10) gxcart(j,2)=gxcart(j,2)+
& gloc_sc(3,0,icg)*dtauangle(j,3,3,3)
& gloc_sc(3,0,icg)*dtauangle(j,3,3,3)
- if ((itype(3).ne.10).and.(nres.ge.3)) then
+ if ((itype(3).ne.10).and.(nres.ge.3).and.(itype(3).ne.21)) then
gxcart(j,2)=gxcart(j,2)-gloc_sc(3,1,icg)*dtauangle(j,3,1,4)
cc the - above is due to different vector direction
gcart(j,2)=gcart(j,2)+gloc_sc(3,1,icg)*dtauangle(j,3,2,4)
endif
if (nres.gt.3) then
gxcart(j,2)=gxcart(j,2)-gloc_sc(3,1,icg)*dtauangle(j,3,1,4)
cc the - above is due to different vector direction
gcart(j,2)=gcart(j,2)+gloc_sc(3,1,icg)*dtauangle(j,3,2,4)
endif
if (nres.gt.3) then
- gxcart(j,2)=gxcart(j,2)-gloc_sc(2,1,icg)*dtauangle(j,1,1,4)
+ gxcart(j,2)=gxcart(j,2)-gloc_sc(1,1,icg)*dtauangle(j,1,1,4)
cc the - above is due to different vector direction
cc the - above is due to different vector direction
- gcart(j,2)=gcart(j,2)+gloc_sc(2,1,icg)*dtauangle(j,1,2,4)
+ gcart(j,2)=gcart(j,2)+gloc_sc(1,1,icg)*dtauangle(j,1,2,4)
+c write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,2,4),"gcart"
+c write(iout,*) gloc_sc(1,1,icg),dtauangle(j,1,1,4),"gx"
endif
endif
endif
endif
- if (itype(1).ne.10) then
+ if ((itype(1).ne.10).and.(itype(1).ne.21)) then
gcart(j,2)=gcart(j,2)+gloc_sc(1,0,icg)*dtauangle(j,1,3,3)
gcart(j,2)=gcart(j,2)+gloc_sc(1,0,icg)*dtauangle(j,1,3,3)
+c write(iout,*) gloc_sc(1,0,icg),dtauangle(j,1,3,3)
endif
endif
- if ((itype(3).ne.10).and(nres.ge.3)) then
+ if ((itype(3).ne.10).and.(nres.ge.3)) then
gcart(j,2)=gcart(j,2)+gloc_sc(2,1,icg)*dtauangle(j,2,2,4)
gcart(j,2)=gcart(j,2)+gloc_sc(2,1,icg)*dtauangle(j,2,2,4)
+c write(iout,*) gloc_sc(2,1,icg),dtauangle(j,2,2,4)
+ endif
+ if ((itype(4).ne.10).and.(nres.ge.4)) then
+ gcart(j,2)=gcart(j,2)+gloc_sc(2,2,icg)*dtauangle(j,2,1,5)
+c write(iout,*) gloc_sc(2,2,icg),dtauangle(j,2,1,5)
endif
endif
+
+c write(iout,*) gcart(j,2),itype(2),itype(1),itype(3), "gcart2"
+ enddo
c If there are more than five residues
if(nres.ge.5) then
do i=3,nres-2
do j=1,3
c If there are more than five residues
if(nres.ge.5) then
do i=3,nres-2
do j=1,3
+c write(iout,*) "before", gcart(j,i)
if (itype(i).ne.10) then
gxcart(j,i)=gxcart(j,i)+gloc_sc(2,i-2,icg)
& *dtauangle(j,2,3,i+1)
if (itype(i).ne.10) then
gxcart(j,i)=gxcart(j,i)+gloc_sc(2,i-2,icg)
& *dtauangle(j,2,3,i+1)
- & -gloc_sc(1,i-1,icg)*dtauangle(j,1,1i+2)
- gcart(j,i)=gcart(j,i)+gloc_sc(1,i-1,icg)*
+ & -gloc_sc(1,i-1,icg)*dtauangle(j,1,1,i+2)
+ gcart(j,i)=gcart(j,i)+gloc_sc(1,i-1,icg)
& *dtauangle(j,1,2,i+2)
& *dtauangle(j,1,2,i+2)
+c write(iout,*) "new",j,i,
+c & gcart(j,i),gloc_sc(1,i-1,icg),dtauangle(j,1,2,i+2)
+
if (itype(i-1).ne.10) then
gxcart(j,i)=gxcart(j,i)+gloc_sc(3,i-2,icg)
&*dtauangle(j,3,3,i+1)
if (itype(i-1).ne.10) then
gxcart(j,i)=gxcart(j,i)+gloc_sc(3,i-2,icg)
&*dtauangle(j,3,3,i+1)
@@
-196,6
+222,8
@@
c If there are more than five residues
if (itype(i+1).ne.10) then
gcart(j,i)=gcart(j,i)+gloc_sc(2,i-1,icg)*
& dtauangle(j,2,2,i+2)
if (itype(i+1).ne.10) then
gcart(j,i)=gcart(j,i)+gloc_sc(2,i-1,icg)*
& dtauangle(j,2,2,i+2)
+c write(iout,*) "numer",i,gloc_sc(2,i-1,icg),
+c & dtauangle(j,2,2,i+2)
endif
if (itype(i+2).ne.10) then
gcart(j,i)=gcart(j,i)+gloc_sc(2,i,icg)*
endif
if (itype(i+2).ne.10) then
gcart(j,i)=gcart(j,i)+gloc_sc(2,i,icg)*
@@
-207,37
+235,42
@@
c If there are more than five residues
c Setting dE/ddnres-1
if(nres.ge.4) then
do j=1,3
c Setting dE/ddnres-1
if(nres.ge.4) then
do j=1,3
- if (itype(nres-1).ne.10) then
+ if ((itype(nres-1).ne.10).and.(itype(nres-1).ne.21)) then
gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(2,nres-3,icg)
& *dtauangle(j,2,3,nres)
gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(2,nres-3,icg)
& *dtauangle(j,2,3,nres)
+c write (iout,*) "gxcart(nres-1)", gloc_sc(2,nres-3,icg),
+c & dtauangle(j,2,3,nres), gxcart(j,nres-1)
if (itype(nres-2).ne.10) then
gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(3,nres-3,icg)
& *dtauangle(j,3,3,nres)
endif
if (itype(nres-2).ne.10) then
gxcart(j,nres-1)=gxcart(j,nres-1)+gloc_sc(3,nres-3,icg)
& *dtauangle(j,3,3,nres)
endif
- if (itype(nres).ne.10) then
+ if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then
gxcart(j,nres-1)=gxcart(j,nres-1)-gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,1,nres+1)
gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,2,nres+1)
endif
endif
gxcart(j,nres-1)=gxcart(j,nres-1)-gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,1,nres+1)
gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,2,nres+1)
endif
endif
- if (itype(nres-2).ne.10) then
- gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(2,nres-3,icg)*
- & *dtauangle(j,2,3,nres)
+ if ((itype(nres-2).ne.10).and.(itype(nres-2).ne.21)) then
+ gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(1,nres-3,icg)*
+ & dtauangle(j,1,3,nres)
endif
endif
- if (itype(nres).ne.10) then
+ if ((itype(nres).ne.10).and.(itype(nres).ne.21)) then
gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(2,nres-2,icg)*
gcart(j,nres-1)=gcart(j,nres-1)+gloc_sc(2,nres-2,icg)*
- *dtauangle(j,2,2,nres+1)
+ & dtauangle(j,2,2,nres+1)
+c write (iout,*) "gcart(nres-1)", gloc_sc(2,nres-2,icg),
+c & dtauangle(j,2,2,nres+1), itype(nres-1),itype(nres)
endif
enddo
endif
c Settind dE/ddnres
endif
enddo
endif
c Settind dE/ddnres
- if (nres.ge.3).and(itype(nres).ne.10)then
+ if ((nres.ge.3).and.(itype(nres).ne.10))then
do j=1,3
gxcart(j,nres)=gxcart(j,nres)+gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,3,nres+1)+gloc_sc(2,nres-2,icg)
& *dtauangle(j,2,3,nres+1)
enddo
do j=1,3
gxcart(j,nres)=gxcart(j,nres)+gloc_sc(3,nres-2,icg)
& *dtauangle(j,3,3,nres+1)+gloc_sc(2,nres-2,icg)
& *dtauangle(j,2,3,nres+1)
enddo
+ endif
c The side-chain vector derivatives
return
end
c The side-chain vector derivatives
return
end