comparison remove_terminal_stop_codons.xml @ 0:0290a7285026 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/remove_terminal_stop_codons commit 0c1c0e260ebecab6beb23fd56322b391e62d12fa
author iuc
date Fri, 05 Dec 2025 23:22:35 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0290a7285026
1 <tool id="remove_terminal_stop_codons" name="Remove terminal stop codons" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>from coding sequences</description>
3 <macros>
4 <token name="@TOOL_VERSION@">1.0.0</token>
5 <token name="@VERSION_SUFFIX@">0</token>
6 <token name="@PROFILE@">25.0</token>
7 </macros>
8 <requirements>
9 <requirement type="package" version="1.84">biopython</requirement>
10 </requirements>
11 <required_files>
12 <include path="remove_terminal_stop_codons.py" />
13 </required_files>
14 <command detect_errors="exit_code"><![CDATA[
15 python '$__tool_directory__/remove_terminal_stop_codons.py'
16 -i '$input'
17 -o '$output'
18 #if str($genetic_code) != "1"
19 -t '$genetic_code'
20 #end if
21 $no_check_internal
22 ]]></command>
23 <inputs>
24 <param name="input" type="data" format="fasta" label="Input FASTA file"
25 help="FASTA file containing coding sequences (CDS) to process." />
26 <param name="genetic_code" type="select" label="Genetic code"
27 help="NCBI translation table to use for identifying stop codons. Different organisms use different genetic codes.">
28 <option value="1" selected="true">1 - Standard</option>
29 <option value="2">2 - Vertebrate Mitochondrial</option>
30 <option value="3">3 - Yeast Mitochondrial</option>
31 <option value="4">4 - Mold, Protozoan, Coelenterate Mitochondrial and Mycoplasma/Spiroplasma</option>
32 <option value="5">5 - Invertebrate Mitochondrial</option>
33 <option value="6">6 - Ciliate, Dasycladacean and Hexamita Nuclear</option>
34 <option value="9">9 - Echinoderm and Flatworm Mitochondrial</option>
35 <option value="10">10 - Euplotid Nuclear</option>
36 <option value="11">11 - Bacterial, Archaeal and Plant Plastid</option>
37 <option value="12">12 - Alternative Yeast Nuclear</option>
38 <option value="13">13 - Ascidian Mitochondrial</option>
39 <option value="14">14 - Alternative Flatworm Mitochondrial</option>
40 <option value="15">15 - Blepharisma Nuclear</option>
41 <option value="16">16 - Chlorophycean Mitochondrial</option>
42 <option value="21">21 - Trematode Mitochondrial</option>
43 <option value="22">22 - Scenedesmus obliquus Mitochondrial</option>
44 <option value="23">23 - Thraustochytrium Mitochondrial</option>
45 <option value="24">24 - Rhabdopleuridae Mitochondrial</option>
46 <option value="25">25 - Candidate Division SR1 and Gracilibacteria</option>
47 <option value="26">26 - Pachysolen tannophilus Nuclear</option>
48 <option value="27">27 - Karyorelict Nuclear</option>
49 <option value="28">28 - Condylostoma Nuclear</option>
50 <option value="29">29 - Mesodinium Nuclear</option>
51 <option value="30">30 - Peritrich Nuclear</option>
52 <option value="31">31 - Blastocrithidia Nuclear</option>
53 <option value="33">33 - Cephalodiscidae Mitochondrial UAA-Tyr</option>
54 </param>
55 <param argument="--no-check-internal" type="boolean" truevalue="--no-check-internal" falsevalue=""
56 checked="false" label="Skip internal stop codon check"
57 help="By default, the tool will fail if internal (in-frame) stop codons are found. Enable this to only remove terminal stops without checking for internal ones." />
58 </inputs>
59 <outputs>
60 <data name="output" format="fasta" label="${tool.name} on ${on_string}" />
61 </outputs>
62 <tests>
63 <!-- Test 1: Basic removal of terminal stop codon -->
64 <test expect_num_outputs="1">
65 <param name="input" value="with_terminal_stop.fasta" ftype="fasta" />
66 <param name="genetic_code" value="1" />
67 <output name="output" file="without_terminal_stop.fasta" ftype="fasta" />
68 </test>
69 <!-- Test 2: Sequence without terminal stop (should pass through unchanged) -->
70 <test expect_num_outputs="1">
71 <param name="input" value="no_terminal_stop.fasta" ftype="fasta" />
72 <param name="genetic_code" value="1" />
73 <output name="output" file="no_terminal_stop.fasta" ftype="fasta" />
74 </test>
75 <!-- Test 3: Internal stop codon should fail -->
76 <test expect_failure="true">
77 <param name="input" value="with_internal_stop.fasta" ftype="fasta" />
78 <param name="genetic_code" value="1" />
79 </test>
80 <!-- Test 4: Internal stop with skip check should pass -->
81 <test expect_num_outputs="1">
82 <param name="input" value="with_internal_stop.fasta" ftype="fasta" />
83 <param name="genetic_code" value="1" />
84 <param name="no_check_internal" value="true" />
85 <output name="output" file="with_internal_stop_output.fasta" ftype="fasta" />
86 </test>
87 </tests>
88 <help><![CDATA[
89 **What it does**
90
91 This tool removes terminal (trailing) stop codons from coding sequences in a FASTA file.
92 It is designed as a **preprocessing step** for downstream tools like **cawlign** and **HyPhy**
93 that do not permit stop codons in their input sequences.
94
95 **Important**: By default, this tool will **fail with an error** if it detects any internal
96 (in-frame) stop codons in your sequences. This is intentional, but can be disabled with the
97 `--no-check-internal` option.
98
99 ----
100
101 **Input**
102
103 A FASTA file containing coding sequences (CDS). Sequences should be:
104
105 - In the correct reading frame (starting at position 1 of a codon)
106 - DNA sequences (RNA sequences with U will be converted to T)
107
108 ----
109
110 **Output**
111
112 A FASTA file with terminal stop codons removed. The output preserves:
113
114 - Sequence identifiers and descriptions
115 - Sequences that don't end with stop codons (passed through unchanged)
116 - Partial codons at the end (not removed)
117
118 ----
119
120 **Genetic Codes**
121
122 Different organisms use different genetic codes (translation tables) which define
123 which codons are stop codons:
124
125 - **Standard (1)**: TAA, TAG, TGA - used by most organisms
126 - **Vertebrate Mitochondrial (2)**: TAA, TAG, AGA, AGG - mitochondria of vertebrates
127 - **Bacterial/Archaeal (11)**: TAA, TAG, TGA - bacteria and archaea
128
129 Select the appropriate genetic code for your organism to ensure correct stop codon identification.
130
131 ----
132
133 **Use Cases**
134
135 1. **Before cawlign**: Remove terminal stops from sequences before codon-aware alignment
136 2. **Before HyPhy**: Prepare sequences for selection analysis (HyPhy methods like BUSTED, FEL, MEME)
137 3. **Quality control**: Identify sequences with internal stop codons that may need review
138 ]]></help>
139 <citations>
140 <citation type="bibtex">
141 @misc{capheine2025,
142 author = {Callan, Danielle and Verdonk, Hannah and Kosakovsky Pond, Sergei L.},
143 title = {CAPHEINE: A Comprehensive Automated Pipeline Using HyPhy for Evolutionary Inference with Nextflow},
144 year = {2025},
145 publisher = {GitHub},
146 url = {https://github.com/veg/CAPHEINE},
147 note = {Terminal stop-codon removal logic in this Galaxy tool is adapted from the CAPHEINE pipeline.}
148 }
149 </citation>
150 </citations>
151 </tool>