ct.ROC: Generate a Receiver-Operator Characteristic (ROC) Curve from...

View source: R/GenerateROC.R

ct.ROCR Documentation

Generate a Receiver-Operator Characteristic (ROC) Curve from a CRISPR screen


Given a set of targets of interest, this function generates a ROC curve and associated statistics from the results of a CRISPR screen. Specifically, it orders the elements targeted in the screen in the specified direction, and then plots the cumulative proportion of positive hits on the y-axis. The corresponding vectors and Area Under the Curve (AUC) statistic are returned as a list.

Note that ranking statistics in CRISPR screens are (usually) permutation-based, and so some granularity is expected. This function does a little extra work to ensure that hits are counted as soon as the requisite value of the ranking statistic is reached regardless of where the gene is located within the block of equally-significant genes. Functionally, this means that the drawn curve is somewhat anticonservative in cases where the gene ranks are not well differentiated.


  direction = c("enrich", "deplete"),
  condense = TRUE,
  plot.it = TRUE,



A dataframe summarizing the results of the screen, returned by the function ct.generateResults.


A character vector containing the names of the targets to be tested. Only targets contained in the geneSymbol column of the provided summaryDF are considered.


Direction by which to order target signals ('enrich' or 'deplete').


Logical indicating whether the returned x and y coordinates should be 'condensed', returning only the points at which the detected proportion of target.list changes. If set to FALSE, the returned x and y vectors will explicitly indicate the curve value at every position (useful for performing curve arithmetic downstream).


Logical value indicating whether to plot the curves.


Additional parameters for 'ct.simpleResult()'


A list containing the the x and y coordinates of the curve, and the AUC statistic (invisibly).


Russell Bainer


data('essential.genes') #Note that this is an artificial example.
roc <- ct.ROC(resultsDF, essential.genes, direction = 'deplete')

RussBainer/gCrisprTools documentation built on Nov. 5, 2022, 2:35 p.m.