Function to compare MOVA and EVE.
EVE_MOVA.RdThis function plots the ROC curve in EVE for each gene and returns the AUC.
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".
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>