Velvet

From UFRC
Revision as of 15:13, 23 December 2011 by Magitz (talk | contribs)
Jump to navigation Jump to search

Velvet

From the Velvet web site:

Sequence assembler for very short reads.

Velvet is a de novo genomic assembler specially designed for short read sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino and Ewan Birney at the European Bioinformatics Institute (EMBL-EBI), near Cambridge, in the United Kingdom.

Velvet currently takes in short read sequences, removes errors then produces high quality unique contigs. It then uses paired-end read and long read information, when available, to retrieve the repeated areas between contigs.

Variations

/apps/velvet/1.2.01/velveth
/apps/velvet/1.2.01/velvetg
Default compilation options (max kmer=31, single threaded)
/apps/velvet/1.2.01/velveth_OMP
/apps/velvet/1.2.01/velvetg_OMP
Default kmer, but using OpenMP (see notes below for details)
/apps/velvet/1.2.01/velveth_max99_OMP
/apps/velvet/1.2.01/velvetg_max99_OMP
Max kmer of 99 and OpenMP (See notes below for details)

Note that 1.1.05 is also still installed in /apps/velvet/1.1.05/ with the same binaries as above.

Running the application using modules

To use Velvet with the environment modules system at HPC the following commands are available:

Get module information for Velvet:

$module spider velvet

Load the application module:

$module load velvet

The modulefile for this software adds the directory with executable files to the shell execution PATH and sets the following environment variables:

   HPC_VELVET_DIR - directory where velvet is located. 
   HPC_VELVET_BIN - same as above.


Notes

  1. The user manual is available here.
  1. If you use one of the OpenMP versions of velvet, you must set the enviroment variables OMP_NUM_THREADS and OMP_THREAD_LIMIT to the appropriate value based on the processor request in your submission script. For example if you use #PBS -l nodes=1:ppn=8 in your script, also include export OMP_NUM_THREADS=7; export OMP_THREAD_LIMIT=8 (for a bash script) in the script itself (see sample script below and/or the user manual for more information).
  2. Please file a bugzilla request if you need an executable with different compile-time options such as color space, different kmers, LONGSEQUENCES, etc.

Sample Submission Script

!/bin/bash
#PBS -N velvet
#PBS -o velvet.out
#PBS -e velvet.err
#PBS -M <your e-mail addres>
#PBS -m abe
#PBS -l walltime=12:00:00     
#PBS -l pmem=4gb            
#PBS -l nodes=1:ppn=8 

#
# Walltime is in the format HH:MM:SS
#
# In the above PBS directives, pmem represents the per thread memory request so
# with ppn=8 and pmem=4gb you are requesting a total of 8x4 = 32GB of RAM.
#
 
module load velvet
cd $PBS_O_WORKDIR
 
#Set OMP_THREAD_LIMIT--should be the same as ppn above
export OMP_THREAD_LIMIT=8
 
#Set OMP_NUM_THREADS--should be 1 lower than ppn 
export OMP_NUM_THREADS=7
 
velveth_max99_OMP velvet_out/ 45 -fastq.gz -shortPaired my_paired_data.fastq.gz
velvetg_max99_OMP velvet_out/ -min_contig_lgth 250 -exp_cov 10 -ins_length 350