comparison liftoff.xml @ 0:4172891e00df draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc commit 15e330df233be8f78bebda515fc24a0c142b7dea
author iuc
date Wed, 04 Feb 2026 08:33:42 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4172891e00df
1 <tool id="liftoff" name="Liftoff" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>Lift gene annotations between genome assemblies</description>
3 <macros>
4 <token name="@TOOL_VERSION@">1.6.3</token>
5 <token name="@VERSION_SUFFIX@">0</token>
6 <token name="@PROFILE@">24.2</token>
7 </macros>
8 <xrefs>
9 <xref type="bio.tools">liftoff</xref>
10 </xrefs>
11 <requirements>
12 <requirement type="package" version="@TOOL_VERSION@">liftoff</requirement>
13 </requirements>
14 <version_command>liftoff --version</version_command>
15 <command detect_errors="aggressive"><![CDATA[
16 set -euo pipefail &&
17 ln -s '$target_fasta' target.fa &&
18 ln -s '$reference_fasta' reference.fa &&
19 ln -s '$annotation' annotation.gff &&
20
21 liftoff
22 -g annotation.gff
23 -o mapped.gff3
24 -u unmapped_features.txt
25 -dir liftoff_intermediate
26 -p \${GALAXY_SLOTS:-1}
27 -a $min_feature_coverage
28 -s $min_identity
29 -d $distance_factor
30 -flank $flank_fraction
31 #if $feature_types and str($feature_types).strip()
32 -f "${feature_types}"
33 #end if
34 #if str($exclude_partial).strip()
35 $exclude_partial
36 #end if
37 #if str($infer_genes).strip()
38 $infer_genes
39 #end if
40 #if str($infer_transcripts).strip()
41 $infer_transcripts
42 #end if
43 #if $chrom_map and str($chrom_map).strip().lower() != 'none'
44 -chroms "$chrom_map"
45 #end if
46 #if $unplaced_sequences and str($unplaced_sequences).strip().lower() != 'none'
47 -unplaced "$unplaced_sequences"
48 #end if
49 #if str($copy_detection.find_copies) == "true"
50 -copies
51 -sc $copy_detection.copy_min_identity
52 -overlap $copy_detection.copy_max_overlap
53 -mismatch $copy_detection.copy_mismatch_penalty
54 -gap_open $copy_detection.copy_gap_open_penalty
55 -gap_extend $copy_detection.copy_gap_extend_penalty
56 #end if
57 target.fa reference.fa
58 ]]></command>
59 <inputs>
60 <param name="target_fasta" type="data" format="fasta" label="Target genome FASTA" help="Genome assembly to lift annotations onto."/>
61 <param name="reference_fasta" type="data" format="fasta" label="Reference genome FASTA" help="Genome assembly that already has annotations."/>
62 <param name="annotation" type="data" format="gff3,gtf" label="Annotation file (GFF3/GTF)" help="Reference annotation to lift over."/>
63
64 <section name="alignment" title="Alignment and mapping parameters" expanded="false">
65 <param argument="-a" name="min_feature_coverage" type="float" value="0.5" min="0" max="1" label="Minimum feature coverage"/>
66 <param argument="-s" name="min_identity" type="float" value="0.5" min="0" max="1" label="Minimum exon/CDS identity"/>
67 <param argument="-d" name="distance_factor" type="float" value="2.0" min="0" label="Distance scaling factor (-d)"/>
68 <param argument="-flank" name="flank_fraction" type="float" value="0.0" min="0" max="1" label="Flanking sequence fraction"/>
69 <param argument="-f" name="feature_types" type="text" optional="true" label="Feature types to lift" help="Comma-separated list (default: infer from annotation)."/>
70 <param argument="-exclude_partial" type="boolean" truevalue="-exclude_partial" falsevalue="" label="Send partial mappings to unmapped output" checked="false"/>
71 </section>
72
73 <section name="annotation_structure" title="Annotation structure helpers" expanded="false">
74 <param argument="-infer_genes" type="boolean" truevalue="-infer_genes" falsevalue="" label="Infer genes if annotation lacks gene records" checked="false"/>
75 <param argument="-infer_transcripts" type="boolean" truevalue="-infer_transcripts" falsevalue="" label="Infer transcripts if annotation lacks them" checked="false"/>
76 </section>
77
78 <section name="chromosome_mapping" title="Chromosome and copy handling" expanded="false">
79 <param argument="-chroms" name="chrom_map" type="data" format="txt" optional="true" label="Chromosome mapping file" help="Text file listing corresponding chromosome names between reference and target."/>
80 <param argument="-unplaced" name="unplaced_sequences" type="data" format="txt" optional="true" label="Unplaced sequence list" help="List of sequence names to map after chromosome mapping completes."/>
81 <conditional name="copy_detection">
82 <param argument="-copies" name="find_copies" type="select" label="Search for extra copies in target">
83 <option value="false" selected="true">No</option>
84 <option value="true">Yes</option>
85 </param>
86 <when value="false"/>
87 <when value="true">
88 <param argument="-sc" name="copy_min_identity" type="float" value="1.0" min="0" max="1" label="Minimum exon identity for copies"/>
89 <param argument="-overlap" name="copy_max_overlap" type="float" value="0.1" min="0" max="1" label="Maximum overlap fraction"/>
90 <param argument="-mismatch" name="copy_mismatch_penalty" type="integer" value="2" min="0" label="Mismatch penalty"/>
91 <param argument="-gap_open" name="copy_gap_open_penalty" type="integer" value="2" min="0" label="Gap open penalty"/>
92 <param argument="-gap_extend" name="copy_gap_extend_penalty" type="integer" value="1" min="0" label="Gap extend penalty"/>
93 </when>
94 </conditional>
95 </section>
96 </inputs>
97 <outputs>
98 <data name="liftoff_gff" format="gff3" from_work_dir="mapped.gff3" label="Liftoff lifted annotations on ${on_string}"/>
99 <data name="unmapped" format="txt" from_work_dir="unmapped_features.txt" label="Liftoff unmapped features on ${on_string}"/>
100 </outputs>
101 <tests>
102 <test expect_num_outputs="2">
103 <param name="target_fasta" value="target.fa" ftype="fasta"/>
104 <param name="reference_fasta" value="reference.fa" ftype="fasta"/>
105 <param name="annotation" value="annotation.gff3" ftype="gff3"/>
106 <output name="liftoff_gff">
107 <assert_contents>
108 <has_text text="tgt1"/>
109 <has_text text="ID=gene1"/>
110 <has_n_lines n="7"/>
111 </assert_contents>
112 </output>
113 <output name="unmapped">
114 <assert_contents>
115 <has_n_lines n="0"/>
116 </assert_contents>
117 </output>
118 </test>
119 </tests>
120 <help><![CDATA[
121 **Liftoff** maps gene annotations (GFF or GTF) from a reference genome to a target genome by aligning the gene sequences with **minimap2** and reconstructing transcripts/exons that maximize identity while preserving structure.
122
123 -----
124
125 ### Inputs
126
127 1. **Target genome FASTA** – assembly that should receive annotations.
128 2. **Reference genome FASTA** – assembly that already has annotations.
129 3. **Annotation file** – GFF3 or GTF containing the gene models to lift over.
130
131 Optional sections expose core Liftoff parameters (coverage, identity, minimap2 flags) as well as helpers for inferring missing gene/transcript features, providing chromosome mapping files, and searching for additional gene copies.
132
133 ### Outputs
134
135 - **Lifted annotations** (`gff3`) – annotation projected onto the target genome.
136 - **Unmapped features** (`txt`) – records that Liftoff could not confidently place (and, optionally, partial mappings if requested).
137
138 ### References
139
140 - Shumate & Salzberg (2021) *Bioinformatics* 37(12):1639–1643. DOI: 10.1093/bioinformatics/btaa1016
141 - Liftoff source: https://github.com/agshumate/Liftoff
142 ]]></help>
143 <citations>
144 <citation type="doi">10.1093/bioinformatics/btaa1016</citation>
145 </citations>
146 </tool>