Skip to content

Diffexp Subworkflow

Subworkflows combine tools in the right order to facilitate file targeting withing elvers. The "diffexp" subworkflow conducts read quality trimming, salmon quantification and differential expression analysis. It requires an assembly to be provided, either by running an assembly or providing one in your configfile. If you have a gene-to-transcript map, this will also need to be specified via the get_reference parameter. If not, you'll need to modify the deseq2 parameters so that the workflow will not expect this file.

At the moment, this workflow consists of:

Quickstart

If you've generated an assembly, even if you've already run elvers examples/nema.yaml assemble:

1) "Run" trinity assembly at the same time. If you've already run the assembly, elvers will just locate your assembly file for diffexp.

elvers examples/nema.yaml assemble diffexp

2) OR, Pass an assembly in via get_reference with an assembly in your yaml configfile, e.g.:

elvers get_reference diffexp

In the configfile:

```
get_reference:
  reference: examples/nema.assemblyfasta
  gene_trans_map:  examples/nema.assembly.fasta.gene_trans_map #optional
```

This is commented out in the test data yaml, but go ahead and uncomment (remove leading `#`) in order to use this option. If you have a gene to transcript map, please specify it as well. If not, delete this line from your `config`, and be sure to tell `deseq2` not to use this file by setting `gene_trans_map: False` (see config below).

The `assembly_extension` parameter is important: this is what allows us to build assemblies from several different assemblers on the same dataset. Feel free to use `_input`, as specified above, or pick something equally simple yet more informative. **Note: Please don't use additional underscores (`_`) in this extension!**. For more details, see the [get_reference documentation](get_reference.md).

Configuring the diffexp subworkflow

To set up your sample info and build a configfile, see Understanding and Configuring Workflows.

If you want to add the diffexp program parameters to a previously built configfile, run:

elvers config.yaml diffexp --print_params

A small set of parameters should print to your console:

 ####################  diffexp  ####################
get_data:
  download_data: false
  use_ftp: false
trimmomatic:
  adapter_file:
    pe_path: ep_utils/TruSeq3-PE-2.fa
    se_path: ep_utils/TruSeq3-SE.fa
  extra: ''
  trim_cmd: ILLUMINACLIP:{}:2:40:15 LEADING:2 TRAILING:2 SLIDINGWINDOW:4:15 MINLEN:25
salmon:
    index_params:
      extra: '' 
    quant_params:
      libtype: A
      extra: ''
deseq2:
  gene_trans_map: True
    # contrasts for the deseq2 results method
  contrasts:
    time0-vs-time6:
      - time0
      - time6
  pca:
    labels:
      # columns of sample sheet to use for PCA
      - condition
  #######################################################

Override default params for any program by placing these lines in your yaml config file, and modifying values as desired. For more details, see Understanding and Configuring Workflows.For more on what parameters are available, see the docs for each specific program or utility rule: