Mercurial > repos > iuc > hyphy_annotate
annotate scripts/strike-ambigs.bf @ 12:5b4fd931a989 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit d97b1b98a3a621c93a7ed9e7db16bda47eefcb92
| author | iuc | 
|---|---|
| date | Tue, 07 Oct 2025 20:53:21 +0000 | 
| parents | df56795c3d89 | 
| children | 
| rev | line source | 
|---|---|
| 0 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 1 RequireVersion ("2.5.20"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 2 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 3 LoadFunctionLibrary ("libv3/tasks/alignments.bf"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 4 LoadFunctionLibrary ("libv3/tasks/trees.bf"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 5 LoadFunctionLibrary ("libv3/UtilityFunctions.bf"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 6 LoadFunctionLibrary ("libv3/IOFunctions.bf"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 7 LoadFunctionLibrary ("libv3/convenience/math.bf"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 8 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 9 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 10 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 11 filter.analysis_description = {terms.io.info : | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 12 " | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 13 Read an alignment of coding sequences and replace any ambiguous codons with ---. Write results to a new file in FASTA format, and report changed sequences to stdout | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 14 ", | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 15 terms.io.version : "0.1", | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 16 terms.io.reference : "TBD", | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 17 terms.io.authors : "Sergei L Kosakovsky Pond", | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 18 terms.io.contact : "spond@temple.edu", | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 19 terms.io.requirements : "An MSA" | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 20 }; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 21 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 22 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 23 io.DisplayAnalysisBanner (filter.analysis_description); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 24 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 25 utility.SetEnvVariable ("NORMALIZE_SEQUENCE_NAMES", FALSE); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 26 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 27 KeywordArgument ("code", "Which genetic code should be used", "Universal"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 28 KeywordArgument ("alignment", "An in-frame codon alignment in one of the formats supported by HyPhy"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 29 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 30 filter.in = alignments.PromptForGeneticCodeAndAlignment ("filter.dataset", "filter.input"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 31 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 32 KeywordArgument ("output", ".fasta for compressed data", None); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 33 filter.out = io.PromptUserForFilePath(".fasta for filtered data"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 34 fprintf (filter.out, CLEAR_FILE, KEEP_OPEN); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 35 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 36 GetDataInfo (filter.site_patterns, filter.input); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 37 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 38 filter.patter2site = {}; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 39 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 40 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 41 for (i,j,v; in; filter.site_patterns) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 42 index = i+j; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 43 if (filter.patter2site / v == FALSE ) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 44 filter.patter2site [v] = {}; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 45 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 46 filter.patter2site [v] + index; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 47 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 48 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 49 GET_DATA_INFO_RETURNS_ONLY_THE_INDEX = TRUE; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 50 COUNT_GAPS_IN_FREQUENCIES = FALSE; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 51 filter.unique_patterns = utility.Array1D (filter.input.site_freqs); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 52 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 53 for (seq = 0; seq < filter.input.species; seq += 1) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 54 io.ReportProgressBar ("filter","Processing sequence " + (1+seq)); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 55 codons = {1, filter.input.sites}; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 56 codons [0] = ""; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 57 GetString (seq_name, filter.input, seq); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 58 GetDataInfo (seq_chars, filter.input, seq); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 59 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 60 filter.ambigs = 0; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 61 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 62 for (pattern = 0; pattern < filter.unique_patterns; pattern += 1) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 63 GetDataInfo (pattern_info, filter.input, seq, pattern); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 64 if (pattern_info >= 0) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 65 codon_start = (filter.patter2site[pattern])[0] * 3; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 66 codon = seq_chars [codon_start][codon_start+2]; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 67 } else { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 68 codon = "---"; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 69 filter.ambigs += Abs (filter.patter2site [pattern]) | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 70 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 71 for (c; in; filter.patter2site [pattern] ) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 72 codons[c] = codon; | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 73 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 74 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 75 if (filter.ambigs > 0) { | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 76 fprintf (stdout, "\nStriking ", filter.ambigs, " codons that are incompletely resolved from " + seq_name + "\n"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 77 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 78 fprintf (filter.out,">",seq_name,"\n",Join ("", codons), "\n"); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 79 } | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 80 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 81 fprintf (filter.out,CLOSE_FILE); | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 82 | 
| 
df56795c3d89
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
 iuc parents: diff
changeset | 83 | 
