systemArgs.Rd
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")
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 NULL
to run the pipeline without 'param' file. This
can be useful for running partial workflows, e.g. with pregenerated BAM files.
path to targets file
type="SYSargs"
returns SYSargs
, type="json"
returns param file
content in JSON format (requires rjson
library)
SYSargs
object or character
string in JSON format
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)
#> Warning: path[1]="./data/SRR446027_1.fastq.gz": No such file or directory
#> Warning: path[2]="./data/SRR446028_1.fastq.gz": No such file or directory
#> Warning: path[3]="./data/SRR446029_1.fastq.gz": No such file or directory
#> Warning: path[4]="./data/SRR446030_1.fastq.gz": No such file or directory
#> Warning: path[5]="./data/SRR446031_1.fastq.gz": No such file or directory
#> Warning: path[6]="./data/SRR446032_1.fastq.gz": No such file or directory
#> Warning: path[7]="./data/SRR446033_1.fastq.gz": No such file or directory
#> Warning: path[8]="./data/SRR446034_1.fastq.gz": No such file or directory
#> Warning: path[9]="./data/SRR446035_1.fastq.gz": No such file or directory
#> Warning: path[10]="./data/SRR446036_1.fastq.gz": No such file or directory
#> Warning: path[11]="./data/SRR446037_1.fastq.gz": No such file or directory
#> Warning: path[12]="./data/SRR446038_1.fastq.gz": No such file or directory
#> Warning: path[13]="./data/SRR446039_1.fastq.gz": No such file or directory
#> Warning: path[14]="./data/SRR446040_1.fastq.gz": No such file or directory
#> Warning: path[15]="./data/SRR446041_1.fastq.gz": No such file or directory
#> Warning: path[16]="./data/SRR446042_1.fastq.gz": No such file or directory
#> Warning: path[17]="./data/SRR446043_1.fastq.gz": No such file or directory
#> Warning: path[18]="./data/SRR446044_1.fastq.gz": No such file or directory
args
#> An instance of 'SYSargs' for running 'tophat' on 18 samples
names(args); modules(args); cores(args); outpaths(args); sysargs(args)
#> [1] "targetsin" "targetsout" "targetsheader" "modules"
#> [5] "software" "cores" "other" "reference"
#> [9] "results" "infile1" "infile2" "outfile1"
#> [13] "sysargs" "outpaths"
#> [1] "bowtie2/2.2.5" "tophat/2.0.14"
#> [1] 4
#> M1A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446027_1.fastq.gz.tophat/accepted_hits.bam"
#> M1B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446028_1.fastq.gz.tophat/accepted_hits.bam"
#> A1A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446029_1.fastq.gz.tophat/accepted_hits.bam"
#> A1B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446030_1.fastq.gz.tophat/accepted_hits.bam"
#> V1A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446031_1.fastq.gz.tophat/accepted_hits.bam"
#> V1B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446032_1.fastq.gz.tophat/accepted_hits.bam"
#> M6A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446033_1.fastq.gz.tophat/accepted_hits.bam"
#> M6B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446034_1.fastq.gz.tophat/accepted_hits.bam"
#> A6A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446035_1.fastq.gz.tophat/accepted_hits.bam"
#> A6B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446036_1.fastq.gz.tophat/accepted_hits.bam"
#> V6A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446037_1.fastq.gz.tophat/accepted_hits.bam"
#> V6B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446038_1.fastq.gz.tophat/accepted_hits.bam"
#> M12A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446039_1.fastq.gz.tophat/accepted_hits.bam"
#> M12B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446040_1.fastq.gz.tophat/accepted_hits.bam"
#> A12A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446041_1.fastq.gz.tophat/accepted_hits.bam"
#> A12B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446042_1.fastq.gz.tophat/accepted_hits.bam"
#> V12A
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446043_1.fastq.gz.tophat/accepted_hits.bam"
#> V12B
#> "/home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446044_1.fastq.gz.tophat/accepted_hits.bam"
#> M1A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446027_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446027_1.fastq.gz "
#> M1B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446028_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446028_1.fastq.gz "
#> A1A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446029_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446029_1.fastq.gz "
#> A1B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446030_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446030_1.fastq.gz "
#> V1A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446031_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446031_1.fastq.gz "
#> V1B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446032_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446032_1.fastq.gz "
#> M6A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446033_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446033_1.fastq.gz "
#> M6B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446034_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446034_1.fastq.gz "
#> A6A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446035_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446035_1.fastq.gz "
#> A6B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446036_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446036_1.fastq.gz "
#> V6A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446037_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446037_1.fastq.gz "
#> V6B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446038_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446038_1.fastq.gz "
#> M12A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446039_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446039_1.fastq.gz "
#> M12B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446040_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446040_1.fastq.gz "
#> A12A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446041_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446041_1.fastq.gz "
#> A12B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446042_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446042_1.fastq.gz "
#> V12A
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446043_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446043_1.fastq.gz "
#> V12B
#> "tophat -p 4 -g 1 --segment-length 25 -i 30 -I 3000 -o /home/runner/work/systemPipeR/systemPipeR/docs/reference/results/SRR446044_1.fastq.gz.tophat /home/runner/work/systemPipeR/systemPipeR/docs/reference/data/tair10.fasta ./data/SRR446044_1.fastq.gz "
if (FALSE) {
## 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")
}