docs: def summary(self):
          """
          m.summary() -- Return a text string one-line summary of motif and its metrics
          """
          m = self
          txt = "%-34s (Bits: %5.2f  MAP: %7.2f   D: %5.3f  %3d)  E: %7.3f"%(
              m, m.totalbits, m.MAP, m.seeddist, m.seednum, nlog10(m.pvalue))
          if m.binomial!=None:  txt = txt + '  Bi: %6.2f'%(nlog10(m.binomial))
          if m.church != None:  txt = txt + '  ch: %6.2f'%(nlog10(m.church))
          if m.frac   != None:  txt = txt + '  f: %5.3f'%(m.frac)
          if m.E_site != None:  txt = txt + '  Es: %6.2f'%(nlog10(m.E_site))
          if m.E_seq  != None:  txt = txt + '  Eq: %6.2f'%(nlog10(m.E_seq))
          if m.MNCP   != None:  txt = txt + '  mn: %6.2f'%(m.MNCP)
          if m.ROC_auc!= None:  txt = txt + '  Ra: %6.4f'%(m.ROC_auc)
          if m.E_chi2 != None:
              if m.E_chi2 == 0: m.E_chi2=1e-20
              txt = txt + ' x2: %5.2f'%(nlog10(m.E_chi2))
          if m.CRA    != None:  txt = txt + '  cR: %6.4f'%(m.CRA)
          if m.Cfrac  != None:  txt = txt + '  Cf: %5.3f'%(m.Cfrac)
          if m.realpvalue != None: txt = txt + '  P: %6.4e'%(m.realpvalue)
          if m.kellis != None:  txt = txt +  '  k: %6.2f'%(m.kellis)
          if m.numbound      :  txt = txt +  '  b: %3d'%(m.numbound)
          if m.nummotif      :  txt = txt +  '  nG: %3d'%(m.nummotif)
          if m.numboundmotif :  txt = txt +  '  bn: %3d'%(m.numboundmotif)
  
          return txt