Usage#
Calling pipemake without any arguments or with the help flags will display the currently available pipelines (see Currently Available Pipelines):
pipemake
Once a pipeline has been selected, you may view the pipeline’s arguments by simply adding the pipeline name to the command.
For example, to view the arguments for the trim-fastqs pipeline, you would use the following command:
pipemake trim-fastqs
This would display the following information:
error: one of the arguments --fastq-wildcard --fastq-table --paired-end-sra --single-end-sra is required
usage: pipemake trim-fastqs (--fastq-wildcard FASTQ_WILDCARD | --fastq-table FASTQ_TABLE | --paired-end-sra PAIRED_END_SRA | --single-end-sra SINGLE_END_SRA)
[--fastq-copy-method {symbolic_link,copy}]
[--min-length MIN_LENGTH]
[--cut-front]
[--cut-tail]
[--cut-right]
[--workflow-dir WORKFLOW_DIR]
[--scale-threads SCALE_THREADS]
[--scale-mem SCALE_MEM]
[--resource-yml]
[--singularity-dir SINGULARITY_DIR]
[--no-overwrite]
[-h]
trim-fastqs required arguments:
--fastq-wildcard FASTQ_WILDCARD
Wildcard statement to represent FASTQs (supported wildcards: samples, reads)
--fastq-table FASTQ_TABLE
Table with sample and FASTQs filenames (supported wildcards: samples, reads)
--paired-end-sra PAIRED_END_SRA
Table with SRA accession numbers for paired-end reads (supported wildcards: samples)
--single-end-sra SINGLE_END_SRA
Table with SRA accession numbers for single-end reads (supported wildcards: samples)
trim-fastqs optional arguments:
--fastq-copy-method {symbolic_link,copy}
Specifies if FASTQs should be copied or symbolically linked. (default: symbolic_link)
--min-length MIN_LENGTH
Minimum length of reads to keep (default: 50)
--cut-front Trim from the front of the reads
--cut-tail Trim from the tail of the reads
--cut-right Trim the right side of the reads, starting from the 5' end
--workflow-dir WORKFLOW_DIR
Assign the workflow directory. If not provided a default will be used.
--scale-threads SCALE_THREADS
Scale the threads for each task
--scale-mem SCALE_MEM
Scale the memory (RAM) for each task
--resource-yml Create a seperate resource yaml
--singularity-dir SINGULARITY_DIR
Assign different directory of singularity images
--no-overwrite Do not overwrite existing files
-h, --help show this help message and exit
You may notice that the arguments are divided into two categories: required and optional.
required is the category that holds arguments required by the pipeline to operate
optional is the category that holds optional arguments that modify the pipeline’s behavior.
For the trim-fastqs pipeline to operate, the user must provided either: --fastq-wildcard, --fastq-table, --paired-end-sra, or --single-end-sra argument.
--fastq-wildcardis used to specify a wildcard statement that represents the FASTQ files--fastq-tableis used to specify a table with sample and FASTQ filenames--paired-end-srais used to specify a table with SRA accession numbers for paired-end reads--single-end-srais used to specify a table with SRA accession numbers for single-end reads
For example, let’s examine the files within the example directory example/trim-fastqs:
test1_R1.fq.gz
test1_R2.fq.gz
test2_R1.fq.gz
As you can see, the directory contains:
A set of paired-end FASTQ files:
test1_R1.fq.gz,test1_R2.fq.gzA single-end FASTQ file:
test2_R1.fq.gz.
Since these files share a similar naming convention, we can use the --fastq-wildcard argument to assign the files. To do this, we must use the supported wildcards as given in the help message: samples and reads.
If you wanted to perform the trim-fastqs pipeline on these files, you may use the following command:
pipemake trim-fastqs --fastq-wildcard example/trim-fastqs/{samples}_{reads}.fq.gz --workflow-dir TrimTest
This would generate a snakemake workflow called TrimTest.
Note
A warning will be displayed if:
The input files have inconsistent wildcard usage (such as using paired-end alongside single-end files).
No singularity path was specified. Which may result in redundant singularity containers being downloaded.
The workflow directory contains all neccessary files to execute the trim-fastqs pipeline on the provided FASTQ samples: test1 and test2.
The workflow could then be executed using the following command:
cd TrimTest
snakemake --use-singularity --cores 4