Difference between revisions of "Velvet"

From UFRC
Jump to navigation Jump to search
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Velvet =
+
__NOTOC__
 
+
[[Category:Software]][[Category:Biology]][[Category:Genomics]]
From the [http://www.ebi.ac.uk/~zerbino/velvet/ Velvet web site]:
+
{|<!--CONFIGURATION: REQUIRED-->
 +
|{{#vardefine:app|velvet}}
 +
|{{#vardefine:url|http://www.ebi.ac.uk/~zerbino/velvet/}}
 +
<!--CONFIGURATION: OPTIONAL (1=ON)-->
 +
|{{#vardefine:exe|1}} <!--RUNNING -->
 +
|{{#vardefine:conf|}} <!--CONFIGS-->
 +
|{{#vardefine:pbs|}} <!--PBS SCRIPTS-->
 +
|{{#vardefine:policy|}} <!--POLICY-->
 +
|{{#vardefine:testing|}} <!--TESTING/PROFILING-->
 +
|{{#vardefine:faq|}} <!--FAQ-->
 +
|{{#vardefine:citation|}} <!--CITATION-->
 +
|{{#vardefine:installation|}} <!--INSTALLATION-->
 +
|}
 +
<!--BODY-->
 +
<!--Description-->
 +
{{#if: {{#var: url}}|
 +
{{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}}
  
'''Sequence assembler for very short reads.'''
+
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 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.  
Line 9: Line 25:
 
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.
 
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 ==
+
In the Velvet module version 1.2.06 [[MetaVelvet|MetaVelvet-1.1.01]] was made available. There are two versions compiled, meta-velvetg (using a max kmer of 31) and meta-velvetg_MAX99 (using a max kmer of 99). There are also multiple contributed scripts available in the same location as the velvet binaries.
{| cellspacing="1" cellpadding="1" border="1" style="width: 954px; height: 138px;"
 
|-
 
| /apps/velvet/1.2.06/velveth<br>/apps/velvet/1.2.06/velvetg  
 
| Default compilation options (max kmer=31, single threaded)
 
|-
 
| /apps/velvet/1.2.06/velveth_OMP<br>/apps/velvet/1.2.06/velvetg_OMP
 
| Default kmer, but using OpenMP (see notes below for details)
 
|-
 
| /apps/velvet/1.2.06/velveth_MAX99_OMP<br>/apps/velvet/1.2.06/velvetg_MAX99_OMP
 
| Max kmer of 99 and OpenMP (See notes below for details)
 
|}
 
  
Note that 1.2.02, 1.2.01 and 1.1.05 are also still installed with the same binaries as above.
+
However, in the Velvet module version 1.2.07 only the contributed scripts are present. [[MetaVelvet|MetaVelvet-1.2.01]] is now provided by its own "metavelvet" module.
 
 
==MetaVelvet and other contributed scripts==
 
 
 
In addition to Velvet, as of Velvet version 1.2.06, MetaVelvet-1.1.01 is installed and made available using the same module file. There are two version compiled, meta-velvetg (using a max kmer of 31) and meta-velvetg_MAX99 (using a max kmer of 99).
 
 
 
Other contributed scripts distributed with the Velvet source code (such as VelvetOptimizer) are available in the contrib/ directory: e.g. $HPC_VELVET_DIR/contrib/VelvetOptimiser-2.2.0/VelvetOptimiser.pl.
 
 
 
==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 ==
 
  
 +
Velvet memory requirements increase dramatically with each kmer length increase, so the default velveth and velvetg binaries only handle kmers up to 31 bp and we provide additional binaries to handle kmers up to 99, and 249 bp. The binaries are named with _maxNN suffixes e.g. velveth_max249. In addition _OMP suffixes are used to identify the binaries built for multi-threaded usage (see below).
 +
 +
<!--Modules-->
 +
==Environment Modules==
 +
Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application.
 +
==System Variables==
 +
* HPC_{{uc:{{#var:app}}}}_DIR - installation directory
 +
* HPC_VELVET_BIN - executable directory
 +
<!--Additional-->
 +
{{#if: {{#var: exe}}|==Additional Information==
 
# The user manual is available [http://www.google.com/url?sa=t&source=web&cd=2&sqi=2&ved=0CBkQFjAB&url=http%3A%2F%2Fhelix.nih.gov%2FApplications%2Fvelvet_manual.pdf&rct=j&q=velvet%20assembler%20manual&ei=Lr1WToqdIsGG0QGJyamyDA&usg=AFQjCNH2VB2-la3kWazMqdl3ms-xkCocVw here.]
 
# The user manual is available [http://www.google.com/url?sa=t&source=web&cd=2&sqi=2&ved=0CBkQFjAB&url=http%3A%2F%2Fhelix.nih.gov%2FApplications%2Fvelvet_manual.pdf&rct=j&q=velvet%20assembler%20manual&ei=Lr1WToqdIsGG0QGJyamyDA&usg=AFQjCNH2VB2-la3kWazMqdl3ms-xkCocVw here.]
  
 
# 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 [http://www.google.com/url?sa=t&source=web&cd=2&sqi=2&ved=0CBkQFjAB&url=http%3A%2F%2Fhelix.nih.gov%2FApplications%2Fvelvet_manual.pdf&rct=j&q=velvet%20assembler%20manual&ei=Lr1WToqdIsGG0QGJyamyDA&usg=AFQjCNH2VB2-la3kWazMqdl3ms-xkCocVw user manual] for more information).
 
# 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 [http://www.google.com/url?sa=t&source=web&cd=2&sqi=2&ved=0CBkQFjAB&url=http%3A%2F%2Fhelix.nih.gov%2FApplications%2Fvelvet_manual.pdf&rct=j&q=velvet%20assembler%20manual&ei=Lr1WToqdIsGG0QGJyamyDA&usg=AFQjCNH2VB2-la3kWazMqdl3ms-xkCocVw user manual] for more information).
# Please file a [https://bugzilla.hpc.ufl.edu/ bugzilla] request if you need an executable with different compile-time options such as color space, different kmers, LONGSEQUENCES, etc.
+
# Please file a [https://bugzilla.rc.ufl.edu/ bugzilla] request if you need an executable with different compile-time options such as color space, different kmers, LONGSEQUENCES, etc.
 
+
}}
==Sample Submission Script ==
+
{{#if: {{#var: pbs}}|==PBS Script Examples==
 
+
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}}
<pre>
 
!/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
 
</pre>
 

Latest revision as of 17:06, 14 December 2022

Description

velvet website  

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.

In the Velvet module version 1.2.06 MetaVelvet-1.1.01 was made available. There are two versions compiled, meta-velvetg (using a max kmer of 31) and meta-velvetg_MAX99 (using a max kmer of 99). There are also multiple contributed scripts available in the same location as the velvet binaries.

However, in the Velvet module version 1.2.07 only the contributed scripts are present. MetaVelvet-1.2.01 is now provided by its own "metavelvet" module.

Velvet memory requirements increase dramatically with each kmer length increase, so the default velveth and velvetg binaries only handle kmers up to 31 bp and we provide additional binaries to handle kmers up to 99, and 249 bp. The binaries are named with _maxNN suffixes e.g. velveth_max249. In addition _OMP suffixes are used to identify the binaries built for multi-threaded usage (see below).

Environment Modules

Run module spider velvet to find out what environment modules are available for this application.

System Variables

  • HPC_VELVET_DIR - installation directory
  • HPC_VELVET_BIN - executable directory

Additional Information

  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.