code: def _get_best_min_account(self, cluster, adj_list, counts):
          ''' return the min UMI(s) need to account for cluster'''
          if len(cluster) == 1:
              return list(cluster)
  
          sorted_nodes = sorted(cluster, key=lambda x: counts[x],
                                reverse=True)
  
          for i in range(len(sorted_nodes) - 1):
              if len(remove_umis(adj_list, cluster, sorted_nodes[:i+1])) == 0:
                  return sorted_nodes[:i+1f _get_best_min_account(self, cluster, adj_list, counts):
          ''' return the min UMI(s) need to account for cluster'''
          if len(cluster) == 1:
              return list(cluster)
  
          sorted_nodes = sorted(cluster, key=lambda x: counts[x],
                                reverse=True)
  
          for i in range(len(sorted_nodes) - 1):
              if len(remove_umis(adj_list, cluster, sorted_nodes[:i+1])) == 0:
                  return sorted_nodes[:i+1]
docs: return the min UMI(s) need to account for cluster