R/settings_handler.R

Defines functions make_td_settings_list write_td_settings

Documented in make_td_settings_list write_td_settings

#' Make a list with parameter settings commands for treeducken
#'
#' @param sbr species birth rate (real number)
#' @param sdr species death rate (real number)
#' @param trr gene transfer rate (real number)
#' @param gbr gene birth rate (real number)
#' @param gdr gene death rate (real number)
#' @param nt  number of taxa (integer)
#' @param ipp individuals per population (integer)
#' @param ne  population size (integer)
#' @param reps replicate species trees (integer)
#' @param ng  number of genes (integer)
#' @param nl  number of loci (integer)
#' @param sout standard out (bool)
#' @param sd1 RNG seed (integer)
#' @param sd2 RNG seed (integer)
#' @return A list containining all parameters
#' @examples
#' sett_list <- make_td_settings_list(sbr = 0.1,
#'                                    sdr = 0.05,
#'                                    trr = 0.01,
#'                                    gbr =  0.025,
#'                                    gdr = 0,
#'                                    nt = 10,
#'                                    reps = 10)

make_td_settings_list <- function(sbr, sdr, trr = 0, gbr = 0, gdr = 0, nt,
                                  ipp = 1, ne = 1, reps, nl = 1, ng = 1, sout = 0, sd1 = 0, sd2 = 0) {
    settings_list <- c(paste("-sbr", sbr), paste("-sdr", sdr), paste("-gbr", gbr),
                       paste("-gdr", gdr), paste("-lgtr", trr), paste("-ipp", ipp), paste("-nt",
                                                                                          nt), paste("-r", reps), paste("-ne", ne), paste("-nl", nl), paste("-ng",
                                                                                                                                                            ng), paste("-sout", sout), paste("-sd1", sd1), paste("-sd2", sd2))
    settings_list
}

#'
#' Writes a treeducken settings file out to working directory
#'
#' @param settings_list A list obtained using \code{make_td_settings_list()}
#' @param output_prefix A string of the prefix prepended to treeducken output
#'
#' @examples
#' settings <- make_td_settings_list(sbr = 0.1, sdr = 0.05, nt = 10, reps = 10)
#' write_td_settings(settings, 'tdcken_test')

write_td_settings <- function(settings_list, output_prefix) {
    file_name_end <- "_settings.txt"
    append(settings_list, paste("-o", output_prefix))
    out_fn <- paste0(output_prefix, file_name_end)
    write(settings_list, file = out_fn, ncolumns = 1)
}
wadedismukes/treeduckenTools documentation built on Aug. 14, 2019, 2:14 a.m.