Mercurial > repos > devteam > lastz
changeset 13:bf107d23242b draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/lastz commit 04ec440aef00477a46c89fdb9b74e9bade5ffd94
| author | iuc |
|---|---|
| date | Thu, 05 Feb 2026 12:52:06 +0000 |
| parents | 48d39ee9eb30 |
| children | |
| files | lastz.xml lastz_d.xml lastz_macros.xml test-data/test7.out test-data/test7.png test-data/test8.bam |
| diffstat | 6 files changed, 225 insertions(+), 117 deletions(-) [+] |
line wrap: on
line diff
--- a/lastz.xml Thu Jan 22 18:28:16 2026 +0000 +++ b/lastz.xml Thu Feb 05 12:52:06 2026 +0000 @@ -1,15 +1,10 @@ -<tool id="lastz_wrapper_2" name="LASTZ" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> - <description>: align long sequences</description> +<tool id="lastz_wrapper_2" name="LASTZ" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>align long sequences</description> <macros> <import>lastz_macros.xml</import> </macros> <expand macro="bio_tools"/> - <requirements> - <requirement type="package" version="@TOOL_VERSION@">lastz</requirement> - <requirement type="package" version="1.14">samtools</requirement> - <requirement type="package" version="3.6.3">r-base</requirement> - <requirement type="package" version="1.0.8">bzip2</requirement> - </requirements> + <expand macro="requirements"/> <command detect_errors="exit_code"><![CDATA[ #if $lastz_32: lastz_32 @@ -260,7 +255,7 @@ #elif str( $output_format.out.format ) == "blastn": --format=BLASTN- #elif str( $output_format.out.format ) == "paf": - --format=PAF- + --format=PAF #elif str( $output_format.out.format ) == "general_full": '--format=general-:${output_format.out.fields}' #elif str( $output_format.out.format ) == "differences": @@ -269,7 +264,7 @@ --action:target=multiple $output_format.rplot #if str( $output_format.out.format ) == "bam": - | samtools sort -@\${GALAXY_SLOTS:-2} -T "\${TMPDIR:-.}" -O bam -o '${output}' + | samtools sort --no-PG -l 0 -T "\${TMPDIR:-.}" -O bam | samtools view --no-PG -O bam -@ \${GALAXY_SLOTS:-1} -o '${output}' #else: > '${output}' #end if @@ -298,40 +293,40 @@ </configfiles> <inputs> <expand macro="target_input"/> - <param name="query" format="fasta,fastq,fasta.gz,fastq.gz,fastq.bz2" type="data" label="Select QUERY sequence(s)" help="These are the sequences that you are aligning against TARGET"/> + <param name="query" format="fasta,fastqsanger,fastqillumina,fasta.gz,fastq.gz,fastqsanger.gz,fastqillumina.gz,fastq.bz2,fastqsanger.bz2,fastqillumina.bz2" type="data" label="Select QUERY sequence(s)" help="These are the sequences that you are aligning against TARGET"/> <param name="lastz_32" type="boolean" checked="false" label="Use lastz_32" help="It is highly recommended to use lastz_32 instead of lastz if the reference genome size is greater than 2G"/> <section name="where_to_look" expanded="False" title="Where to look"> - <param type="select" display="radio" label="which strand to search" argument="--strand" help="Search both strands or choose plus or minus"> + <param type="select" label="which strand to search" argument="--strand" help="Search both strands or choose plus or minus"> <option value="--strand=both" selected="True">Both</option> <option value="--strand=plus">Plus</option> <option value="--strand=minus">Minus</option> </param> - <param type="boolean" display="radio" truevalue="--self" falsevalue="" checked="False" argument="--self" label="Perform a self-alignment: the target sequence is also the query." help="Computation is more efficient than it would be without this option, since only one of each mirror-image pair of alignment blocks is processed (the other, redundant one is skipped during processing, but re-created in the output). Also, the trivial self-alignment block along the main diagonal is omitted from the output. THIS OPTION CANNOT BE USED IF THE TARGET IS COMPRIZED OF MULTIPLE SEQUENCES"/> - <param type="boolean" display="radio" truevalue="--nomirror" falsevalue="" checked="False" label="Inhibit the re-creation of mirror-image alignments." argument="--nomirror" help="Output consists of only one copy of each meaningful alignment block in a self-alignment. This option is only applicable when the ‑‑self option is used."/> + <param type="boolean" truevalue="--self" falsevalue="" checked="False" argument="--self" label="Perform a self-alignment: the target sequence is also the query." help="Computation is more efficient than it would be without this option, since only one of each mirror-image pair of alignment blocks is processed (the other, redundant one is skipped during processing, but re-created in the output). Also, the trivial self-alignment block along the main diagonal is omitted from the output. THIS OPTION CANNOT BE USED IF THE TARGET IS COMPRIZED OF MULTIPLE SEQUENCES"/> + <param type="boolean" truevalue="--nomirror" falsevalue="" checked="False" label="Inhibit the re-creation of mirror-image alignments." argument="--nomirror" help="Output consists of only one copy of each meaningful alignment block in a self-alignment. This option is only applicable when the ‑‑self option is used."/> <conditional name="qhsplimit"> - <param name="qhsplimit_selector" type="select" display="radio" label="Set HSP limit" argument="--queryhsplimit"> + <param name="qhsplimit_selector" type="select" label="Set HSP limit" argument="--queryhsplimit"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="qhsplimit_n" optional="true" type="integer" label="Discard queries that have more than N HSPs" help="Any queries that exceed this limit are reported as a warning (to stderr), and no alignments are reported. This is useful for mapping reads to a reference genome, when some reads align to too many places in the reference."/> - <param name="qhsplimit_nowarn" type="boolean" truevalue="nowarn" display="radio" checked="False" label=" Withhold warnings for queries that exceed the limit set above"/> - <param name="qhsplimit_keep" type="boolean" truevalue="keep" display="radio" checked="False" label="Keep queries that exceed the limit and supress warnings" help="For such a query, the first N HSPs found are passed along to downstream processing. Note that the HSPs reported are not the best N HSPs. They are simply the first N found; they very likely have a positional bias."/> + <param name="qhsplimit_n" optional="true" type="integer" value="" label="Discard queries that have more than N HSPs" help="Any queries that exceed this limit are reported as a warning (to stderr), and no alignments are reported. This is useful for mapping reads to a reference genome, when some reads align to too many places in the reference."/> + <param name="qhsplimit_nowarn" type="boolean" truevalue="nowarn" checked="False" label=" Withhold warnings for queries that exceed the limit set above"/> + <param name="qhsplimit_keep" type="boolean" truevalue="keep" checked="False" label="Keep queries that exceed the limit and supress warnings" help="For such a query, the first N HSPs found are passed along to downstream processing. Note that the HSPs reported are not the best N HSPs. They are simply the first N found; they very likely have a positional bias."/> </when> <when value="no"> <!-- Do nothing --> </when> </conditional> - <param name="qhspbest" type="integer" optional="true" label="For queries that have more than N HSPs, discard any HSPs that score below the Nth best." help="This is useful for mapping reads to a reference genome, when some reads align to too many places in the reference."/> + <param name="qhspbest" type="integer" value="" optional="true" label="For queries that have more than N HSPs, discard any HSPs that score below the Nth best." help="This is useful for mapping reads to a reference genome, when some reads align to too many places in the reference."/> <conditional name="qdepth"> - <param name="qdepth_selector" type="select" display="radio" label="Set ratio of aligned bases to query length" argument="--querydepth"> + <param name="qdepth_selector" type="select" label="Set ratio of aligned bases to query length" argument="--querydepth"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="qdepth_n" optional="true" type="integer" label="Stop processing gapped alignments for a query/strand if its ratio of aligned bases to query length exceeds" help="This is a real number that corresponds to a depth of coverage threshold. For example, a value of 5.0 would cause termination once a query/strand has an average of five alignments for every base in the query. The numerator is the number of matches or substitutions (but not gaps); the denominator is the length of the query sequence. The purpose of this option is one of saving time. It is useful for automatically terminating the processing of queries with high repeat content, for which other methods of dealing with repetitive content fail. Moreover, back-end filtering options are not considered. In other words, matches are counted for any alignment that meets the scoring threshold, regardless of whether that alignment would be reported. The justification is that we are trying to abort the processing of queries that have too many bounding alignments in the DP matrix, and back-end filtering occurs later in the process."/> - <param name="qdepth_keep" type="boolean" truevalue="keep" display="radio" checked="False" label="Warnings for queries that exceed the limit are witheld" help="Note that the alignments reported are not guaranteed to be the highest scoring alignments that would achieve the threshold. They are simply the first alignments found. In other words, the purpose of this option is one of saving time, not one of finding optimal alignments."/> - <param name="qdepth_nowarn" type="boolean" truevalue="nowarn" display="radio" checked="False" label="Same as above but any alignments discovered for this query/strand, before it exceeds the threshold, are reported."/> + <param name="qdepth_n" optional="true" type="integer" value="" label="Stop processing gapped alignments for a query/strand if its ratio of aligned bases to query length exceeds" help="This is a real number that corresponds to a depth of coverage threshold. For example, a value of 5.0 would cause termination once a query/strand has an average of five alignments for every base in the query. The numerator is the number of matches or substitutions (but not gaps); the denominator is the length of the query sequence. The purpose of this option is one of saving time. It is useful for automatically terminating the processing of queries with high repeat content, for which other methods of dealing with repetitive content fail. Moreover, back-end filtering options are not considered. In other words, matches are counted for any alignment that meets the scoring threshold, regardless of whether that alignment would be reported. The justification is that we are trying to abort the processing of queries that have too many bounding alignments in the DP matrix, and back-end filtering occurs later in the process."/> + <param name="qdepth_keep" type="boolean" truevalue="keep" checked="False" label="Warnings for queries that exceed the limit are witheld" help="Note that the alignments reported are not guaranteed to be the highest scoring alignments that would achieve the threshold. They are simply the first alignments found. In other words, the purpose of this option is one of saving time, not one of finding optimal alignments."/> + <param name="qdepth_nowarn" type="boolean" truevalue="nowarn" checked="False" label="Same as above but any alignments discovered for this query/strand, before it exceeds the threshold, are reported."/> </when> <when value="no"> <!-- Do nothing --> @@ -341,26 +336,26 @@ <section name="scoring" expanded="false" title="Scoring"> <param name="score_file" type="data" format="txt" optional="true" argument="--scores" label="Read the substitution scores and gap penalties (and possibly other options) from a scoring file (see help below for file fomat description)." help="This option cannot be used in conjunction with ‑‑match or inference."/> <!--TODO EDIT INFERENCE --> <conditional name="match"> - <param name="match_selector" type="select" display="radio" label="Set the score values for a match and mismatch" argument="--match" help="Note that specifying ‑‑match changes the defaults for some of the other options (e.g. the scoring penalties for gaps, and various extension thresholds), as described in respective sections of LASTZ manual. The regular defaults are chosen for compatibility with BLASTZ, but since BLASTZ doesn't support ‑‑match, LASTZ infers that you are not expecting BLASTZ compatibility for this run, so it is free to use improved defaults. THIS OPTION CANNOT BE USED WITH --scores"> + <param name="match_selector" type="select" label="Set the score values for a match and mismatch" argument="--match" help="Note that specifying ‑‑match changes the defaults for some of the other options (e.g. the scoring penalties for gaps, and various extension thresholds), as described in respective sections of LASTZ manual. The regular defaults are chosen for compatibility with BLASTZ, but since BLASTZ doesn't support ‑‑match, LASTZ infers that you are not expecting BLASTZ compatibility for this run, so it is free to use improved defaults. THIS OPTION CANNOT BE USED WITH --scores"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="match_reward" type="integer" optional="true" label="Score value for a match"/> - <param name="match_penalty" type="integer" optional="true" label="Score value for a mismatch"/> + <param name="match_reward" type="integer" value="" optional="true" label="Score value for a match"/> + <param name="match_penalty" type="integer" value="" optional="true" label="Score value for a mismatch"/> </when> <when value="no"> <!-- Do nothing --> </when> </conditional> <conditional name="gap"> - <param name="gap_selector" type="select" display="radio" label="Set the score penalties for opening and extending a gap" argument="--gap" help="These are specified as positive values; subtraction is implicitly assumed. Note that the first base in a gap incurs the sum of both penalties. This option is only valid if gapped extension is being performed, and cannot be used in conjunction with inference. These values specified on the command line override any corresponding values from a file provided with ‑‑scores."> + <param name="gap_selector" type="select" label="Set the score penalties for opening and extending a gap" argument="--gap" help="These are specified as positive values; subtraction is implicitly assumed. Note that the first base in a gap incurs the sum of both penalties. This option is only valid if gapped extension is being performed, and cannot be used in conjunction with inference. These values specified on the command line override any corresponding values from a file provided with ‑‑scores."> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="gap_open" type="integer" optional="true" label="Gap opening penalty"/> - <param name="gap_extend" type="integer" optional="true" label="Gap extension penalty"/> + <param name="gap_open" type="integer" value="" optional="true" label="Gap opening penalty"/> + <param name="gap_extend" type="integer" value="" optional="true" label="Gap extension penalty"/> </when> <when value="no"> <!-- Do nothing --> @@ -371,7 +366,7 @@ </section> <section name="seeding" expanded="false" title="Seeding"> <conditional name="seed"> - <param name="seed_selector" type="select" display="radio" label="Select seed type"> + <param name="seed_selector" type="select" label="Select seed type"> <option value="defaults" selected="true">Use defaults</option> <option value="pre_set">Use pre-set values</option> <option value="len">Set length</option> @@ -382,34 +377,34 @@ <!-- Do nothing --> </when> <when value="pre_set"> - <param name="pre_set_seeds" type="select" display="radio" label="Select seed pattern" help="Select between 12of19 seed (19-bp word with matches in 12 specific positions: 1110100110010101111) or 14of22 seed (22-bp word with matches in 14 specific positions: 1110101100110010101111). 0 = mismatch, 1 = match" argument="--seed=12of19,--seed=14of22"> + <param name="pre_set_seeds" type="select" label="Select seed pattern" help="Select between 12of19 seed (19-bp word with matches in 12 specific positions: 1110100110010101111) or 14of22 seed (22-bp word with matches in 14 specific positions: 1110101100110010101111). 0 = mismatch, 1 = match" argument="--seed=12of19,--seed=14of22"> <option value="--seed=12of19">12of19</option> <option value="--seed=14of22">14of22</option> </param> </when> <when value="len"> - <param name="seed_match" type="integer" optional="true" label="Set seed length" help="Seeds require a N-bp word with matches in all positions" argument="--seed=match" /> + <param name="seed_match" type="integer" value="" optional="true" label="Set seed length" help="Seeds require a N-bp word with matches in all positions" argument="--seed=match" /> </when> <when value="half_len"> - <param name="seed_half" type="integer" optional="true" label="Set seed length" help="Seeds requires N-bp word with matches or transitions in all positions" argument="--seed=half" /> + <param name="seed_half" type="integer" value="" optional="true" label="Set seed length" help="Seeds requires N-bp word with matches or transitions in all positions" argument="--seed=half" /> </when> <when value="pattern"> <param name="pattern" type="text" size="25" optional="true" argument="--seed=PATTERN" label="Specify an arbitrary pattern" help="Use 1s, 0s, and Ts for seed discovery (e.g., 1110100110010101111 where 1 = match, 0 = mismatch, T = transition)" /> </when> </conditional> - <param name="transitions" type="select" display="radio" label="Allow transitions" help="In each seed, specify how many match positions can be transition(s) instead"> + <param name="transitions" type="select" label="Allow transitions" help="In each seed, specify how many match positions can be transition(s) instead"> <option value="--transition" selected="true">One</option> <option value="--transition=2">Two</option> <option value="--notransition">None</option> </param> <conditional name="seed_filer"> - <param name="seed_filer_selector" type="select" display="radio" label="Filter seeds" argument="--filter"> + <param name="seed_filer_selector" type="select" label="Filter seeds" argument="--filter"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="filter_tr" type="integer" optional="true" label="Number of transitions" help="Allowing no more than this number of transversions. If not specified, any number of transversions is allowed (they are not limited)" /> - <param name="filter_match" type="integer" optional="true" label="Number of matches" help="Require at least this many exact matches"/> + <param name="filter_tr" type="integer" value="" optional="true" label="Number of transitions" help="Allowing no more than this number of transversions. If not specified, any number of transversions is allowed (they are not limited)" /> + <param name="filter_match" type="integer" value="" optional="true" label="Number of matches" help="Require at least this many exact matches"/> </when> <when value="no"> <!-- Do nothing --> @@ -420,7 +415,7 @@ <param type="boolean" truevalue="--gfextend" checked="false" argument="--gfextend" label="Perform gap-free extension of seeds to HSPs" help="This will take into account other papermeters in this section"/> <param type="boolean" truevalue="--nogfextend" argument="--nogfextend" label="Skip the gap-free extension stage" help="Instead, pass the seeds along to the next specified stage.It is not recommended to use --nogfextend without also using --nogapped."/> <conditional name="hsp_method"> - <param name="hsp_method_selector" type="select" display="radio" label="Select HSP finding method"> + <param name="hsp_method_selector" type="select" label="Select HSP finding method"> <option value="none" selected="true">None</option> <option value="match">Match extension</option> <option value="mismatch">Mismatch extension</option> @@ -430,17 +425,17 @@ <!-- Do nothing --> </when> <when value="match"> - <param type="integer" optional="true" argument="--exact" label="Find HSPs using the exact match extension method with the given length threshold" help="This is instead of using the x-drop method"/> + <param type="integer" value="" optional="true" argument="--exact" label="Find HSPs using the exact match extension method with the given length threshold" help="This is instead of using the x-drop method"/> </when> <when value="mismatch"> - <param name="mismatch_count" type="integer" optional="true" label="Specify number of mismatches"/> - <param name="mismatch_length" type="integer" min="1" max="50" optional="true" label="Specify length threshold" help="Find HSPs using the mismatch extension method with the given length threshold and allowing specified number of mismatches" argument="--mismatch"/> + <param name="mismatch_count" type="integer" value="" optional="true" label="Specify number of mismatches"/> + <param name="mismatch_length" type="integer" value="" min="1" max="50" optional="true" label="Specify length threshold" help="Find HSPs using the mismatch extension method with the given length threshold and allowing specified number of mismatches" argument="--mismatch"/> </when> <when value="x"> - <param type="integer" optional="true" argument="--xdrop" label="Find HSPs using the x-drop extension method with this threshold" help="The dropoff setting determines the endpoints of each gap-free segment: the extension of each seed is stopped when its cumulative score drops off by more than the given threshold from the maximum seen so far."/> - <param type="integer" optional="true" argument="--hspthresh" label="Set the score threshold for the x-drop extension method" help="HSPs scoring lower are discarded"/> - <param name="hspthresh_top" type="integer" optional="true" argument="--hspthresh=top" label="Set an adaptive score threshold for the x-drop extension method" help="HSPs scoring lower are discarded. The score threshold is chosen to limit the number of target sequence bases in HSPs to about this value (or possibly a little higher in case of ties, etc.)."/> - <param name="hspthresh_top_percent" type="integer" optional="true" argument="--hspthresh=top%" label="Set an adaptive score threshold for the x-drop extension method" help="HSPs scoring lower are discarded. The score threshold is chosen to limit the number of target sequence bases in HSPs to about this perentage value (or possibly a little higher in case of ties, etc.)."/> + <param type="integer" value="" optional="true" argument="--xdrop" label="Find HSPs using the x-drop extension method with this threshold" help="The dropoff setting determines the endpoints of each gap-free segment: the extension of each seed is stopped when its cumulative score drops off by more than the given threshold from the maximum seen so far."/> + <param type="integer" value="" optional="true" argument="--hspthresh" label="Set the score threshold for the x-drop extension method" help="HSPs scoring lower are discarded"/> + <param name="hspthresh_top" type="integer" value="" optional="true" argument="--hspthresh=top" label="Set an adaptive score threshold for the x-drop extension method" help="HSPs scoring lower are discarded. The score threshold is chosen to limit the number of target sequence bases in HSPs to about this value (or possibly a little higher in case of ties, etc.)."/> + <param name="hspthresh_top_percent" type="integer" value="" optional="true" argument="--hspthresh=top%" label="Set an adaptive score threshold for the x-drop extension method" help="HSPs scoring lower are discarded. The score threshold is chosen to limit the number of target sequence bases in HSPs to about this perentage value (or possibly a little higher in case of ties, etc.)."/> </when> </conditional> <param name="entropy" type="boolean" truevalue="--entropy" checked="false" label="Adjust for entropy when qualifying HSPs in the x-drop extension method" help="Those that score just slightly above the HSP threshold are adjusted downward according to the entropy of their nucleotides, and any that then fall below the threshold are discarded."/> @@ -450,13 +445,13 @@ <section name="chaining" expanded="false" title="Chaining"> <param type="boolean" truevalue="--chain" checked="false" argument="--chain" label="Perform chaining of HSPs with no penalties"/> <conditional name="chaning_penalties"> - <param name="chaning_penalties_selector" type="select" display="radio" argument="--chain=" label="Perform chaining with penalties"> + <param name="chaning_penalties_selector" type="select" argument="--chain=" label="Perform chaining with penalties"> <option value="yes">Yes</option> <option value="no" selected="true">No</option> </param> <when value="yes"> - <param name="diag" type="integer" optional="true" label="Penalty for diagonal in dynamic programming matrix"/> - <param name="anti" type="integer" optional="true" label="Penalty for anti-diagonal in dynamic programming matrix" help="These are specified as positive values; subtraction from the score is implicitly assumed."/> + <param name="diag" type="integer" value="" optional="true" label="Penalty for diagonal in dynamic programming matrix"/> + <param name="anti" type="integer" value="" optional="true" label="Penalty for anti-diagonal in dynamic programming matrix" help="These are specified as positive values; subtraction from the score is implicitly assumed."/> </when> <when value="no"> <!-- Do nothing --> @@ -466,37 +461,37 @@ <section name="gap_ext" expanded="false" title="Gapped extension"> <param type="boolean" truevalue="--gapped" argument="--gapped" label="Perform gapped extension of HSPs" help="Extension of HSPs (or seeds, if gap-free extension is not performed), is performed after first reducing them to anchor points."/> <param type="boolean" truevalue="--nogapped" argument="--nogapped" label="Skip the gapped extension stage" help="This means that interpolation must also be skipped, since it is not allowed without gapped extension"/> - <param type="integer" optional="true" argument="--ydrop" label="Set the threshold for terminating gapped extension" help="This restricts the endpoints of each local alignment by limiting the local region around each anchor in which extension is performed. The boundary of this region in the dynamic programming matrix is formed by the points where the cumulative score has dropped off by more than the given threshold from the maximum seen so far."/> + <param type="integer" value="" optional="true" argument="--ydrop" label="Set the threshold for terminating gapped extension" help="This restricts the endpoints of each local alignment by limiting the local region around each anchor in which extension is performed. The boundary of this region in the dynamic programming matrix is formed by the points where the cumulative score has dropped off by more than the given threshold from the maximum seen so far."/> <param type="boolean" truevalue="--noytrim" argument="--noytrim" label="If y-drop extension encounters the end of the sequence, extend the alignment to the end of the sequence rather than trimming it back to the location giving the maximum score" help="This is highly recommended when either the target or query sequences are short reads (say, less than 100 bases), to prevent y-drop mismatch shadow."/> - <param type="integer" optional="true" argument="--gappedthresh" label="Set the threshold for gapped extension" help="Alignments scoring lower than that value are discarded. When used along with the x-drop method for gap-free extension, this value is generally set at least as high as the HSP threshold. Setting it lower has no effect, since at worst the HSP itself would always qualify (both extension stages use the same scoring matrix)."/> + <param type="integer" value="" optional="true" argument="--gappedthresh" label="Set the threshold for gapped extension" help="Alignments scoring lower than that value are discarded. When used along with the x-drop method for gap-free extension, this value is generally set at least as high as the HSP threshold. Setting it lower has no effect, since at worst the HSP itself would always qualify (both extension stages use the same scoring matrix)."/> <param type="boolean" truevalue="--allgappedbounds" argument="--allgappedbounds" label="Revert to handling bounding alignments the way they were handled in BLASTZ."/> </section> <section name="filters" expanded="false" title="Filtering"> <section name="identity" expanded="true" title="Filter alignments by percent identity"> - <param name="id_min" type="integer" min="0" max="100" optional="true" label="Minimum identity"/> - <param name="id_max" type="integer" min="0" max="100" optional="true" argument="--filter=identity" label="Maximum identity (optional)" help="0 ≤ min ≤ max ≤ 100 percent. Identity is the percentage of aligned bases that are matches. Alignment blocks outside the given range are discarded."/> + <param name="id_min" type="integer" value="" min="0" max="100" optional="true" label="Minimum identity"/> + <param name="id_max" type="integer" value="" min="0" max="100" optional="true" argument="--filter=identity" label="Maximum identity (optional)" help="0 ≤ min ≤ max ≤ 100 percent. Identity is the percentage of aligned bases that are matches. Alignment blocks outside the given range are discarded."/> </section> <section name="continuity" expanded="false" title="Filter alignments by continuity"> - <param name="cont_min" type="integer" min="0" max="100" optional="true" label="Minimum continuity"/> - <param name="cont_max" type="integer" min="0" max="100" optional="true" argument="--filter=continuity" label="Maximum continuity (optional)" help="0 ≤ min ≤ max ≤ 100 percent. Continuity is the percentage of alignment columns that are not gaps. Alignment blocks outside the given range are discarded."/> + <param name="cont_min" type="integer" value="" min="0" max="100" optional="true" label="Minimum continuity"/> + <param name="cont_max" type="integer" value="" min="0" max="100" optional="true" argument="--filter=continuity" label="Maximum continuity (optional)" help="0 ≤ min ≤ max ≤ 100 percent. Continuity is the percentage of alignment columns that are not gaps. Alignment blocks outside the given range are discarded."/> </section> <section name="coverage" expanded="false" title="Filter alignments by coverage"> - <param name="cov_min" type="integer" min="0" max="100" optional="true" label="Minimum coverage"/> - <param name="cov_max" type="integer" min="0" max="100" optional="true" argument="--filter=coverage" label="Maximum coverage (optional)" help=" 0 ≤ min ≤ max ≤ 100 percent. Coverage is the percentage of the entire target or query sequence (whichever is shorter) that is included in the alignment block. Blocks outside the given range are discarded."/> + <param name="cov_min" type="integer" value="" min="0" max="100" optional="true" label="Minimum coverage"/> + <param name="cov_max" type="integer" value="" min="0" max="100" optional="true" argument="--filter=coverage" label="Maximum coverage (optional)" help=" 0 ≤ min ≤ max ≤ 100 percent. Coverage is the percentage of the entire target or query sequence (whichever is shorter) that is included in the alignment block. Blocks outside the given range are discarded."/> </section> - <param name="filter_nmatch" type="integer" min="1" optional="true" argument="--filter=nmatch" label="Filter alignments by how many bases match" help="Requiring at least this number of matched bases, min > 0. Match count is the number of matched bases in the alignment."/> - <param name="filter_nmatch_percent" type="integer" min="1" optional="true" argument="--filter=nmatch%" label="Filter alignments by how many bases match expressed as percentage" help="e.g., percentage of the query length."/> - <param name="filter_nmismatch" type="integer" min="0" optional="true" argument="--filter=nmismatch:0.." label="Filter alignments by the number of mismatches" help="Allow no more than this number of mismatched bases. Mismatch count, or nmismatch, is the number of aligned bases in the alignment that are mismatches (substitutions)."/> - <param name="filter_ngap" type="integer" min="0" optional="true" argument="--filter=ngap:0.." label="Filter alignments by the number of gaps" help="Allow no more than this number of gaps. Gap count, or ngap, is the number of runs of gapped columns in the alignment (each run is counted as one gap)."/> - <param name="filter_cgap" type="integer" min="0" optional="true" argument="--filter=cgap:0.." label="Filter alignments by the number of gap columns" help="Allow no more than this number of gaps. Gap column count, or cgap, is the number of gapped columns in the alignment (each column is counted as one gap)."/> + <param name="filter_nmatch" type="integer" value="" min="1" optional="true" argument="--filter=nmatch" label="Filter alignments by how many bases match" help="Requiring at least this number of matched bases, min > 0. Match count is the number of matched bases in the alignment."/> + <param name="filter_nmatch_percent" type="integer" value="" min="1" optional="true" argument="--filter=nmatch%" label="Filter alignments by how many bases match expressed as percentage" help="e.g., percentage of the query length."/> + <param name="filter_nmismatch" type="integer" value="" min="0" optional="true" argument="--filter=nmismatch:0.." label="Filter alignments by the number of mismatches" help="Allow no more than this number of mismatched bases. Mismatch count, or nmismatch, is the number of aligned bases in the alignment that are mismatches (substitutions)."/> + <param name="filter_ngap" type="integer" value="" min="0" optional="true" argument="--filter=ngap:0.." label="Filter alignments by the number of gaps" help="Allow no more than this number of gaps. Gap count, or ngap, is the number of runs of gapped columns in the alignment (each run is counted as one gap)."/> + <param name="filter_cgap" type="integer" value="" min="0" optional="true" argument="--filter=cgap:0.." label="Filter alignments by the number of gap columns" help="Allow no more than this number of gaps. Gap column count, or cgap, is the number of gapped columns in the alignment (each column is counted as one gap)."/> <param type="boolean" truevalue="--notrivial" argument="--notrivial" label="Do not output a trivial self-alignment block if the target and query sequences are identical" help="Note that using ‑‑self automatically enables this option."/> </section> <section name="interpolation" expanded="false" title="Interpolation"> - <param type="integer" optional="true" argument="--inner" label="Perform additional alignment between the gapped alignment blocks, using (presumably) more sensitive alignment parameters" help="This value is used as the threshold for both the gap-free and gapped extension sub-stages; see the discussion of interpolation for more details. This option is only valid if gapped extension is performed."/> + <param type="integer" value="" optional="true" argument="--inner" label="Perform additional alignment between the gapped alignment blocks, using (presumably) more sensitive alignment parameters" help="This value is used as the threshold for both the gap-free and gapped extension sub-stages; see the discussion of interpolation for more details. This option is only valid if gapped extension is performed."/> </section> <section name="output_format" expanded="false" title="Output"> - <conditional name="out"> - <param name="format" type="select" display="radio" label="Specify the output format"> + <conditional name="out"> + <param name="format" type="select" label="Specify the output format"> <option value="bam" selected="true">BAM --format=sam)</option> <option value="general_def">General default (--format=general)</option> <option value="general_full">Customized general (--format=general[:fields])</option> @@ -506,7 +501,7 @@ <option value="differences">Differences (--format=differences)</option> </param> <when value="bam"> - <param name="bam_options" type="select" display="radio" argument="--format=sam, --format=softsam" label="Select a BAM flavor to output" help="Lastz actually outputs SAM data but Galaxy converts it into BAM to save space. For alignments that don't reach the end of a query, ‑‑format=sam uses 'hard clipping', while ‑‑format=softsam uses 'soft clipping'. See the section on 'clipped alignment' in the SAM specification for an explanation of what this means. The options ‑‑format=sam- and ‑‑format=softsam- suppress the SAM header lines. This makes them suitable for concatenating output from multiple runs. If you need to specify readgroup information: use AddOrEplaceReadGroups from Picard package"> + <param name="bam_options" type="select" argument="--format=sam, --format=softsam" label="Select a BAM flavor to output" help="Lastz actually outputs SAM data but Galaxy converts it into BAM to save space. For alignments that don't reach the end of a query, ‑‑format=sam uses 'hard clipping', while ‑‑format=softsam uses 'soft clipping'. See the section on 'clipped alignment' in the SAM specification for an explanation of what this means. The options ‑‑format=sam- and ‑‑format=softsam- suppress the SAM header lines. This makes them suitable for concatenating output from multiple runs. If you need to specify readgroup information: use AddOrEplaceReadGroups from Picard package"> <option value="sam" selected="true">BAM</option> <option value="softsam">soft-clipped BAM</option> <option value="sam-">BAM without header</option> @@ -570,7 +565,7 @@ </param> </when> <when value="maf"> - <param name="maf_type" type="select" display="radio" argument="--format=maf" label="Seleat MAF flavor" help="MAF is a multiple alignment format developed at UCSC"> + <param name="maf_type" type="select" argument="--format=maf" label="Seleat MAF flavor" help="MAF is a multiple alignment format developed at UCSC"> <option value="maf">MAF</option> <option value="maf+">MAF with additional stats</option> <option value="maf-">MAF without header and comments</option> @@ -604,70 +599,170 @@ </outputs> <tests> <test expect_num_outputs="1"> - <param name="ref_source" value="cached" /> - <param name="target_2bit" value="phiX174" /> + <conditional name="source"> + <param name="ref_source" value="cached" /> + <param name="target_2bit" value="phiX174" /> + </conditional> <param name="query" value="phiX_split.fasta" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="general_def" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="general_def" /> + </conditional> + </section> <output name="output" value="test1.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" value="phiX_split.fasta" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" value="phiX_split.fasta" /> + </conditional> <param name="query" value="phiX.fasta" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="general_def" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="general_def" /> + </conditional> + </section> <output name="output" value="test2.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" value="phiX_split.fasta" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" value="phiX_split.fasta" /> + </conditional> <param name="query" value="phiX.fasta" /> - <param name="strand" value="--strand=both" /> - <param name="score_file" value="score_file.txt" /> - <param name="format" value="general_def" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="scoring"> + <param name="score_file" value="score_file.txt" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="general_def" /> + </conditional> + </section> <output name="output" value="test3.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" value="chrM_mouse.fa.gz" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" value="chrM_mouse.fa.gz" /> + </conditional> <param name="query" value="chrM_human.fa.gz" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="blastn" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="blastn" /> + </conditional> + </section> <output name="output" value="test4.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + </conditional> <param name="query" ftype="fastq.bz2" value="chrM_mouse.fq.bz2" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="blastn" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="blastn" /> + </conditional> + </section> + <output name="output" value="test5.out" /> + </test> + <test expect_num_outputs="1"> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + </conditional> + <param name="query" ftype="fastq.gz" value="chrM_mouse.fq.gz" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="blastn" /> + </conditional> + </section> <output name="output" value="test5.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> - <param name="query" ftype="fastq.gz" value="chrM_mouse.fq.gz" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="blastn" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + </conditional> + <param name="query" ftype="fastq" value="chrM_mouse.fq" /> + <param name="lastz_32" value="true" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="blastn" /> + </conditional> + </section> <output name="output" value="test5.out" /> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="history" /> - <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> - <param name="query" ftype="fastq" value="chrM_mouse.fq" /> - <param name="lastz_32" value="true" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="blastn" /> - <output name="output" value="test5.out" /> + <conditional name="source"> + <param name="ref_source" value="cached" /> + <param name="target_2bit" value="phiX174" /> + </conditional> + <param name="query" value="phiX_split.fasta" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="differences" /> + </conditional> + </section> + <output name="output" value="test6.out" /> + </test> + <test expect_num_outputs="2"> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + </conditional> + <param name="query" ftype="fastq.gz" value="chrM_mouse.fq.gz" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="paf" /> + </conditional> + <param name="rplot" value="true"/> + </section> + <output name="output" value="test7.out" ftype="paf"/> + <output name="out_plot" value="test7.png"/> </test> <test expect_num_outputs="1"> - <param name="ref_source" value="cached" /> - <param name="target_2bit" value="phiX174" /> - <param name="query" value="phiX_split.fasta" /> - <param name="strand" value="--strand=both" /> - <param name="format" value="differences" /> - <output name="output" value="test6.out" /> + <conditional name="source"> + <param name="ref_source" value="history" /> + <param name="target" ftype="fasta.gz" value="chrM_human.fa.gz" /> + </conditional> + <param name="query" ftype="fastq.gz" value="chrM_mouse.fq.gz" /> + <section name="where_to_look"> + <param name="strand" value="--strand=both" /> + </section> + <section name="output_format"> + <conditional name="out"> + <param name="format" value="bam" /> + </conditional> + </section> + <output name="output" value="test8.bam" ftype="bam"/> </test> </tests> @@ -737,7 +832,7 @@ **Substitution matrix** -By default the HOXD70 substitution scores are used (from `Chiaromonte et al. 2002 <https://www.ncbi.nlm.nih.gov/pubmed/11928468>`_):: +By default the HOXD70 substitution scores are used (from `Chiaromonte et al. 2002 <https://doi.org/10.1142/9789812799623_0012>`_):: bad_score = X:-1000 # used for sub['X'][*] and sub[*]['X'] fill_score = -100 # used when sub[*][*] is not defined
--- a/lastz_d.xml Thu Jan 22 18:28:16 2026 +0000 +++ b/lastz_d.xml Thu Feb 05 12:52:06 2026 +0000 @@ -1,13 +1,10 @@ -<tool id="lastz_d_wrapper" name="LASTZ_D" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> - <description>: estimate substitution scores matrix</description> +<tool id="lastz_d_wrapper" name="LASTZ_D" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>estimate substitution scores matrix</description> <macros> <import>lastz_macros.xml</import> </macros> <expand macro="bio_tools"/> - <requirements> - <requirement type="package" version="@TOOL_VERSION@">lastz</requirement> - <requirement type="package" version="1.0.8">bzip2</requirement> - </requirements> + <expand macro="requirements"/> <command detect_errors="exit_code"><