Mercurial > repos > peterjc > mira4_assembler
diff tools/mira4/mira4_bait.xml @ 9:302d13490b23 draft
Uploaded v0.0.2 preview 1, BAM output
author | peterjc |
---|---|
date | Thu, 28 Nov 2013 05:07:59 -0500 |
parents | |
children | 79759fdec6cb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/mira4/mira4_bait.xml Thu Nov 28 05:07:59 2013 -0500 @@ -0,0 +1,120 @@ +<tool id="mira_4_0_bait" name="MIRA v4.0 mirabait" version="0.0.1"> + <description>Filter reads using kmer matches</description> + <requirements> + <requirement type="binary">mirabait</requirement> + <requirement type="package" version="4.0">MIRA</requirement> + </requirements> + <version_command interpreter="python">mira4_bait.py --version</version_command> + <command interpreter="python"> +mira4_bait.py $input_reads.ext $output_choice $strand_choice $kmer_length $min_occurence "$bait_file" "$input_reads" "$output_reads" + </command> + <stdio> + <!-- Assume anything other than zero is an error --> + <exit_code range="1:" /> + <exit_code range=":-1" /> + </stdio> + <inputs> + <param name="bait_file" type="data" format="fasta,fastq,mira" required="true" label="Bait file (what to look for)" /> + <param name="input_reads" type="data" format="fasta,fastq,mira" required="true" label="Reads to search" /> + <param name="output_choice" type="select" label="Output positive matches, or negative matches?"> + <option value="pos">Just positive matches</option> + <option value="neg">Just negative matches</option> + </param> + <param name="strand_choice" type="select" label="Check for matches on both strands?"> + <option value="both">Check both strands</option> + <option value="fwd">Just forward strand</option> + </param> + <param name="kmer_length" type="integer" value="31" min="1" max="32" + label="k-mer length" help="Maximum 32" /> + <param name="min_occurence" type="integer" value="1" min="1" + label="Minimum k-mer occurence" + help="How many k-mer matches do you want per read? Minimum one" /> + </inputs> + <outputs> + <data name="output_reads" format="fasta" label="$input_reads.name #if str($output_choice)=='pos' then 'matching' else 'excluding matches to' # $bait_file.name"> + <!-- TODO - Replace this with format="input:input_reads" if/when that works --> + <change_format> + <when input_dataset="input_reads" attribute="extension" value="fastq" format="fastq" /> + <when input_dataset="input_reads" attribute="extension" value="fastqsanger" format="fastqsanger" /> + <when input_dataset="input_reads" attribute="extension" value="fastqsolexa" format="fastqsolexa" /> + <when input_dataset="input_reads" attribute="extension" value="fastqillumina" format="fastqillumina" /> + <when input_dataset="input_reads" attribute="extension" value="fastqcssanger" format="fastqcssanger" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="bait_file" value="tvc_bait.fasta" ftype="fasta" /> + <param name="input_reads" value="tvc_mini.fastq" ftype="fastqsanger" /> + <output name="output_reads" file="tvc_mini_bait_pos.fastq" ftype="fastqsanger" /> + </test> + <test> + <param name="bait_file" value="tvc_bait.fasta" ftype="fasta" /> + <param name="input_reads" value="tvc_mini.fastq" ftype="fastqsanger" /> + <param name="kmer_length" value="32" /> + <param name="min_occurence" value="50" /> + <output name="output_reads" file="tvc_mini_bait_strict.fastq" ftype="fastqsanger" /> + </test> + <test> + <param name="bait_file" value="tvc_bait.fasta" ftype="fasta" /> + <param name="input_reads" value="tvc_mini.fastq" ftype="fastqsanger" /> + <param name="output_choice" value="neg" /> + <output name="output_reads" file="tvc_mini_bait_neg.fastq" ftype="fastqsanger" /> + </test> + </tests> + <help> +**What it does** + +Runs the ``mirabait`` utility from MIRA v4.0 to filter your input reads +according to whether or not they contain perfect kmer matches to your +bait file. By default this looks for 31-mers (kmers or *k*-mers where +the fragment length *k* is 31), and only requires a single matching kmer. + +The ``mirabait`` utility is useful in many applications and pipelines +outside of using the main MIRA tool for assembly or mapping. + +.. class:: warningmark + +Note ``mirabait`` cannot be used on protein (amino acid) sequences. + +**Example Usage** + +To remove over abundant entries like rRNA sequences, run ``mirabait`` with +known rRNA sequences as the bait and select the *negative* matches. + +To do targeted assembly by fishing out reads belonging to a gene and just +assemble these, run ``mirabait`` with the gene of interest as the bait and +select the *positive* matches. + +To iteratively reconstruct mitochondria you could start by fishing out reads +matching any known mitochondrial sequence, assembly those, and repeat. + + +**Notes on paired read** + +.. class:: warningmark + +While MIRA4 is aware of many read naming conventions to identify paired read +partners, the ``mirabait`` tool considers each read in isolation. Applying +it to paired read files may leave you with orphaned reads. + + +**Citation** + +If you use this Galaxy tool in work leading to a scientific publication please +cite the following papers: + +Peter J.A. Cock, Björn A. Grüning, Konrad Paszkiewicz and Leighton Pritchard (2013). +Galaxy tools and workflows for sequence analysis with applications +in molecular plant pathology. PeerJ 1:e167 +http://dx.doi.org/10.7717/peerj.167 + +Bastien Chevreux, Thomas Wetter and Sándor Suhai (1999). +Genome Sequence Assembly Using Trace Signals and Additional Sequence Information. +Computer Science and Biology: Proceedings of the German Conference on Bioinformatics (GCB) 99, pp. 45-56. +http://www.bioinfo.de/isb/gcb99/talks/chevreux/main.html + +This wrapper is available to install into other Galaxy Instances via the Galaxy +Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/mira4_assembler + </help> +</tool>