anchor.diff:        dimension ires(ndim)
         double precision rmsd_a,rmsd2_a
         
  -      dimension x1(ndim),y1(ndim),z1(ndim),nn1(ndim)
  -      dimension x2(ndim),y2(ndim),z2(ndim),nn2(ndim)
  +cjmht dimension x1(ndim),y1(ndim),z1(ndim),nn1(ndim)
  +cjmht dimension x2(ndim),y2(ndim),z2(ndim),nn2(ndim)
  +      real, allocatable :: x1(:),y1(:),z1(:)
  +      real, allocatable :: x2(:),y2(:),z2(:)
  +      integer, allocatable :: nn1(:), nn2(:)
   
   cjmht
         integer score_type
  
positive.code:       integer i,j,k,n_rmsd,ier,Lcomm
  
  !     Arrays to pass data into TMscore routine
        integer nn1, nn2 ! resseq of structures - assume all same
        real x1,y1,z1,x2,y2,z2 ! coordinates
        dimension x1(ndim),y1(ndim),z1(ndim),nn1(ndim)
        dimension x2(ndim),y2(ndim),z2(ndim),nn2(ndim)
  
        WRITE(*,*)'* SPICKER CALCULATING TM SCORE MATRIX *'
  
  
negative.code: c        1         2         3         4         5         6         7 !
  c 345678901234567890123456789012345678901234567890123456789012345678901234567
        program cluster
  
  cjmht Need to add interfaces for all subroutines we call with allocated arrays
        interface
        subroutine tm_score_all(ndim,n_str,Lch,x,y,z,amat,rmsd_delta,
       &                        rmsd_a)
          integer ndim
          integer n_str
          integer Lch
          real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
          real, allocatable, intent(inout) :: amat(:,:)
           real rmsd_delta
           double precision rmsd_a
        end subroutine tm_score_all
        end interface
        interface
  
        subroutine rmsd_score_all(ndim,w,n_str,Lch,x,y,z,amat,
       &                          rmsd_delta,rmsd_a)
          integer ndim
          double precision w(ndim)
          integer n_str
          integer Lch
          real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
          real, allocatable, intent(inout) :: amat(:,:)
           real rmsd_delta
           double precision rmsd_a
        end subroutine rmsd_score_all
        end interface
  
        interface
        subroutine TMscore(L1,x1,y1,z1,n1,L2,x2,y2,z2,n2,TM,Rcomm,Lcomm)
            integer L1, L2
            real, allocatable, intent(inout) :: x1(:),y1(:),z1(:)
            integer, allocatable, intent(in) :: n1(:)
            real, allocatable, intent(inout) :: x2(:),y2(:),z2(:)
            integer, allocatable, intent(in) :: n2(:)
            real TM, Rcomm
            integer Lcomm
        end subroutine TMscore
        end interface
  cjmt  END INTERFACES
  
        parameter(ndim=2000)      !Length
        parameter(nst=13000)      !number of used structure, maximum allowed
  c      parameter(nst=100)      !number of used structure, maximum allowed
  