R/write_settings_file.R

Defines functions make_treeducken_settings_list write_treeducken_settings

Documented in make_treeducken_settings_list write_treeducken_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
#' make_treeducken_settings_list(0.1, 0.05, 0.01, 0.025, 10, reps = 10)

make_treeducken_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))
    return(settings_list)
}

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

write_treeducken_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.