code: def ma_plot(self, thresh, up_kwargs=None, dn_kwargs=None,
                  zero_line=None, **kwargs):
          
          genes_to_highlight = kwargs.pop('genes_to_highlight', [])
          genes_to_highlight.append(
              (self.upregulated(thresh),
               up_kwargs or dict(color='r')))
          genes_to_highlight.append(
              (self.downregulated(thresh),
               dn_kwargs or dict(color='b')))
          if zero_line is None:
              zero_line = {}
          x = self.mean_column
          y = self.lfc_column
  
          if 'xfunc' not in kwargs:
              kwargs['xfunc'] = np.log
          ax = self.scatter(
              x=x,
              y=y,
              genes_to_highlight=genes_to_highlight,
              **kwargs)
          if zero_line:
              ax.axhline(0, **zero_line)
          return ax
docs: MA plot
  
          Plots the average read count across treatments (x-axis) vs the log2
          fold change (y-axis).
  
          Additional kwargs are passed to self.scatter (useful ones might include
          `genes_to_highlight`)
  
          Parameters
          ----------
          thresh : float
              Features with values <= `thresh` will be highlighted in the plot.
  
          up_kwargs, dn_kwargs : None or dict
              Kwargs passed to matplotlib's scatter(), used for styling up/down
              regulated features (defined by `thresh` and `col`)
  
          zero_line : None or dict
              Kwargs passed to matplotlib.axhline(0).