Run DrVAEN on dataset: GSE65185
1. Dataset summary
Melanoma biopsies pre and post MAPKi treatment were sent for RNAseq analysis.
2. Get and prepare dataset
The gene expression profile can be downloaded fron the GEO website (GSE65185_CuffnormFPKM.txt.gz).
The genes will be mapped to our backend gene list that are used for drug response prediction. The full gene list is here
#setwd("/path/to/GitHub/Figure/Figure5/GSE65185") cur.genes = read.table("key.genes.txt", as.is=T) cur.genes = cur.genes[,1] val.RPKM = read.table("GSE65185_CuffnormFPKM.txt", header=T, as.is=T) match(cur.genes, val.RPKM[,1]) -> ii summary(ii) new.RPKM = val.RPKM[ii, -1] apply(new.RPKM, 2, function(u){u[is.na(u)] = 0; u} ) -> raw.RPKM rownames(raw.RPKM) = cur.genes log2.raw.RPKM = log2(raw.RPKM + 1) write.table(format(log2.raw.RPKM, digits=4),file="GSE33072.Expr.tsv", row.names=T, quote=F, sep="\t")
3. Predict drug responses using DrVAEN.
Once the gene expression matrix file is genereted, we can upload the file to DrVAEN to get the predicted drug response data.

Then download the predicted responses for further analysis.
4. Further analysis: Survival analysis using the drug response data and survival data.
Here we present the example codes for the analysis.The patient survival data is available here
library("survminer") library("survival") ############################################################################################################## gdsc = read.delim("GDSC.A.pred_GSE65185.txt", as.is=T) gsub("\\.", "-", gdsc[,1]) -> ss gdsc[,1] = ss new.GSE = gdsc[grep("baseline", gdsc[,1]),] pfs.dat = read.table("PFS.txt") paste("Pt", pfs.dat[,1],"-baseline", sep="") -> ss pfs.dat[,1] = ss intersect(pfs.dat[,1], new.GSE[,1]) -> ss pfs.dat[match(ss, pfs.dat[,1]), ] -> pfs.dat new.GSE[match(ss, new.GSE[,1]), ] -> new.GSE cbind(pfs.dat, new.GSE[, "PLX.4720"]) -> new3 Y1 = Surv(new3[,2], rep(1, nrow(new3)) ) xvector = ifelse(new3[,3] > median(new3[,3]), "HR", "LR") new3[,3] = as.numeric(as.character(new3[,3])) coxph(Y1 ~ xvector) png("GDSC.png") dat = data.frame(cbind(OS_YEAR=new3[,2], OS=rep(1, nrow(new3)), X=xvector)) dat[,1] = as.numeric(as.character(dat[,1])) fit = survfit( Surv(as.numeric(as.character(OS_YEAR)), as.numeric(OS)) ~ X, data=dat) g1 = ggsurvplot(fit, data=dat , risk.table = TRUE,pval = TRUE,break.time.by = 50, ggtheme = theme_minimal()) print(g1) dev.off()
