Question: Generate ROC curve for RNA-seq/qRT-PCR data
gravatar for James Ashmore
3.4 years ago by
James Ashmore3.0k
UK/Edinburgh/MRC Centre for Regenerative Medicine
James Ashmore3.0k wrote:

I'm trying to generate a ROC curve for different RNA-seq normalisations, using qRT-PCR data for comparison. I want to define True Positives from the RNA-seq data as genes which are measured as significantly differentially expressed (FDR < 0.05) in the same direction (logFC) from the qRT-PCR data.

I am using the following function to generate my ROC curves (from this excellent single-cell RNA-seq tutorial):

DE_Quality_AUC <- function(pVals) {

    # Only use RNA-seq genes which are also in the qRT-PCR dataset
    pVals <- pVals[names(pVals) %in% GroundTruth$DE | 
                   names(pVals) %in% GroundTruth$notDE]

    # Create vector of classifications
    truth <- rep(1, times = length(pVals));

    # Classify true positives
    truth[names(pVals) %in% GroundTruth$DE] = 0;

    # Generate ROC/AUC values based on FDR from differential expression analysis
    pred <- ROCR::prediction(pVals, truth)
    perf <- ROCR::performance(pred, "tpr", "fpr")

    # Plot ROC curve

    # Return AUC value
    aucObj <- ROCR::performance(pred, "auc")


However this does not take into account if the fold change between the RNA-seq and qRT-PCR data is in the same direction, and I'm struggling to come up with a way to incorporate this additional classifier, any ideas?

rna-seq roc R • 2.4k views
ADD COMMENTlink modified 3.2 years ago by Biostar ♦♦ 20 • written 3.4 years ago by James Ashmore3.0k

Maybe you could multiply p.value by sign( log fold-change )?

ADD REPLYlink modified 3.4 years ago • written 3.4 years ago by h.mon32k

Presuming that you actually have the fold-change values from both RNA-seq and RT-qPCR, couldn't you just further work with your 'truth' vector and only retain values of 1 where the fold-change direction is also the same?


ADD REPLYlink modified 3.4 years ago • written 3.4 years ago by Kevin Blighe69k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1136 users visited in the last hour