code: def calculate_auc_var(auc_structure):
      
  
      # split data by activity class
      actives, decoys = splitter(auc_structure)
  
      # variance due to actives = E[ (fpf - E(fpf)a) ** 2]a
      fpf = [x[4] for x in actives]
      aucvar_a = np.var(fpf, ddof=1, dtype=np.float64)
  
      # variance due to decoys = E[ (tpf - E(tpf)d) ** 2]d
      tpf = [x[5] for x in decoys]
      aucvar_d = np.var(tpf, ddof=1, dtype=np.float64)
  
      return (aucvar_a, aucvar_d)
docs: determine AUC variance due to actives (aucvar_a) and decoys (aucvar_d)
      :param roc_structure: list [(id, best_score, best_query, status, fpf, tpf), ...,]
      :return (aucvar_a, aucvar_d): tuple variance due to actives and decoys, respectively