diff scripts/annotator.bf @ 27:e0d7277ae941 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:45:50 +0000
parents 9d83d1ab0330
children
line wrap: on
line diff
--- a/scripts/annotator.bf	Thu Mar 02 15:13:50 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-LoadFunctionLibrary ("libv3/tasks/trees.bf");
-LoadFunctionLibrary ("libv3/tasks/alignments.bf");
-LoadFunctionLibrary ("libv3/convenience/regexp.bf");
-LoadFunctionLibrary ("libv3/IOFunctions.bf");
-
-tags = {
-    "^Node" : "Internal"
-};
-
-
-
-
-tree = trees.LoadAnnotatedTopology (TRUE);
-ts = tree[^"terms.trees.newick_with_lengths"];
-root_node = io.PromptUserForString ("Root on this node");
-
-
-
-Topology T = ts;
-ts = RerootTree (T, root_node);
-ACCEPT_ROOTED_TREES = FALSE;
-Topology T = ts;
-ACCEPT_ROOTED_TREES = TRUE;
-Topology TR = ts;
-
-
-NORMALIZE_SEQUENCE_NAMES = FALSE;
-SetDialogPrompt ("File with the sequences to label as the in-clade");
-DataSet query = ReadDataFile (PROMPT_FOR_FILE);
-GetString (seqNames,query,-1);
-
-label = io.PromptUserForString ("Use this label");
-
-
-for (s;in;seqNames) {
-    tags [s && 6] = label;
-}
-
-reg_exp = Rows (tags);
-
-
-node_labels = {};
-for (_regexp_, _leaves_; in; regexp.PartitionByRegularExpressions (BranchName (T,-1), reg_exp)) {
-    tag = tags[_regexp_];
-    
-    if (tag != "Internal") {    
-    
-        if (Abs (tag) == 0) {
-            tag = "Reference";
-        }
-    
-        for (l; in; _leaves_) {
-            node_labels[l] = tag;
-        }
-    }
-}
-
-node_labelsR = {};
-for (_regexp_, _leaves_; in; regexp.PartitionByRegularExpressions (BranchName (TR,-1), reg_exp)) {
-    tag = tags[_regexp_];
-    
-    if (tag != "Internal") {    
-    
-        if (Abs (tag) == 0) {
-            tag = "Reference";
-        }
-    
-        for (l; in; _leaves_) {
-            node_labelsR[l] = tag;
-        }
-    }
-}
-
-
-leaf_labels = node_labels;
-node_labelsF = node_labels;
-node_labels * ((trees.ParsimonyLabel ("T", node_labels))["labels"]);
-node_labelsR * ((trees.ParsimonyLabel ("T", node_labelsR))["labels"]);
-node_labelsF * ((trees.ParsimonyLabel ("T", node_labelsF))["labels"]);
-
-output_to = io.PromptUserForString ("Write output to this prefix");
-
-fprintf (output_to + "labels.json", CLEAR_FILE, leaf_labels);
-fprintf (output_to + "int.nwk", CLEAR_FILE, tree.Annotate ("T", "relabel_and_annotate", "{}", FALSE));
-fprintf (output_to + "clade.nwk", CLEAR_FILE, tree.Annotate ("TR", "relabel_and_annotate_full", "{}", FALSE));
-fprintf (output_to + "full.nwk", CLEAR_FILE, tree.Annotate ("T", "relabel_and_annotate_full", "{}", FALSE));
-
-function relabel_and_annotate (node_name) {
-    _label = "";
-    if (node_labels / node_name && leaf_labels / node_name == FALSE) {
-        _label = "{" + node_labels[node_name] + "}";
-    }
-    return node_name + _label;
-}
-
-function relabel_and_annotate_full (node_name) {
-    _label = "";
-    if (node_labelsR / node_name) {
-        _label = "{" + node_labelsR[node_name] + "}";
-    }
-    return node_name + _label;
-}