X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M-SAXS-homology%2Freadpdb.F;h=68db17ccc93e0f4bfd6fb60ca620a3f69ac1432d;hb=34d3ad3987785642be58fb2f26557d3314215577;hp=d4fc28f029449c731734d17ee887a84619f2c204;hpb=f690e8b70bab14132839afebf080d4a28363b226;p=unres.git diff --git a/source/unres/src_MD-M-SAXS-homology/readpdb.F b/source/unres/src_MD-M-SAXS-homology/readpdb.F index d4fc28f..68db17c 100644 --- a/source/unres/src_MD-M-SAXS-homology/readpdb.F +++ b/source/unres/src_MD-M-SAXS-homology/readpdb.F @@ -107,9 +107,9 @@ c write (2,*) "ires",ires," ishift",ishift endif read(card(31:54),'(3f8.3)') (c(j,ires),j=1,3) read(card(61:66),*) bfac(ires) - if(me.eq.king.or..not.out1file) - & write (iout,'(2i3,2x,a,3f8.3)') - & ires,itype(ires),res,(c(j,ires),j=1,3) +c if(me.eq.king.or..not.out1file) +c & write (iout,'(2i3,2x,a,3f8.3)') +c & ires,itype(ires),res,(c(j,ires),j=1,3) iii=1 do j=1,3 sccor(j,iii)=c(j,ires) @@ -251,8 +251,8 @@ C Calculate internal coordinates. enddo endif call flush(iout) - write(iout,*)"before int_from_cart nres",nres - call int_from_cart(.true.,.true.) +c write(iout,*)"before int_from_cart nres",nres + call int_from_cart(.true.,.false.) do i=1,nres thetaref(i)=theta(i) phiref(i)=phi(i) @@ -262,19 +262,19 @@ C Calculate internal coordinates. dc(j,i)=c(j,i+1)-c(j,i) dc_norm(j,i)=dc(j,i)*vbld_inv(i+1) enddo - write (iout,*) i,(dc(j,i),j=1,3),(dc_norm(j,i),j=1,3), - & vbld_inv(i+1) +c write (iout,*) i,(dc(j,i),j=1,3),(dc_norm(j,i),j=1,3), +c & vbld_inv(i+1) enddo do i=2,nres-1 do j=1,3 dc(j,i+nres)=c(j,i+nres)-c(j,i) dc_norm(j,i+nres)=dc(j,i+nres)*vbld_inv(i+nres) enddo - write (iout,*) i,(dc(j,i+nres),j=1,3),(dc_norm(j,i+nres),j=1,3), - & vbld_inv(i+nres) +c write (iout,*) i,(dc(j,i+nres),j=1,3),(dc_norm(j,i+nres),j=1,3), +c & vbld_inv(i+nres) enddo - call sc_loc_geom(.true.) - call int_from_cart1(.true.) + call sc_loc_geom(.false.) + call int_from_cart1(.false.) c call chainbuild C Copy the coordinates to reference coordinates do i=1,nres @@ -350,6 +350,8 @@ ctest stop endif vbld(i+1)=dist(i,i+1) vbld_inv(i+1)=1.0d0/vbld(i+1) +c write (iout,*) "i",i+1," vbld",vbld(i+1)," vbld_inv", +c & vbld_inv(i+1) if (i.gt.1) theta(i+1)=alpha(i-1,i,i+1) if (i.gt.2) phi(i+1)=beta(i-2,i-1,i,i+1) enddo @@ -432,12 +434,16 @@ c------------------------------------------------------------------------------- do j=1,3 dc_norm(j,i)=vbld_inv(i+1)*(c(j,i+1)-c(j,i)) enddo +c write (iout,*) "i",i," dc",(dc_norm(j,i),j=1,3), +c & " vbld",vbld_inv(i+1) enddo do i=2,nres-1 if (itype(i).ne.10 .and. itype(i).ne.ntyp1) then do j=1,3 dc_norm(j,i+nres)=vbld_inv(i+nres)*(c(j,i+nres)-c(j,i)) enddo +c write (iout,*) "i",i," dc",(dc_norm(j,i+nres),j=1,3), +c & " vbld",vbld_inv(i+nres) else do j=1,3 dc_norm(j,i+nres)=0.0d0 @@ -499,17 +505,17 @@ c endif enddo if (lprn) then - do i=2,nres - iti=itype(i) #ifdef MPI - if(me.eq.king.or..not.out1file) - & write (iout,'(a3,i4,3f10.5)') restyp(iti),i,xxref(i), - & yyref(i),zzref(i) -#else - write (iout,'(a3,i4,3f10.5)') restyp(iti),i,xxref(i),yyref(i), - & zzref(i) + if (me.eq.king.or..not.out1file) then #endif + write (iout,*) "xxref,yyref,zzref" + do i=2,nres + write (iout,'(a3,i4,3f10.5)') + & restyp(itype(i)),i,xxref(i),yyref(i),zzref(i) enddo +#ifdef MPI + endif +#endif endif return end @@ -539,11 +545,24 @@ c--------------------------------------------------------------------------- include 'COMMON.CHAIN' do i=1,nres-1 vbld(i+1)=vbl - vbld_inv(i+1)=1.0d0/vbld(i+1) + vbld_inv(i+1)=vblinv vbld(i+1+nres)=dsc(iabs(itype(i+1))) vbld_inv(i+1+nres)=dsc_inv(iabs(itype(i+1))) c print *,vbld(i+1),vbld(i+1+nres) enddo +c Adam 2/26/20 Alter virtual bonds for non-blocking end groups of each chain + do i=1,nchain + i1=chain_border(1,i) + i2=chain_border(2,i) + if (i1.gt.1) then + vbld(i1)=vbld(i1)/2 + vbld_inv(i1)=vbld_inv(i1)*2 + endif + if (i2.lt.nres) then + vbld(i2+1)=vbld(i2+1)/2 + vbld_inv(i2+1)=vbld_inv(i2+1)*2 + endif + enddo return end c--------------------------------------------------------------------------- @@ -835,7 +854,7 @@ C Calculate internal coordinates. enddo endif C Calculate internal coordinates. - call int_from_cart(.true.,.false.) + call int_from_cart(.true.,.true.) call sc_loc_geom(.false.) do i=1,nres thetaref(i)=theta(i)