code: def _compute_ll(self):
          
          self.fracs = []
          self.logP  = []
          self.ll    = []
          for i in range(self.width):
              Dll  = {'A': 0, 'C': 0, 'T': 0, 'G': 0}
              Df   = {'A': 0, 'C': 0, 'T': 0, 'G': 0}
              DlogP= {'A': 0, 'C': 0, 'T': 0, 'G': 0}
              for key in self.counts[i].keys():
                  #print i,key,self.counts[i][key],self.nseqs
                  Pij = self.counts[i][key] / float(self.nseqs)
                  Df [key] = Pij
                  Dll[key] = (math.log( (self.counts[i][key] + self.bgscale*self.background[key] ) / 
                                        ((self.nseqs + self.bgscale) * self.background[key])     ) /
                              math.log(2))
                  if Pij > 0:
                      DlogP[key]  = math.log(Pij)/math.log(2)
                  else:
                      DlogP[key]  = -100  #Near zero
              self.fracs.append(Df)
              self.logP.append (DlogP)
              self.ll.append   (Dll)
          self.P = self.fracs
          self._compute_bits()
          self._compute_ambig_ll()
          self._maxscore()
docs: m._compute_ll() -- [utility] Compute the log-likelihood matrix from the count matrix