## ----setup, echo=TRUE---------------------------------------------------------
library(ASSIGN)

dir.create("tempdir")
tempdir <- "tempdir"

## ----datasets-and-labels, eval=FALSE------------------------------------------
#  data(trainingData1)
#  data(testData1)
#  data(geneList1)
#  trainingLabel1 <- list(control = list(bcat=1:10, e2f3=1:10,
#                                        myc=1:10, ras=1:10, src=1:10),
#                         bcat = 11:19, e2f3 = 20:28, myc= 29:38,
#                         ras = 39:48, src = 49:55)
#  testLabel1 <- rep(c("Adeno", "Squamous"), c(53,58))

## ----all-in-one-assign-wrapper-example1, eval=FALSE, results='hide'-----------
#  dir.create(file.path(tempdir,"wrapper_example1"))
#  assign.wrapper(trainingData=trainingData1, testData=testData1,
#                 trainingLabel=trainingLabel1, testLabel=testLabel1,
#                 geneList=NULL, n_sigGene=rep(200,5), adaptive_B=TRUE,
#                 adaptive_S=FALSE, mixture_beta=TRUE,
#                 outputDir=file.path(tempdir,"wrapper_example1"),
#                 iter=2000, burn_in=1000)

## ----all-in-one-assign-wrapper-example2, eval=FALSE, results='hide'-----------
#  dir.create(file.path(tempdir,"wrapper_example2"))
#  assign.wrapper(trainingData=trainingData1, testData=testData1,
#                 trainingLabel=trainingLabel1, testLabel=NULL,
#                 geneList=geneList1, n_sigGene=NULL, adaptive_B=TRUE,
#                 adaptive_S=FALSE, mixture_beta=TRUE,
#                 outputDir=file.path(tempdir,"wrapper_example2"),
#                 iter=2000, burn_in=1000)

## ----all-in-one-assign-wrapper-example3, eval=FALSE, results='hide'-----------
#  dir.create(file.path(tempdir,"wrapper_example3"))
#  assign.wrapper(trainingData=NULL, testData=testData1,
#                 trainingLabel=NULL, testLabel=NULL,
#                 geneList=geneList1, n_sigGene=NULL, adaptive_B=TRUE,
#                 adaptive_S=TRUE, mixture_beta=TRUE,
#                 outputDir=file.path(tempdir,"wrapper_example3"),
#                 iter=2000, burn_in=1000)

## ----assign-preprocess-function1, eval=FALSE, results='hide'------------------
#  # training dataset is available;
#  # the gene list of pathway signature is NOT available
#  processed.data <- assign.preprocess(trainingData=trainingData1,
#                                      testData=testData1,
#                                      trainingLabel=trainingLabel1,
#                                      geneList=NULL, n_sigGene=rep(200,5))

## ----assign-preprocess-function2, eval=FALSE, results='hide'------------------
#  # training dataset is available;
#  # the gene list of pathway signature is available
#  processed.data <- assign.preprocess(trainingData=trainingData1,
#                                      testData=testData1,
#                                      trainingLabel=trainingLabel1,
#                                      geneList=geneList1)

## ----assign-preprocess-function3, eval=FALSE, results='hide'------------------
#  # training dataset is NOT available;
#  # the gene list of pathway signature is available
#  processed.data <- assign.preprocess(trainingData=NULL,
#                                      testData=testData1,
#                                      trainingLabel=NULL,
#                                      geneList=geneList1)

## ----assign-mcmc-function, eval=FALSE, results='hide'-------------------------
#  mcmc.chain <- assign.mcmc(Y=processed.data$testData_sub,
#                            Bg = processed.data$B_vector,
#                            X=processed.data$S_matrix,
#                            Delta_prior_p = processed.data$Pi_matrix,
#                            iter = 2000, adaptive_B=TRUE,
#                            adaptive_S=FALSE, mixture_beta=TRUE)

