___ .-' `'. / \ | ; | | ___.--, _.._ |O) ~ (O) | _.---'`__.-( (_. __.--'`_.. '.__.\ '--. \_.-' ,.--'` `""` ( ,.--'` ',__ /./; ;, '.__.'` __ _`) ) .---.__.' / | |\ \__..--"" """--.,_ `---' .'.''-._.-'`_./ /\ '. \_.-~~~````~~~-.__`-.__.' | | .' _.-' | | \ \ '. \ \/ .' \ \ '. '-._) \/ / \ \ `=.__`-~-. / /\ `) ) / / `"".`\ , _.-'.'\ \ / / ( ( / / `--~` ) ) .-' .' '.'. | ( (/` ( (` ) ) `-; ` '--; ('
elvers started as a snakemake update of the Eel Pond Protocol for de novo RNAseq analysis. It has evolved slightly to enable a number of workflows for (mostly) RNA data, which can all be run via the
elvers workflow wrapper.
elvers uses snakemake for workflow management and conda for software installation. The code can be found here.
Linux is the recommended OS. Nearly everything also works on MacOSX, but some programs (fastqc, Trinity) are troublesome.
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh
Be sure to answer 'yes' to all yes/no questions. You'll need to restart your terminal for conda to be active.
Create a working environment and install
elvers needs a few programs installed in order to run properly. To handle this, we run
elvers within a conda environment that contains all dependencies.
git clone https://github.com/dib-lab/elvers.git cd elvers
When you first get
elvers, you'll need to create this environment on your machine:
conda env create --file environment.yml -n elvers-env
Now, activate that environment:
conda activate elvers-env
To deactivate after you've finished running
conda deactivate. You'll need to reactivate this environment anytime you want to run elvers.
Now. install the
pip install -e .
Now you can start running workflows on test data!
Default workflow: Eel Pond Protocol for de novo RNAseq analysis
The Eel Pond protocol (which inspired the
elvers name) included line-by-line commands that the user could follow along with using a test dataset provided in the instructions. We have re-implemented the protocol here to enable automated de novo transcriptome assembly, annotation, and quick differential expression analysis on a set of short-read Illumina data using a single command. See more about this protocol here.
To test the default workflow:
elvers examples/nema.yaml default
This will download and run a small set of Nematostella vectensis test data (from Tulin et al., 2013)
Running Your Own Data
To run your own data, you'll need to create one or more files:
yamlfile containing basic configuration info
yaml config file must specify either:
tsvfile containing your read sample info
- a reference file input (
.fastafile and optional
Generate these files by following instructions here: Understanding and Configuring Workflows.
- preprocess: Read Quality Trimming and Filtering (fastqc, trimmomatic)
- kmer_trim: Kmer Trimming and/or Digital Normalization (khmer)
- assemble: Transcriptome Assembly (trinity)
- annotate : Annotate the transcriptome (dammit)
- sourmash_compute: Build sourmash signatures for the reads and assembly (sourmash)
- quantify: Quantify transcripts (salmon)
- diffexp: Conduct differential expression (DESeq2)
- plass_assemble: assemble at the protein level with PLASS
- paladin_map: map to a protein assembly using paladin
- default: preprocess, kmer_trim, assemble, annotate, quantify
- protein assembly: preprocess, kmer_trim, plass_assemble, paladin_map
You can see the available workflows (and which programs they run) by using the
elvers examples/nema.yaml --print_workflows
Each included tool can also be run independently, if appropriate input files are provided. This is not always intuitive, so please see our documentation for running each tools for details (described as "Advanced Usage"). To see all available tools, run:
elvers examples/nema.yaml --print_rules
This is pre-publication code; a manuscript is in preparation. Please contact the authors for the current citation information if you wish to use it and cite it.
See the help, here: