Difference between revisions of "Velvet"

From UFRC
Jump to navigation Jump to search
m (Text replacement - "#uppercase" to "uc")
(28 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Velvet =
+
[[Category:Software]][[Category:Bioinformatics]][[Category:Genomics]]
 +
{|<!--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}}}}|}}
  
From the [http://www.ebi.ac.uk/~zerbino/velvet/ Velvet web site]:
+
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 24:
 
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.1.05/velveth<br>/apps/velvet/1.1.05/velvetg  
 
| Default compilation options (max kmer=31, single threaded)
 
|-
 
| /apps/velvet/1.1.05/velveth_OMP<br>/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<br>/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).<br>
+
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.
  
From the Velvet manual:<br>  
+
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).
'''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.'''
+
 +
<!--Modules-->
 +
==Required Modules==
 +
[[Modules|modules documentation]]
 +
===Serial===
 +
*{{#var:app}}
 +
==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.]
  
 
+
# 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).
==Sample Submission Script ==
+
# 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.
<br>
+
}}
 
+
{{#if: {{#var: pbs}}|==PBS Script Examples==
!/bin/bash
+
See the [[{{PAGENAME}}_PBS]] page for {{#var: app}} PBS script examples.|}}
#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
 

Revision as of 21:29, 6 December 2019

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).

Required Modules

modules documentation

Serial

  • velvet

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.