      Subroutine Ooi (atomin, mcaaat, seqbcd, oois, seqlen)             OOI 001
c                                                                       OOI 002
c     routine to calculate Ooi numbers. these are done for n8 and n14.  OOI 003
c     all atoms are included as there is noway to handle i+/-2 over     OOI 004
c     missing densities. Numbers are for within brookhaven chain only.  OOI 005
c                                                                       OOI 006
      include 'sstruc.par'                                              OOI 007
      logical   atomin(mnchna,maxres)                                   OOI 008
      real      mcaaat(ncoord,mnchna,maxres)                            OOI 009
      character seqbcd(maxres)*6                                        OOI 010
      integer   oois(2,maxres), seqlen                                  OOI 011
                                                                        OOI 012
      integer   nxaa, stchn, wkchn(maxchn), stpl, nxchn, nxpart,        OOI 013
     &          numchn                                                  OOI 014
      character chnch*1                                                 OOI 015
      real      wkdist                                                  OOI 016
      real      atdist                                                  OOI 017
                                                                        OOI 018
      stchn = 1                                                         OOI 019
      chnch = seqbcd(1)(1:1)                                            OOI 020
      numchn = 0                                                        OOI 021
      do 200, nxaa = 1, seqlen                                          OOI 022
      if (atomin(calph,nxaa)) then                                      OOI 023
         oois(1,nxaa) = 0                                               OOI 024
         oois(2,nxaa) = 0                                               OOI 025
      else                                                              OOI 026
         oois(1,nxaa) = -1                                              OOI 027
         oois(2,nxaa) = -1                                              OOI 028
      end if                                                            OOI 029
      if (seqbcd(nxaa)(1:1) .ne. chnch) then                            OOI 030
         numchn = numchn + 1                                            OOI 031
         wkchn(numchn) = nxaa - stchn                                   OOI 032
         chnch = seqbcd(nxaa)(1:1)                                      OOI 033
         stchn = nxaa                                                   OOI 034
      end if                                                            OOI 035
  200 continue                                                          OOI 036
      numchn = numchn + 1                                               OOI 037
      wkchn(numchn) = seqlen + 1 - stchn                                OOI 038
      stpl = 0                                                          OOI 039
      do 3000, nxchn = 1, numchn                                        OOI 040
      do 2000, nxaa = stpl + 1, stpl + wkchn(nxchn) - 1                 OOI 041
      do 1000, nxpart = nxaa + 1, stpl + wkchn(nxchn)                   OOI 042
      if (atomin(calph,nxaa) .and. atomin(calph,nxpart)) then           OOI 043
         wkdist = atdist(mcaaat(1,calph,nxaa),                          OOI 044
     &            mcaaat(1,calph,nxpart))                               OOI 045
         if (wkdist .lt. ooi2rd) then                                   OOI 046
            oois(ooi2,nxaa) = oois(ooi2,nxaa) + 1                       OOI 047
            oois(ooi2,nxpart) = oois(ooi2,nxpart) + 1                   OOI 048
            if (wkdist .lt. ooi1rd) then                                OOI 049
               oois(ooi1,nxaa) = oois(ooi1,nxaa) + 1                    OOI 050
               oois(ooi1,nxpart) = oois(ooi1,nxpart) + 1                OOI 051
            end if                                                      OOI 052
         end if                                                         OOI 053
      end if                                                            OOI 054
 1000 continue                                                          OOI 055
 2000 continue                                                          OOI 056
      stpl = stpl + wkchn(nxchn)                                        OOI 057
 3000 continue                                                          OOI 058
      end                                                               OOI 059