## ----assign-convergence-function, eval=FALSE, results='hide'------------------
#  trace.plot <- assign.convergence(test=mcmc.chain, burn_in=0, iter=2000,
#                                   parameter="B", whichGene=1,
#                                   whichSample=NA, whichPath=NA)

## ----assign-summary-function, eval=FALSE, results='hide'----------------------
#  mcmc.pos.mean <- assign.summary(test=mcmc.chain, burn_in=1000,
#                                  iter=2000, adaptive_B=TRUE,
#                                  adaptive_S=FALSE, mixture_beta=TRUE)

## ----assign-cv-output-function, eval=FALSE, results='hide'--------------------
#  # For cross-validation, Y in the assign.mcmc function
#  # should be specified as processed.data$trainingData_sub.
#  assign.cv.output(processed.data=processed.data,
#                   mcmc.pos.mean.trainingData=mcmc.pos.mean,
#                   trainingData=trainingData1,
#                   trainingLabel=trainingLabel1, adaptive_B=FALSE,
#                   adaptive_S=FALSE, mixture_beta=TRUE,
#                   outputDir=tempdir)

## ----assign-output-function, eval=FALSE, results='hide'-----------------------
#  assign.output(processed.data=processed.data,
#                mcmc.pos.mean.testData=mcmc.pos.mean,
#                trainingData=trainingData1, testData=testData1,
#                trainingLabel=trainingLabel1,
#                testLabel=testLabel1, geneList=NULL,
#                adaptive_B=TRUE, adaptive_S=FALSE,
#                mixture_beta=TRUE, outputDir=tempdir)

## ----anchor-exclude-example, eval=FALSE, results='hide'-----------------------
#  dir.create(file.path(tempdir, "anchor_exclude_example"))
#  
#  anchorList = list(bcat="224321_at",
#                    e2f3="202589_at",
#                    myc="221891_x_at",
#                    ras="201820_at",
#                    src="224567_x_at")
#  excludeList = list(bcat="1555340_x_at",
#                     e2f3="1555340_x_at",
#                     myc="1555340_x_at",
#                     ras="204748_at",
#                     src="1555339_at")
#  
#  assign.wrapper(trainingData=trainingData1, testData=testData1,
#                 trainingLabel=trainingLabel1, testLabel=NULL,
#                 geneList=geneList1, n_sigGene=NULL, adaptive_B=TRUE,
#                 adaptive_S=TRUE, mixture_beta=TRUE,
#                 outputDir=file.path(tempdir, "anchor_exclude_example"),
#                 anchorGenes=anchorList, excludeGenes=excludeList,
#                 iter=2000, burn_in=1000)

## ----gfrn-optimization-dl, eval=FALSE, results='hide'-------------------------
#  dir.create(file.path(tempdir, "optimization_example"))
#  setwd(file.path(tempdir, "optimization_example"))
#  
#  testData <- read.table("https://drive.google.com/uc?authuser=0&id=1mJICN4z_aCeh4JuPzNfm8GR_lkJOhWFr&export=download",
#                         sep='\t', row.names=1, header=1)
#  
#  corData1 <- read.table("https://drive.google.com/uc?authuser=0&id=1MDWVP2jBsAAcMNcNFKE74vYl-orpo7WH&export=download",
#                        sep='\t', row.names=1, header=1)

## ----gfrn-optimization-cor, eval=FALSE, results='hide'------------------------
#  #this is a list of pathways and columns in the correlation data that will
#  #be used for correlation
#  corList <- list(akt=c("Akt","PDK1","PDK1p241"))

## ----gfrn-optimization-optimize, eval=FALSE, results='hide'-------------------
#  #run the batch correction procedure between the test and training data
#  combat.data <- ComBat.step2(testData, pcaPlots = TRUE)
#  
#  #run the default optimization procedure
#  optimization_results <- optimizeGFRN(combat.data, corData,
#                                       corList, run="akt")

## ----sessionInfo, echo=FALSE--------------------------------------------------
sessionInfo()

