Velvet
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.1.05/velveth /apps/velvet/1.1.05/velvetg |
Default compilation options (max kmer=31, single threaded) |
/apps/velvet/1.1.05/velveth_OMP /apps/velvet/1.1.05/velvetg_OMP |
Default kmer, but using OpenMP (see OpenMP notes below for details) |
/apps/velvet/1.1.05/velveth_max99_OMP /apps/velvet/1.1.05/velvetg_max99_OMP |
Max kmer of 99 and OpenMP (See OpenMP notes below for details) |
Note that all versions were compiled with icc. Please file a bugzilla request for additional compile options like color space, different kmers, LONGSEQUENCES, etc.
OpenMP Notes
If you use one of the OpenMP versions of velvet, you must set the enviromental 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).
From the Velvet manual:
OpenMP allows a program to make use of multiple CPU cores on the same machine. You might have to set the environment variables OMP_NUM_THREADS and OMP_THREAD_LIMIT. Velvet will the use up to OMP_NUM_THREADS+ 1 or OMP_THREAD_LIMIT threads.
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 # HH:MM:SS #PBS -l pmem=4gb # 4GB of RAM per thread, or 4X8=32GB in this case #PBS -l nodes=1:ppn=8 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 /apps/velvet/1.1.05/velveth_max99_OMP velvet_out/ 45 -fastq.gz -shortPaired my_paried_data.fastq.gz /apps/velvet/1.1.05/velvetg_max99_OMP velvet_out/ -min_contig_lgth 250 -exp_cov 10 -ins_length 350