1 subroutine contact(lprint,ncont,icont)
3 include 'COMMON.IOUNITS'
5 include 'COMMON.INTERACT'
6 include 'COMMON.FFIELD'
8 real*8 facont /1.569D0/ ! facont = (2/(1-sqrt(1-1/4)))**(1/6)
9 integer ncont,icont(2,maxcont)
13 c print *,'nnt=',nnt,' nct=',nct
19 c rcomp=sigmaii(iti,itj)+1.0D0
20 rcomp=facont*sigmaii(iti,itj)
22 c rcomp=sigma(iti,itj)+1.0D0
23 rcomp=facont*sigma(iti,itj)
26 c print *,'rcomp=',rcomp,' dist=',dist(nres+i,nres+j)
27 if (dist(nres+i,nres+j).lt.rcomp) then
35 write (iout,'(a)') 'Contact map:'
41 write (iout,'(i3,2x,a,i4,2x,a,i4)')
42 & i,restyp(it1),i1,restyp(it2),i2
47 c----------------------------------------------------------------------------
48 double precision function contact_fract(ncont,ncont_ref,
51 include 'COMMON.IOUNITS'
52 integer ncont,ncont_ref,icont(2,maxcont),icont_ref(2,maxcont)
54 c print *,'ncont=',ncont,' ncont_ref=',ncont_ref
55 c write (iout,'(20i4)') (icont_ref(1,i),i=1,ncont_ref)
56 c write (iout,'(20i4)') (icont_ref(2,i),i=1,ncont_ref)
57 c write (iout,'(20i4)') (icont(1,i),i=1,ncont)
58 c write (iout,'(20i4)') (icont(2,i),i=1,ncont)
61 if (icont(1,i).eq.icont_ref(1,j) .and.
62 & icont(2,i).eq.icont_ref(2,j)) nmatch=nmatch+1
65 c print *,' nmatch=',nmatch
66 c contact_fract=dfloat(nmatch)/dfloat(max0(ncont,ncont_ref))
67 contact_fract=dfloat(nmatch)/dfloat(ncont_ref)