Enrichment Plotter node bug? Cannot be obtained an area = 1

Hi guys,

I'm using the Enrichment Plotter node to represent the enrichment of my virtual screening search and to calculate the area under the curve of the plot. Maybe I misunderstood the function of this node because it seems it is not possible to obtain an Area = 1.

In the workflow attached I simply tag an entry as hit (hit col = 1) if its activity value is above a certain threshold (>= 6). Then I use the Enrichment Plotter node sorting the entries by activity (descendant) and using the hit column as activity column. I would expect to have an Area = 1 (first node output) as (by construction) all hits are ordered before the first non-hit and so an optimal enrichment is achieved. Nevertheless I obtain an area = 0.968.

The optimality of the enrichment can also be seen as the enrichment line in the plot is overlapping the optimal enrichment gray line.

Please, can anybody help me with this? Do I miss something?

Thanks in advance,



In contrast to a ROC curve you can never reach an area of 1 for an enrichment plot. At least  for how we calculate the area (I don't think there is a standard way for computing AUC for enrichment plots). The area would only be 1 if you had a perfect rectangle. However, in an enrichment plot you always go one tick to the right for every data point (as opposed to a ROC curve) so it never will be a rectangle.

OK Thor, I was thinking the area was calculated in respect the upper gray line (the one representing the optimal enrichment). From here my misunderstanding.

Thank you for the explanation.