-
Notifications
You must be signed in to change notification settings - Fork 25
/
mummer.xml
103 lines (95 loc) · 4.9 KB
/
mummer.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<tool id="mummerplot_wrapper" name="MUMmer dotplot" version="0.0.4">
<description>Combine mummer/nucmer/promer with mummerplot</description>
<requirements>
<!-- Needs ps2pdf from ghostscript -->
<requirement type="binary">ps2pdf</requirement>
<requirement type="package" version="9.10">ghostscript</requirement>
<!-- Needs mummer, nucmer, promer and mummerplot from MUMmer -->
<requirement type="binary">mummer</requirement>
<requirement type="binary">nucmer</requirement>
<requirement type="binary">promer</requirement>
<requirement type="binary">mummerplot</requirement>
<requirement type="package" version="3.23">mummer</requirement>
<!-- mummerplot needs the gnuplot binary -->
<requirement type="binary">gnuplot</requirement>
<requirement type="package" version="4.6">gnuplot</requirement>
</requirements>
<version_command interpreter="python">
mummer.py --version
</version_command>
<command interpreter="python">
mummer.py "$fasta_a" "$fasta_b" $algorithm "$png_output" "$pdf_output"
</command>
<stdio>
<!-- Anything other than zero is an error -->
<exit_code range="1:" />
<exit_code range=":-1" />
</stdio>
<inputs>
<!-- Galaxy does not have sub-types for protein vs nucletide FASTA -->
<param name="fasta_a" type="data" format="fasta"
label="Species A"
description="Nucleotide FASTA file, e.g. contigs from genome assembly." />
<param name="fasta_b" type="data" format="fasta"
label="Species B"
description="Nucleotide FASTA file, e.g. contigs from genome assembly." />
<param name="algorithm" type="select" label="MUMmer search algorithm">
<option value="mummer">mummer, efficiently locates maximal unique matches between two sequences</option>
<option value="nucmer">NUCmer (NUCleotide MUMmer), for closely related sequences</option>
<option value="promer">PROmer (PROtein MUMmer), using six frame translation of DNA input, for less similar sequences.</option>
</param>
<!-- defaults like mincluster vary, 65 for nucmer but 20 for promer -->
</inputs>
<outputs>
<data name="pdf_output" format="pdf" label="$algorithm.value PDF: $fasta_a.name vs $fasta_b.name" />
<data name="png_output" format="png" label="$algorithm.value PNG: $fasta_a.name vs $fasta_b.name" />
</outputs>
<requirements>
</requirements>
<tests>
<!-- Because exact graphical output is fragile w.r.t. dependency versions,
all I am trying to verify is a valid PNG and PDF are produced.
Rather than genomes, for size + speed just comparing 3 and 6 genes. -->
<test>
<param name="fasta_a" value="three_human_mRNA.fasta" ftype="fasta" />
<param name="fasta_b" value="rhodopsin_nucs.fasta" ftype="fasta" />
<param name="algorithm" value="mummer" />
<output name="pdf_output" file="magic.pdf" ftype="pdf" compare="contains" />
<output name="png_output" file="magic.png" ftype="png" compare="contains" />
</test>
<test>
<param name="fasta_a" value="three_human_mRNA.fasta" ftype="fasta" />
<param name="fasta_b" value="rhodopsin_nucs.fasta" ftype="fasta" />
<param name="algorithm" value="nucmer" />
<output name="pdf_output" file="magic.pdf" ftype="pdf" compare="contains" />
<output name="png_output" file="magic.png" ftype="png" compare="contains" />
</test>
<test>
<param name="fasta_a" value="three_human_mRNA.fasta" ftype="fasta" />
<param name="fasta_b" value="rhodopsin_nucs.fasta" ftype="fasta" />
<param name="algorithm" value="promer" />
<output name="pdf_output" file="magic.pdf" ftype="pdf" compare="contains" />
<output name="png_output" file="magic.png" ftype="png" compare="contains" />
</test>
</tests>
<help>
**What it does**
Takes two FASTA files (*species A* and *species B*), compares them using one
of the MUMmer 3 tools (``mummer``, ``nucmer``, or ``promer``), checking both
strands, and then draws a dotplot using ``mummerplot``.
The full MUMmer suite is more flexible and capable than this limited wrapper.
**References**
MUMmer manual: v3.22 http://mummer.sourceforge.net/manual/
MUMmer tutorials: http://mummer.sourceforge.net/examples/
If you use MUMmer 3, please cite:
S. Kurtz et al. (2004).
Versatile and open software for comparing large genomes.
Genome Biology (2004), 5:R12.
http://dx.doi.org/10.1186/gb-2004-5-2-r12
This wrapper is available to install into other Galaxy Instances via the Galaxy
Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/mummer
</help>
<citations>
<citation type="doi">10.1186/gb-2004-5-2-r12</citation>
</citations>
</tool>