runCommandline {systemPipeR} | R Documentation |
Function to execute system parameters specified in SYSargs
and SYSargs2
object.
runCommandline(args, runid = "01", make_bam = TRUE, dir = FALSE, dir.name = NULL, ...)
args |
object of class |
runid |
Run identifier used for log file to track system call commands. Default is |
make_bam |
Auto detects SAM file outputs and converts them to sorted and indexed BAM files. Default is |
dir |
This option allows creating an exclusive results folder for each step in the workflow and a sub-folder for each sample defined in the |
dir.name |
Name of the workflow directory. Default is |
... |
Additional arguments to pass on to |
Output files, their paths can be obtained with outpaths()
from SYSargs
container or output()
from SYSargs2
. In addition, a character vector
is returned containing the same paths.
Daniela Cassol and Thomas Girke
######################################### ## Examples with \code{SYSargs} object ## ######################################### ## Construct SYSargs object from param and targets files param <- system.file("extdata", "hisat2.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. file.copy(system.file("extdata", ".batchtools.conf.R", package="systemPipeR"), ".") file.copy(system.file("extdata", "batchtools.slurm.tmpl", package="systemPipeR"), ".") resources <- list(walltime=120, ntasks=1, ncpus=cores(args), memory=1024) reg <- clusterRun(args, FUN = runCommandline, 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)) ## Alignment stats read_statsDF <- alignStats(args) read_statsDF <- cbind(read_statsDF[targets$FileName,], targets) write.table(read_statsDF, "results/alignStats.xls", row.names=FALSE, quote=FALSE, sep="\t") ## End(Not run) ########################################## ## Examples with \code{SYSargs2} object ## ########################################## ## Construct SYSargs2 object from CWl param, CWL input, and targets files targets <- system.file("extdata", "targets.txt", package="systemPipeR") dir_path <- system.file("extdata/cwl", package="systemPipeR") WF <- loadWorkflow(targets=targets, wf_file="hisat2-se/hisat2-mapping-se.cwl", input_file="hisat2-se/hisat2-mapping-se.yml", dir_path=dir_path) WF <- renderWF(WF, inputvars=c(FileName="_FASTQ_PATH_", SampleName="_SampleName_")) WF names(WF); modules(WF); targets(WF)[1]; cmdlist(WF)[1:2]; output(WF) ## Not run: ## Execute SYSargs2 on single machine runCommandline(args=WF) WF <- output_update(WF, dir=FALSE, replace = ".bam") ## Execute SYSargs on multiple machines of a compute cluster. file.copy(system.file("extdata", ".batchtools.conf.R", package="systemPipeR"), ".") file.copy(system.file("extdata", "batchtools.slurm.tmpl", package="systemPipeR"), ".") resources <- list(walltime=120, ntasks=1, ncpus=4, memory=1024) reg <- clusterRun(args, FUN = runCommandline, conffile=".batchtools.conf.R", template="batchtools.slurm.tmpl", Njobs=18, runid="01", resourceList=resources) ## Monitor progress of submitted jobs getStatus(reg=reg) ## Alignment stats read_statsDF <- alignStats(WF) read_statsDF <- cbind(read_statsDF[targets$FileName,], targets) write.table(read_statsDF, "results/alignStats.xls", row.names=FALSE, quote=FALSE, sep="\t") ## End(Not run)