Skip to contents

This function plots the ROC curve in EVE for each gene and returns the AUC.

Usage

EVE_MOVA(file_name, EVE_file_name, phenotype = "Target")

Arguments

file_name

The "gene name_Target or Pathogenic_predict.csv" file output by the MOVA function

EVE_file_name

EVE variant files for targeted genes. These files are available at https://evemodel.org/.

phenotype

Specify "Target" if you want the positive variant to be the Target variant only, or "Pathogenic" if you want to include the Pathogenic variant as well. The default is "Target".

Details

Value

Return the AUC for each gene in EVE.

References

Author

Yuya Hatano

Note

See also

Examples

Hgmd_divide("./source/TARDBP.csv")
Edit_gnomAD_file("./source/gnomAD_v3.1.2_ENST00000240185_2023_02_14_13_23_48.csv", "./source/TARDBP_gnomAD.csv")
Edit_variant_data("../CADD_REVEL/AlphScore_final.tsv", "./source/TARDBP.csv", "./source/TARDBP_gnomAD.csv", "Q13148", "TARDBP", "./source/TARDBPvariantdata.csv")
Edit_polyphen_data("../dbNSFP/dbNSFP4.3a/dbNSFP4.3a_variant.chr1","./source/TARDBPvariantdata.csv", "TARDBP_alph.csv",  "Q13148",  11012654, 11025492 ,"./source/TARDBPvariantdatapol.csv", "./source/TARDBP_alphpol.csv")
Edit_final_variant_file("./source/TARDBP_alphpol.csv","./source/TARDBP_alphpol2.csv")
MOVA("./source/Q13148.fa", "TARDBP", "./source/AF-Q13148-F1-model_v2.pdb","./source/TARDBP_alphpol2.csv", "./source/TARDBPvariantdatapol.csv")
PolyPhen_MOVA("TARDBP_Target_predict.csv")
AlphScore_MOVA("TARDBP_Target_predict.csv")
CADD_MOVA("TARDBP_Target_predict.csv")
REVEL_MOVA("TARDBP_Target_predict.csv")
EVE_MOVA("TARDBP_Target_predict.csv", "../dementia/EVE_all_data/variant_files/TADBP_HUMAN.csv")

## The function is currently defined as
function (file_name, EVE_file_name, phenotype = "Target") 
{
    df <- fread(file_name)
    y <- fread(EVE_file_name)
    if (phenotype == "Target") {
        df <- df[(df$Type == "Target") | (df$Type == "Ctrl"), 
            ]
    }
    df[, `:=`(EVE, NA)]
    df[, `:=`(EVE_class, NA)]
    df$Pos <- as.integer(substr(df$change, 2, nchar(df$change) - 
        1))
    for (i in 1:nrow(df)) {
        df$EVE[i] <- y[(y$position == df$Pos[i]) & (y$mt_aa == 
            df$aaalt[i])]$EVE_scores_ASM
        df$EVE_class[i] <- y[(y$position == df$Pos[i]) & (y$mt_aa == 
            df$aaalt[i])]$EVE_classes_75_pct_retained_ASM
    }
    fwrite(df, file_name)
    df$predict <- df$EVE
    if (phenotype == "Target") {
        df$result <- df$Type2
    }
    else {
        df$result <- df$Type3
    }
    df <- subset(df, !(is.na(df$predict)))
    pred <- prediction(df$predict, df$result)
    perf <- performance(pred, "tpr", "fpr")
    plot(perf, col = "gray", add = TRUE)
    auc.tmp <- performance(pred, "auc")
    auc <- as.numeric(auc.tmp@y.values)
    return(auc)
  }
#> function (file_name, EVE_file_name, phenotype = "Target") 
#> {
#>     df <- fread(file_name)
#>     y <- fread(EVE_file_name)
#>     if (phenotype == "Target") {
#>         df <- df[(df$Type == "Target") | (df$Type == "Ctrl"), 
#>             ]
#>     }
#>     df[, `:=`(EVE, NA)]
#>     df[, `:=`(EVE_class, NA)]
#>     df$Pos <- as.integer(substr(df$change, 2, nchar(df$change) - 
#>         1))
#>     for (i in 1:nrow(df)) {
#>         df$EVE[i] <- y[(y$position == df$Pos[i]) & (y$mt_aa == 
#>             df$aaalt[i])]$EVE_scores_ASM
#>         df$EVE_class[i] <- y[(y$position == df$Pos[i]) & (y$mt_aa == 
#>             df$aaalt[i])]$EVE_classes_75_pct_retained_ASM
#>     }
#>     fwrite(df, file_name)
#>     df$predict <- df$EVE
#>     if (phenotype == "Target") {
#>         df$result <- df$Type2
#>     }
#>     else {
#>         df$result <- df$Type3
#>     }
#>     df <- subset(df, !(is.na(df$predict)))
#>     pred <- prediction(df$predict, df$result)
#>     perf <- performance(pred, "tpr", "fpr")
#>     plot(perf, col = "gray", add = TRUE)
#>     auc.tmp <- performance(pred, "auc")
#>     auc <- as.numeric(auc.tmp@y.values)
#>     return(auc)
#>   }
#> <environment: 0x0000011a8f093d50>