Users want to provide here background information about the design of their RNA-Seq project.
Typically, the user wants to record here the sources and versions of the
reference genome sequence along with the corresponding annotations. In
the provided sample data set all data inputs are stored in a
subdirectory and all results will be written to a separate
systemPipeRNAseq.Rmd script and the
targets file are expected to be
located in the parent directory. The R session is expected to run from this parent directory.
systemPipeRdata package is a helper package to generate a fully populated systemPipeR workflow environment in the current working directory with a single command. All the instruction for generating the workflow are provide in the systemPipeRdata vignette here.
The mini sample FASTQ files used by this report as well as the associated reference genome files can be loaded via the systemPipeRdata package. The chosen data set SRP010938 contains 18 paired-end (PE) read sets from Arabidposis thaliana (Howard et al. 2013). To minimize processing time during testing, each FASTQ file has been subsetted to 90,000-100,000 randomly sampled PE reads that map to the first 100,000 nucleotides of each chromosome of the A. thalina genome. The corresponding reference genome sequence (FASTA) and its GFF annotation files have been truncated accordingly. This way the entire test sample data set is less than 200MB in storage space. A PE read set has been chosen for this test data set for flexibility, because it can be used for testing both types of analysis routines requiring either SE (single end) reads or PE reads.
systemPipeR package needs to be loaded to perform the analysis steps shown in
this report (H Backman and Girke 2016).
To apply workflows to custom data, the user needs to modify the
targets file and if
necessary update the corresponding parameter (
A collection of pre-generated
.yml files are provided in the
of each workflow template. They are also viewable in the GitHub repository of
For more information of the structure of the targets file, please consult the documentation
here. More details about the new parameter files from systemPipeR can be found here.
targets file defines all FASTQ files and sample
comparisons of the analysis workflow.
targetspath <- system.file("extdata", "targetsPE.txt", package = "systemPipeR") targets <- read.delim(targetspath, comment.char = "#")[, 1:4] targets
## FileName1 FileName2 ## 1 ./data/SRR446027_1.fastq.gz ./data/SRR446027_2.fastq.gz ## 2 ./data/SRR446028_1.fastq.gz ./data/SRR446028_2.fastq.gz ## 3 ./data/SRR446029_1.fastq.gz ./data/SRR446029_2.fastq.gz ## 4 ./data/SRR446030_1.fastq.gz ./data/SRR446030_2.fastq.gz ## 5 ./data/SRR446031_1.fastq.gz ./data/SRR446031_2.fastq.gz ## 6 ./data/SRR446032_1.fastq.gz ./data/SRR446032_2.fastq.gz ## 7 ./data/SRR446033_1.fastq.gz ./data/SRR446033_2.fastq.gz ## 8 ./data/SRR446034_1.fastq.gz ./data/SRR446034_2.fastq.gz ## 9 ./data/SRR446035_1.fastq.gz ./data/SRR446035_2.fastq.gz ## 10 ./data/SRR446036_1.fastq.gz ./data/SRR446036_2.fastq.gz ## 11 ./data/SRR446037_1.fastq.gz ./data/SRR446037_2.fastq.gz ## 12 ./data/SRR446038_1.fastq.gz ./data/SRR446038_2.fastq.gz ## 13 ./data/SRR446039_1.fastq.gz ./data/SRR446039_2.fastq.gz ## 14 ./data/SRR446040_1.fastq.gz ./data/SRR446040_2.fastq.gz ## 15 ./data/SRR446041_1.fastq.gz ./data/SRR446041_2.fastq.gz ## 16 ./data/SRR446042_1.fastq.gz ./data/SRR446042_2.fastq.gz ## 17 ./data/SRR446043_1.fastq.gz ./data/SRR446043_2.fastq.gz ## 18 ./data/SRR446044_1.fastq.gz ./data/SRR446044_2.fastq.gz ## SampleName Factor ## 1 M1A M1 ## 2 M1B M1 ## 3 A1A A1 ## 4 A1B A1 ## 5 V1A V1 ## 6 V1B V1 ## 7 M6A M6 ## 8 M6B M6 ## 9 A6A A6 ## 10 A6B A6 ## 11 V6A V6 ## 12 V6B V6 ## 13 M12A M12 ## 14 M12B M12 ## 15 A12A A12 ## 16 A12B A12 ## 17 V12A V12 ## 18 V12B V12
preprocessReads allows to apply predefined or custom
read preprocessing functions to all FASTQ files referenced in a
SYSargs2 container, such as quality filtering or adapter trimming
routines. The paths to the resulting output FASTQ files are stored in the
output slot of the
SYSargs2 object. The following example performs adapter trimming with
trimLRPatterns function from the
After the trimming step a new targets file is generated (here
targets_trim.txt) containing the paths to the trimmed FASTQ files.
The new targets file can be used for the next workflow step with an updated
SYSargs2 instance, e.g. running the NGS alignments using the
trimmed FASTQ files.
SYSargs2 object from
yml param and
dir_path <- system.file("extdata/cwl/preprocessReads/trim-pe", package = "systemPipeR") trim <- loadWorkflow(targets = targetspath, wf_file = "trim-pe.cwl", input_file = "trim-pe.yml", dir_path = dir_path) trim <- renderWF(trim, inputvars = c(FileName1 = "_FASTQ_PATH1_", FileName2 = "_FASTQ_PATH2_", SampleName = "_SampleName_")) trim output(trim)[1:2]
preprocessReads(args = trim, Fct = "trimLRPatterns(Rpattern='GCCCGGGTAA', subject=fq)", batchsize = 1e+05, overwrite = TRUE, compress = TRUE) writeTargetsout(x = trim, file = "targets_trim.txt", step = 1, new_col = c("FileName1", "FileName2"), new_col_output_index = c(1, 2), overwrite = TRUE)
seeFastqPlot functions generate and plot a series of useful
quality statistics for a set of FASTQ files including per cycle quality box
plots, base proportions, base-level quality trends, relative k-mer
diversity, length and occurrence distribution of reads, number of reads
above quality cutoffs and mean quality distribution. The results are
written to a PDF file named
fqlist <- seeFastq(fastq = infile1(trim), batchsize = 10000, klength = 8) pdf("./results/fastqReport.pdf", height = 18, width = 4 * length(fqlist)) seeFastqPlot(fqlist) dev.off()