library(optparse) # ------------------------------------------------------------------------------ # defaults # ------------------------------------------------------------------------------ default.ncores <- 32 default.verbose <- FALSE default.vegtype <- "all" # ------------------------------------------------------------------------------ # parsing arguments # ------------------------------------------------------------------------------ options <- list ( make_option( opt_str = c("-t", "--t.radius"), dest = "t.radius", type = "integer", default = 20000, help = "radius of buffer when resampling plots", metavar = "4" ), make_option( opt_str = c("-r", "--reps"), dest = "reps", type = "integer", default = 99, help = "number of replications", metavar = "4" ), make_option( opt_str = c("-c", "--cores"), dest = "cores", type = "integer", default = default.ncores, help = paste0("number of CPU cores to use, defaults to ", default.ncores), metavar = "4" ), make_option( opt_str = c("-e", "--vegtype"), dest = "vegtype", type = "character", default = default.vegtype, help = paste0("number of CPU cores to use, defaults to ", default.ncores), metavar = "4" ), make_option( opt_str = c("-v", "--verbose"), action = "store_true", default = default.verbose, help = "print more output on what's happening" ) ) parser <- OptionParser( usage = "Rscript %prog [options] data dt_beals header output", option_list = options, description = "\nan awesome R script", epilogue = "use with caution, the awesomeness might slap you in the face!" ) cli <- parse_args(parser, positional_arguments = 2) # ------------------------------------------------------------------------------ # assign a few shortcuts # ------------------------------------------------------------------------------ header <- cli$args[1] output <- cli$args[2] t.radius <- cli$options$t.radius reps <- cli$options$reps cores <- cli$options$cores vegtype <- cli$options$vegtype verbose <- cli$options$verbose # ------------------------------------------------------------------------------ # actual program # ------------------------------------------------------------------------------ source("A99_ResamplingByRadius.R") res.sub(header, output, t.radius, reps, cores, vegtype, verbose)