docs: def table_maker(subset, ind1, ind2, row_labels, col_labels, title):
      """
      `subset` provides a subsetted boolean of items to consider.  If no subset,
      you can use all with `np.ones_like(ind1) == 1`
  
      `ind1` is used to subset rows, e.g., log2fc > 0.  This is used for rows, so
      row_label might be ['upregulated', 'others']
  
      `ind2` is used to subset cols.  For example, col_labels would be
      ['bound', 'unbound']
      """
      table = [
          sum(subset & ind1 & ind2),
          sum(subset & ind1 & ~ind2),
          sum(subset & ~ind1 & ind2),
          sum(subset & ~ind1 & ~ind2)
      ]
      print
      print title
      print '-' * len(title)
      print print_2x2_table(table, row_labels=row_labels, col_labels=col_labels)
      print print_row_perc_table(
          table, row_labels=row_labels, col_labels=col_labels)
      print print_col_perc_table(
          table, row_labels=row_labels, col_labels=col_labels)
      print fisher.pvalue(*table)