-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathannotate.var.class.R
More file actions
66 lines (64 loc) · 2.82 KB
/
annotate.var.class.R
File metadata and controls
66 lines (64 loc) · 2.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
annotate.var.class <- function(DNV_table, annotate.splicing = FALSE) {
effs = as.character(DNV_table$GeneEff)
standards = c("frameshift"="LGD",
"stop_gained"="LGD",
"missense"="mis",
"splice_region"=NA,
"synonymous"="syn",
"splice_acceptor"="LGD",
"splice_donor"="LGD",
"start_lost"="LGD",
"inframe_deletion"="inframe_deletion",
"inframe_insertion"="inframe_insertion",
"synonymous;missense"="mis",
"missense;missense"="mis",
"stop_lost"="LGD",
"protein_altering"="LGD",
"stop_retained"="syn",
"intronic"=NA)
standard_var = effs
if (!annotate.splicing) {
for (i in 1:length(effs)) {
standard_var[i] = standards[strsplit(effs[i], split = ";")[[1]][1]]
}
} else {
for (i in 1:length(effs)) {
if (DNV_table$spliceAI_Damage[i]&!is.na(DNV_table$spliceAI_Damage[i])) {
standard_var[i] = "LGD"
} else {
standard_var[i] = standards[strsplit(effs[i], split = ";")[[1]][1]]
}
}
}
DNV_table$vclass <- standard_var
DNV_table
}
annotate.Dmis <- function(DNV_table, score_name, cutoff) {
original_vclass <- DNV_table$vclass
# wipe out last annotation
original_vclass[original_vclass=="Dmis"]="mis"
# use new Dmis annotation
original_vclass[!is.na(DNV_table$vclass) & DNV_table$vclass %in% c("mis","Dmis") & !is.na(DNV_table[,score_name]) & DNV_table[, score_name]>=cutoff] = "Dmis"
DNV_table$vclass <- original_vclass
DNV_table
}
extract.scores.only <- function(DNV_table) {
topick <- !is.na(DNV_table$vclass)
result = data.frame(genes = as.character(DNV_table$Symbol[topick]),
vclass = as.character(DNV_table$vclass[topick]),
REVEL = as.numeric(paste(DNV_table$REVEL[topick])),
MPC = as.numeric(paste(DNV_table$MPC[topick])),
MVP2 = as.numeric(paste(DNV_table$MVP2[topick])),
CADD = as.numeric(paste(DNV_table$CADD13[topick])),
PrimateAI = as.numeric(paste(DNV_table$PrimateAI[topick])),
Polyphen2 = as.numeric(paste(DNV_table$Polyphen2[topick])),
# SIFT = as.numeric(paste(DNV_table$SIFT[topick])),
VEST = as.numeric(paste(DNV_table$VEST3[topick])),
MCAP = as.numeric(paste(DNV_table$MCAP[topick])),
EIGEN = as.numeric(paste(DNV_table$EIGEN[topick])),
GERP = as.numeric(paste(DNV_table$GERP[topick])),
gnomAD_oe = as.numeric(paste(DNV_table$LoFOvsE[topick]))
# gnomAD_pLI = as.numeric(paste(DNV_table$gnomADpLI[topick]))
)
result
}