Mercurial > repos > devteam > velvet
view velveth.xml @ 2:8d09f8be269e draft
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/velvet commit c5031ee00f5d61be43d2d6a1349870d6c8a817de"
author | iuc |
---|---|
date | Tue, 16 Jun 2020 12:58:20 -0400 |
parents | 5da9a0e2fb2d |
children | 920677cd220f |
line wrap: on
line source
<tool id="velveth" name="velveth" version="@WRAPPER_VERSION@.2"> <description>Prepare a dataset for the Velvet velvetg Assembler</description> <macros> <import>macros.xml</import> </macros> <expand macro="requirements"/> <expand macro="stdio"/> <version_command><![CDATA[ velveth 2>&1 | grep "Version" | sed -e 's/Version //' ]]></version_command> <command><![CDATA[ export OMP_NUM_THREADS="\${GALAXY_SLOTS:-1}" && mkdir -p '${outfile.extra_files_path}' && velveth '$outfile.extra_files_path' $hash_length #for $i in $inputs -${i.input_type.input.ext} ${i.input_type.read_type} #if str( $i.input_type.input_type_selector ) == "paireds": -separate '${i.input_type.input}' '${i.input_type.input2}' #else if str( $i.input_type.input_type_selector ) == "pairedi": -interleaved '${i.input_type.input}' #else: '${i.input_type.input}' #end if #end for $strand_specific ]]></command> <inputs> <param label="Hash Length" name="hash_length" type="integer" value="21" min="11" max="191" help="k-mer length in base pairs of the words being hashed."/> <param name="strand_specific" type="boolean" checked="false" truevalue="-strand_specific" falsevalue="" label="Use strand specific transcriptome sequencing" help="If you are using a strand specific transcriptome sequencing protocol, you may wish to use this option for better results."/> <repeat name="inputs" title="Input Files"> <conditional name="input_type"> <param name="input_type_selector" type="select" label="Choose the input type"> <option value="single" selected="true">Single ended</option> <option value="paireds">separate paired end</option> <option value="pairedi">interleaved paired end</option> </param> <when value="single"> <param label="read type" name="read_type" type="select"> <option value="-short" selected="true">short reads</option> <option value="-short2">short2 reads</option> <option value="-short3">short3 reads</option> <option value="-short4">short4 reads</option> <option value="-long">long reads</option> </param> <param name="input" type="data" format="fasta,fastq,fasta.gz,fastq.gz" label="Dataset"/> </when> <when value="paireds"> <param label="read type" name="read_type" type="select" > <option value="-shortPaired" selected="true">shortPaired reads</option> <option value="-shortPaired2">shortPaired2 reads</option> <option value="-shortPaired3">shortPaired3 reads</option> <option value="-shortPaired4">shortPaired4 reads</option> <option value="-longPaired">longPaired reads</option> </param> <param name="input" type="data" format="fasta,fastq,fasta.gz,fastq.gz" label="Dataset"/> <param name="input2" type="data" format="fasta,fastq,fasta.gz,fastq.gz" label="Dataset"/> </when> <when value="pairedi"> <param label="read type" name="read_type" type="select"> <option value="-shortPaired" selected="true">shortPaired reads</option> <option value="-shortPaired2">shortPaired2 reads</option> <option value="-shortPaired3">shortPaired3 reads</option> <option value="-shortPaired4">shortPaired4 reads</option> <option value="-longPaired">longPaired reads</option> </param> <param name="input" type="data" format="fasta,fastq,fasta.gz,fastq.gz" label="Dataset"/> </when> </conditional> </repeat> </inputs> <outputs> <data format="velvet" name="outfile" /> </outputs> <tests> <test> <param name="hash_length" value="21" /> <repeat name="inputs"> <conditional name="input_type"> <param name="input_type_selector" value="paireds" /> <param name="read_type" value="-shortPaired" /> <param name="input1" value="R1.fastq" ftype="fastq" /> <param name="input2" value="R2.fastq" ftype="fastq" /> </conditional> </repeat> <param name="strand_specific" value="" /> <output name="outfile" file="velveth_paireds.out"> <extra_files type="file" name='Sequences' value="velveth_paireds/Sequences" compare="diff" /> <extra_files type="file" name='Roadmaps' value="velveth_paireds/Roadmaps" compare="diff" /> </output> </test> <test> <param name="hash_length" value="21" /> <repeat name="inputs"> <conditional name="input_type"> <param name="input_type_selector" value="single" /> <param name="read_type" value="-short" /> <param name="input" value="R1.fastq" ftype="fastq" /> </conditional> </repeat> <param name="strand_specific" value="" /> <output name="outfile" file="velveth_single.out"> <extra_files type="file" name='Sequences' value="velveth_single/Sequences" compare="diff" /> <extra_files type="file" name='Roadmaps' value="velveth_single/Roadmaps" compare="diff" /> </output> </test> <test> <param name="hash_length" value="21" /> <repeat name="inputs"> <conditional name="input_type"> <param name="input_type_selector" value="single" /> <param name="read_type" value="-short" /> <param name="input" value="R1.fastq" ftype="fastq" /> </conditional> </repeat> <repeat name="inputs"> <param name="file_format" value="fastq" /> <conditional name="input_type"> <param name="input_type_selector" value="single" /> <param name="read_type" value="-short2" /> <param name="input" value="R2.fastq" ftype="fastq" /> </conditional> </repeat> <param name="strand_specific" value="" /> <output name="outfile" file="velveth_single.out"> <extra_files type="file" name='Sequences' value="velveth_single2/Sequences" compare="diff" /> <extra_files type="file" name='Roadmaps' value="velveth_single2/Roadmaps" compare="diff" /> </output> </test> </tests> <help><![CDATA[ **What it does** 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. Read the Velvet `documentation`__ for details on using the Velvet Assembler. .. _Velvet: http://www.ebi.ac.uk/~zerbino/velvet/ .. __: http://www.ebi.ac.uk/~zerbino/velvet/Manual.pdf ------ **Velveth** Velveth takes in a number of sequence files, produces a hashtable, then outputs two files in an output directory (creating it if necessary), Sequences and Roadmaps, which are necessary to velvetg. ------ **Hash Length** The hash length, also known as k-mer length, corresponds to the length, in base pairs, of the words being hashed. The hash length is the length of the k-mers being entered in the hash table. Firstly, you must observe three technical constraints:: # it must be an odd number, to avoid palindromes. If you put in an even number, Velvet will just decrement it and proceed. # it must be below or equal to MAXKMERHASH length (cf. 2.3.3, by default 31bp), because it is stored on 64 bits # it must be strictly inferior to read length, otherwise you simply will not observe any overlaps between reads, for obvious reasons. Now you still have quite a lot of possibilities. As is often the case, it's a trade- off between specificity and sensitivity. Longer kmers bring you more specificity (i.e. less spurious overlaps) but lowers coverage (cf. below). . . so there's a sweet spot to be found with time and experience. We like to think in terms of "k-mer coverage", i.e. how many times has a k-mer been seen among the reads. The relation between k-mer coverage Ck and standard (nucleotide-wise) coverage C is Ck = C # (L - k + 1)/L where k is your hash length, and L you read length. Experience shows that this kmer coverage should be above 10 to start getting decent results. If Ck is above 20, you might be "wasting" coverage. Experience also shows that empirical tests with different values for k are not that costly to run! **Input Files** Velvet works mainly with fasta and fastq formats. For paired-end reads, the assumption is that each read is next to its mate read. In other words, if the reads are indexed from 0, then reads 0 and 1 are paired, 2 and 3, 4 and 5, etc. Supported file formats are:: fasta fastq fasta.gz fastq.gz eland gerald Read categories are:: short (default) shortPaired short2 (same as short, but for a separate insert-size library) shortPaired2 (see above) long (for Sanger, 454 or even reference sequences) longPaired ]]></help> <expand macro="citation"/> </tool>