| FDRcutoff | R Documentation |
This function calculates optimal cutoff thresholds for identifying significant hits in high-throughput screening data using Screen Strength (SS) analysis. It evaluates the trade-off between sensitivity and specificity by calculating the ratio of apparent FDR to baseline FDR across different zeta score thresholds.
FDRcutoff(zetaData, negGene, posGene, nonExpGene, combine = FALSE)
zetaData |
A data frame containing zeta scores calculated by the Zeta() function. Should have columns 'Zeta_D' and 'Zeta_I' representing decrease and increase direction scores, respectively. |
negGene |
A data frame or matrix containing negative control gene/siRNA identifiers. The first column should contain gene/siRNA names that match the row names in zetaData. |
posGene |
A data frame or matrix containing positive control gene/siRNA identifiers. The first column should contain gene/siRNA names that match the row names in zetaData. |
nonExpGene |
A data frame or matrix containing non-expressed gene/siRNA identifiers. These genes are used to estimate the baseline false discovery rate. The first column should contain gene/siRNA names that match the row names in zetaData. |
combine |
Logical. Whether to combine decrease and increase direction zeta scores. Default is FALSE. When TRUE, uses the sum of Zeta_D and Zeta_I; when FALSE, analyzes each direction separately. |
The function performs the following analysis:
Categorizes genes into types: "Gene" (test genes), "Positive" (positive controls), "NS_mix" (negative controls), and "non_exp" (non-expressed genes)
Calculates baseline FDR (bFDR) as the proportion of non-expressed genes in the entire dataset
For each zeta score threshold, calculates apparent FDR (aFDR) as the proportion of non-expressed genes among hits
Computes Screen Strength: SS = 1 - (aFDR / bFDR)
Generates plots showing zeta score distributions and SS curves
Higher Screen Strength values indicate better separation between true hits and false positives. Users can select appropriate thresholds based on desired sensitivity/specificity trade-offs.
A list containing:
FDR_cutOff |
A data frame with 6 columns:
|
plotList |
A list with two ggplot objects:
|
Yajing Hao, Shuyang Zhang, Junhui Li, Guofeng Zhao, Xiang-Dong Fu
data(nonExpGene)
data(negGene)
data(posGene)
data(ZseqList)
data(countMat)
ZscoreVal <- Zscore(countMat, negGene)
zetaData <- Zeta(ZscoreVal, ZseqList, SVM=FALSE)
cutoffval <- FDRcutoff(zetaData, negGene, posGene, nonExpGene, combine=TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.