X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fcompare.F90;h=45ed3e589959d3da2ce036b810388d2e7dcda151;hb=d4033f3ee5e94f3f22692d69fea70e36f231ebd1;hp=c9380984d00140ef356c573f285c7adec32128b3;hpb=b75e68533dc131221f1af10f6b2b81d65c1acade;p=unres4.git diff --git a/source/unres/compare.F90 b/source/unres/compare.F90 index c938098..45ed3e5 100644 --- a/source/unres/compare.F90 +++ b/source/unres/compare.F90 @@ -41,14 +41,25 @@ logical :: lprint !el local variables real(kind=8) :: co,rcomp - integer :: kkk,i,j,i1,i2,it1,it2,iti,itj + integer :: kkk,i,j,i1,i2,it1,it2,iti,itj,inum,jnum ncont=0 kkk=3 do i=nnt+kkk,nct - iti=iabs(itype(i)) + iti=iabs(itype(i,molnum(i))) + if (molnum(i).lt.3) then + inum=i+nres + else + inum=i + endif + do j=nnt,i-kkk - itj=iabs(itype(j)) + itj=iabs(itype(j,molnum(i))) + if (molnum(j).lt.3) then + jnum=j+nres + else + jnum=j + endif if (ipot.ne.4) then ! rcomp=sigmaii(iti,itj)+1.0D0 rcomp=facont*sigmaii(iti,itj) @@ -58,7 +69,7 @@ endif ! rcomp=6.5D0 ! print *,'rcomp=',rcomp,' dist=',dist(nres+i,nres+j) - if (dist(nres+i,nres+j).lt.rcomp) then + if (dist(inum,jnum).lt.rcomp) then ncont=ncont+1 icont(1,ncont)=i icont(2,ncont)=j @@ -70,10 +81,10 @@ do i=1,ncont i1=icont(1,i) i2=icont(2,i) - it1=itype(i1) - it2=itype(i2) + it1=itype(i1,1) + it2=itype(i2,1) write (iout,'(i3,2x,a,i4,2x,a,i4)') & - i,restyp(it1),i1,restyp(it2),i2 + i,restyp(it1,1),i1,restyp(it2,1),i2 enddo endif co = 0.0d0 @@ -181,10 +192,10 @@ do i=1,ncont i1=icont(1,i) i2=icont(2,i) - it1=itype(i1) - it2=itype(i2) + it1=itype(i1,1) + it2=itype(i2,1) write (iout,'(i3,2x,a,i4,2x,a,i4)') & - i,restyp(it1),i1,restyp(it2),i2 + i,restyp(it1,1),i1,restyp(it2,1),i2 enddo endif ! finding hairpins @@ -230,10 +241,10 @@ ii1=iharp(3,i) jj1=iharp(4,i) write (iout,*) - write (iout,'(20(a,i3,1x))') (restyp(itype(k)),k,k=i1,ii1) - write (iout,'(20(a,i3,1x))') (restyp(itype(k)),k,k=j1,jj1,-1) + write (iout,'(20(a,i3,1x))') (restyp(itype(k,1),1),k,k=i1,ii1) + write (iout,'(20(a,i3,1x))') (restyp(itype(k,1),1),k,k=j1,jj1,-1) ! do k=jj1,j1,-1 -! write (iout,'(a,i3,$)') restyp(itype(k)),k +! write (iout,'(a,i3,$)') restyp(itype(k,1)),k ! enddo enddo endif @@ -300,8 +311,9 @@ ncont=0 ees=0.0 evdw=0.0 + print *, "nntt,nct",nnt,nct-2 do 1 i=nnt,nct-2 - if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1) goto 1 + if (itype(i,1).eq.ntyp1 .or. itype(i+1,1).eq.ntyp1) goto 1 xi=c(1,i) yi=c(2,i) zi=c(3,i) @@ -312,7 +324,7 @@ ymedi=yi+0.5*dyi zmedi=zi+0.5*dzi do 4 j=i+2,nct-1 - if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1) goto 4 + if (itype(j,1).eq.ntyp1 .or. itype(j+1,1).eq.ntyp1) goto 4 iteli=itel(i) itelj=itel(j) if (j.eq.i+2 .and. itelj.eq.2) iteli=2 @@ -363,10 +375,10 @@ do i=1,ncont i1=icont(1,i) i2=icont(2,i) - it1=itype(i1) - it2=itype(i2) + it1=itype(i1,1) + it2=itype(i2,1) write (iout,'(i3,2x,a,i4,2x,a,i4,f10.5)') & - i,restyp(it1),i1,restyp(it2),i2,econt(i) + i,restyp(it1,1),i1,restyp(it2,1),i2,econt(i) enddo endif ! For given residues keep only the contacts with the greatest energy. @@ -449,10 +461,10 @@ do i=1,ncont i1=icont(1,i) i2=icont(2,i) - it1=itype(i1) - it2=itype(i2) + it1=itype(i1,1) + it2=itype(i2,1) write (iout,'(i3,2x,a,i4,2x,a,i4,f10.5)') & - i,restyp(it1),i1,restyp(it2),i2,econt(i) + i,restyp(it1,1),i1,restyp(it2,1),i2,econt(i) enddo endif return @@ -471,7 +483,7 @@ integer :: ncont,i,j,i1,j1,nbeta,nstrand,ii1,jj1,ij,nhelix,& iii1,jjj1 integer,dimension(2,12*nres) :: icont !(2,maxcont) (maxcont=12*maxres) - integer,dimension(nres,4) :: isec !(maxres,4) + integer,dimension(nres,0:4) :: isec !(maxres,4) integer,dimension(nres) :: nsec !(maxres) logical :: lprint,not_done !,freeres real(kind=8) :: p1,p2 @@ -492,6 +504,8 @@ enddo call elecont(lprint,ncont,icont) + print *,"after elecont" + if (nres_molec(1).eq.0) return ! finding parallel beta !d write (iout,*) '------- looking for parallel beta -----------' @@ -742,7 +756,7 @@ write(12,'(a37)') "DefPropRes 'coil' '! (helix | sheet)'" write(12,'(a20)') "XMacStand ribbon.mac" - + if (nres_molec(1).eq.0) return write(iout,*) 'UNRES seq:' do j=1,nbfrag write(iout,*) 'beta ',(bfrag(i,j),i=1,4) @@ -815,6 +829,7 @@ ! & obr,non_conv) ! rms=dsqrt(rms) call rmsd(rms) +! print *,"before contact" !elte(iout,*) "rms_nacc before contact" call contact(.false.,ncont,icont,co) frac=contact_fract(ncont,ncont_ref,icont,icont_ref) @@ -861,7 +876,7 @@ do kkk=1,nperm ! do i=nz_start,nz_end ! iatom=iatom+1 -! iti=itype(i) +! iti=itype(i,1) ! do k=1,3 ! ccopy(k,iatom)=c(k,i+nstart_seq-nstart_sup) ! crefcopy(k,iatom,kkk)=cref(k,i,kkk) @@ -877,9 +892,10 @@ ! else ! do kkk=1,nperm iatom=0 + print *,nz_start,nz_end,nstart_seq-nstart_sup do i=nz_start,nz_end iatom=iatom+1 - iti=itype(i) + iti=itype(i,1) do k=1,3 ccopy(k,iatom)=c(k,i+nstart_seq-nstart_sup) crefcopy(k,iatom)=cref(k,i,kkk) @@ -959,7 +975,7 @@ iatom=0 do i=nz_start,nz_end iatom=iatom+1 - iti=itype(i) + iti=itype(i,1) do k=1,3 ccopy(k,iatom)=c(k,i) crefcopy(k,iatom)=crefjlee(k,i) @@ -3935,20 +3951,20 @@ c(j,i)=cart_base(j,i+ist,ii) ! cref(j,i)=c(j,i) enddo -!d write (iout,'(a,i4,3f10.5)') restyp(itype(i)),i,(c(j,i),j=1,3) +!d write (iout,'(a,i4,3f10.5)') restyp(itype(i,1)),i,(c(j,i),j=1,3) enddo !d call fitsq(rms,c(1,nnt),cref(1,nnt),nct-nnt+1,przes,obr, !d non_conv) !d write (iout,'(a,f10.5)') !d & 'Initial RMS deviation from reference structure:',rms - if (itype(nres).eq.ntyp1) then + if (itype(nres,1).eq.ntyp1) then do j=1,3 dcj=c(j,nres-2)-c(j,nres-3) c(j,nres)=c(j,nres-1)+dcj c(j,2*nres)=c(j,nres) enddo endif - if (itype(1).eq.ntyp1) then + if (itype(1,1).eq.ntyp1) then do j=1,3 dcj=c(j,4)-c(j,3) c(j,1)=c(j,2)-dcj @@ -4178,9 +4194,9 @@ link_end0=link_end link_end=min0(link_end,nss) do i=nnt,nct - if (itype(i).ne.10) then -!d print *,'i=',i,' itype=',itype(i),' theta=',theta(i+1) - call gen_side(itype(i),theta(i+1),alph(i),omeg(i),fail) + if (itype(i,1).ne.10) then +!d print *,'i=',i,' itype=',itype(i,1),' theta=',theta(i+1) + call gen_side(itype(i,1),theta(i+1),alph(i),omeg(i),fail,1) endif enddo call chainbuild @@ -4191,12 +4207,12 @@ glycine=.true. do while(glycine) ind_sc=iran_num(nnt,nct) - glycine=(itype(ind_sc).eq.10) + glycine=(itype(ind_sc,1).eq.10) enddo alph0=alph(ind_sc) omeg0=omeg(ind_sc) - call gen_side(itype(ind_sc),theta(ind_sc+1),alph(ind_sc),& - omeg(ind_sc),fail) + call gen_side(itype(ind_sc,1),theta(ind_sc+1),alph(ind_sc),& + omeg(ind_sc),fail,1) call chainbuild call etotal(energia) !d write (iout,'(a,i5,a,i4,2(a,f8.3),2(a,1pe14.5))')