## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----eval=FALSE--------------------------------------------------------------- # galgo(..., # start_galgo_callback = callback_default,# `galgo()` is about to start. # end_galgo_callback = callback_default, # `galgo()` is about to finish. # start_gen_callback = callback_default, # At the beginning of each generation # end_gen_callback = callback_default, # At the end of each generation # report_callback = callback_default, # In the middle of the generation, # # right after the new mating pool # # have been created. # ...) ## ----------------------------------------------------------------------------- library(GSgalgoR) ## ----------------------------------------------------------------------------- my_callback <- function(userdir = "", generation, pop_pool, pareto, prob_matrix, current_time) { # code starts here if (generation%%2 == 0) message(paste0("generation: ",generation, " current_time: ",current_time)) } ## ----message=FALSE------------------------------------------------------------ library(breastCancerTRANSBIG) ## ----------------------------------------------------------------------------- data(transbig) train <- transbig rm(transbig) expression <- Biobase::exprs(train) clinical <- Biobase::pData(train) OS <- survival::Surv(time = clinical$t.rfs, event = clinical$e.rfs) # use a reduced dataset for the example expression <- expression[sample(1:nrow(expression), 100), ] # scale the expression matrix expression <- t(scale(t(expression))) ## ----message=FALSE------------------------------------------------------------ library(GSgalgoR) ## ----------------------------------------------------------------------------- # Running galgo GSgalgoR::galgo(generations = 6, population = 15, prob_matrix = expression, OS = OS, start_galgo_callback = GSgalgoR::callback_default, end_galgo_callback = GSgalgoR::callback_default, report_callback = my_callback, # call `my_callback()` in the mile # of each generation/iteration. start_gen_callback = GSgalgoR::callback_default, end_gen_callback = GSgalgoR::callback_default) ## ----------------------------------------------------------------------------- my_save_pop_callback <- function(userdir = "", generation, pop_pool, pareto, prob_matrix, current_time) { directory <- paste0(tempdir(), "/") if (!dir.exists(directory)) { dir.create(directory, recursive = TRUE) } filename <- paste0(directory, generation, ".rda") if (generation%%2 == 0){ save(file = filename, pop_pool) } message(paste("solution file saved in",filename)) } ## ----------------------------------------------------------------------------- # Running galgo GSgalgoR::galgo( generations = 6, population = 15, prob_matrix = expression, OS = OS, start_galgo_callback = GSgalgoR::callback_default, end_galgo_callback = GSgalgoR::callback_default, report_callback = my_callback,# call `my_callback()` # in the middle of each generation/iteration. start_gen_callback = GSgalgoR::callback_default, end_gen_callback = my_save_pop_callback # call `my_save_pop_callback()` # at the end of each # generation/iteration ) ## ----------------------------------------------------------------------------- # Running galgo GSgalgoR::galgo( generations = 6, population = 15, prob_matrix = expression, OS = OS, start_galgo_callback = GSgalgoR::callback_default, end_galgo_callback = my_save_pop_callback, report_callback = my_callback, # call `my_callback()` # in the middle of each generation/iteration start_gen_callback = GSgalgoR::callback_default, end_gen_callback = GSgalgoR::callback_default ) ## ----eval=FALSE--------------------------------------------------------------- # # another_callback <- # function(userdir = "", # generation, # pop_pool, # pareto, # prob_matrix, # current_time) { # # code starts here # # # code ends here # callback_base_return_pop(userdir, # generation, # pop_pool, # prob_matrix, # current_time) # } ## ----sess_info, eval=TRUE----------------------------------------------------- sessionInfo()