Usage
Quick Start
Users can run a demonstration workflow by running:
$ raft.py run-demo -w rna-alns-transcript-counts
- This will:
Create a project named
demo-rna-alns-transcript-countsin./raft/projectsDownload the required RAFT modules
Download the demo references, FASTQS, and manifest
Run the project’s workflow
Outputs can be found in
./raft/projects/demo-rna-alns-transcript-counts/outputs. More information
about output directory organization can be found in Outputs.
Finding Off-the-shelf Workflows
RAFT supports a variety of workflows. Users can list the currently available workflows by running:
$ raft.py available-workflows
Each workflow supports a variety of species (human or mouse) as well as a variety of starting inputs. Users can find which species and inputs are supported for each workflow by running:
$ raft.py available-workflows -w <WORKFLOW_NAME>
For example:
$ raft.py available-workflows -w gene-fusions
produces the output
Listing all versions of gene-fusions workflow.
--------------------------------------------------------------------------------
Workflow Species Input
gene-fusions human junctions
gene-fusions human bams
gene-fusions human fastqs
--------------------------------------------------------------------------------
Users can find detailed information about each workflow by running:
$ raft.py available-workflows -w <WORKFLOW_NAME> -s <SPECIES> -i <INPUT_TYPE>
For example:
$ raft.py available-workflows -w gene-fusions -i fastqs
produces the output
Details for human gene-fusions workflow starting from fastqs.
--------------------------------------------------------------------------------
Default parameters:
-------------------
Parameter Value
--------- -----
fq_trim_tool fastp
fq_trim_tool_parameters None (tool defaults)
fusion_tool starfusion
fusion_tool_parameters starfusion: --examine_coding_effect
fusion_ref starfusion: ${params.ref_dir}/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play
dna_ref ${params.ref_dir}/Homo_sapiens_assembly38.fasta
gtf None
--------------------------------------------------------------------------------
Workflow steps:
---------------
utilities::parse_manifest
fusion::manifest_to_fusions
--------------------------------------------------------------------------------
Alternate tools:
----------------
Parameter Alternate tools
--------- ---------------
fq_trim_tool trim_galore,trimmomatic,fastp
fusion_tool fusioncatcher,jstarfusion,starfusion,arriba
Running Off-the-shelf Workflows
Users can run an off-the-shelf workflow with their own manifest by running:
$ raft.py run-ots -p <PROJECT_ID> \
-w <WORKFLOW_NAME> \
-s <SPECIES> \
-i <INPUT_TYPE> \
-m </PATH/TO/MANIFEST>
For example:
$ raft.py run-ots -p my-project-tx-counts-01JAN2024 \
-w rna-alns-transript-counts \
-s human \
-i fastqs \
-m </PATH/TO/MANIFEST>
Note that raft.py run-ots assumes human samples and FASTQs inputs, so the
the above command is equivilant to the following:
$ raft.py run-ots -p my-project-tx-counts-01JAN2024 \
-w rna-alns-transript-counts \
-m </PATH/TO/MANIFEST>
Running Off-the-shelf Workflows with User-defined Parameters
Users can run an off-the-shelf workflow with their preferred tools and tool
parameters using the raft.py -up/--user-params argument. This argument
can be specified any number of times. For example, if a user wants to run the
rna-alns-transcript-counts workflow with their own manifest, but with
trim_galore instead of fastp, then they can run:
$ raft.py run-ots -p my-project-tx-counts-01JAN2024 \
-w rna-alns-transript-counts \
-m </PATH/TO/MANIFEST> \
-up fq_trim_tool=fastp \
-up fq_trim_tool_parameters=fastp:'--paired'
Users may specify multiple tools and parameters for each of multiple tools using the following syntax:
$ raft.py run-ots -p ... \
... \
-up fq_trim_tool=tool1,tool2 \
-up fq_trim_tool_parameters=tool1:'--params --for --tool 1',\
tool2:'--params --for --tool 2'
Generally speaking, it is only recommended to use multiple tools for the last
modifying step of the workflow. For example, the gene-fusions workflow for
humans starting from FASTQs allow both fq_trim_tool and fusion_tool to
be specified. fusion_tool generates the ultimate outputs from the workflow
and thus users can specify multiple fusion_tool tools (e.g.
fusion_tool=starfusion,arriba). fq_trim_tool, however, is upstream of
fusion calling and users should only specify a single tool for
fq_trim_tool.