View source: R/sysargs_methods.R
systemArgs | R Documentation |
Constructs SYSargs
S4 class objects from two simple tablular files: a
targets
file and a param
file. The latter is optional for
workflow steps lacking command-line software. Typically, a SYSargs
instance stores all sample-level inputs as well as the paths to the
corresponding outputs generated by command-line- or R-based software generating
sample-level output files. Each sample level input/outfile operation uses its
own SYSargs
instance. The outpaths of SYSargs
usually define the
sample inputs for the next SYSargs
instance. This connectivity is
established by writing the outpaths with the writeTargetsout
function to a
new targets file that serves as input to the next systemArgs
call. By
chaining several SYSargs
steps together one can construct complex
workflows involving many sample-level input/output file operations with any
combinaton of command-line or R-based software.
systemArgs(sysma, mytargets, type = "SYSargs")
sysma |
path to 'param' file; file structure follows a simple name/value syntax that
converted into JSON format; for details about the file structure see sample files provided
by package. Assign |
mytargets |
path to targets file |
type |
|
SYSargs
object or character
string in JSON format
Thomas Girke
showClass("SYSargs")
## Construct SYSargs object from param and targets files
param <- system.file("extdata", "tophat.param", package="systemPipeR")
targets <- system.file("extdata", "targets.txt", package="systemPipeR")
args <- systemArgs(sysma=param, mytargets=targets)
args
names(args); modules(args); cores(args); outpaths(args); sysargs(args)
## Not run:
## Execute SYSargs on single machine
runCommandline(args=args)
## Execute SYSargs on multiple machines of a compute cluster
resources <- list(walltime=120, ntasks=1, ncpus=cores(args), memory=1024)
reg <- clusterRun(args, conffile=".batchtools.conf.R", template="batchtools.slurm.tmpl", Njobs=18, runid="01", resourceList=resources)
## Monitor progress of submitted jobs
getStatus(reg=reg)
file.exists(outpaths(args))
sapply(1:length(args), function(x) loadResult(reg, x)) # Works once all jobs have completed successfully.
## Alignment stats
read_statsDF <- alignStats(args)
write.table(read_statsDF, "results/alignStats.xls", row.names=FALSE, quote=FALSE, sep="\t")
## Write outpaths to new targets file for next SYSargs step
writeTargetsout(x=args, file="default")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.