1 | #Please insert up references in the next lines (line starts with keyword UP) |
---|
2 | UP arb.hlp |
---|
3 | UP glossary.hlp |
---|
4 | UP treeadm.hlp |
---|
5 | |
---|
6 | #Please insert subtopic references (line starts with keyword SUB) |
---|
7 | #SUB subtopic.hlp |
---|
8 | |
---|
9 | # Hypertext links in helptext can be added like this: LINK{ref.hlp|http://add|bla@domain} |
---|
10 | |
---|
11 | #************* Title of helpfile !! and start of real helpfile ******** |
---|
12 | TITLE Move groups |
---|
13 | |
---|
14 | OCCURRENCE ARB_NT/Tree/Move groups |
---|
15 | |
---|
16 | DESCRIPTION Copy or add the internal group labels from one tree to another. |
---|
17 | |
---|
18 | Select the source tree (containing groups to move) in the left selection list and |
---|
19 | the target tree in the right selection list. |
---|
20 | |
---|
21 | Select which 'Groups to move': |
---|
22 | * 'all groups' does copy all groups |
---|
23 | * 'groups with marked' does only copy groups containing at least one marked species (see BUGS) |
---|
24 | |
---|
25 | Choose how to handle 'Existing target groups': |
---|
26 | * 'remove existing groups' will remove all groups existing in target tree |
---|
27 | * 'keep ...' will keep groups existing in target tree: if a group gets transferred |
---|
28 | to an already named target node, the resulting groupname will be "newname [was: oldname]". |
---|
29 | If newname and oldname are identical, the existing name will not change. |
---|
30 | Non-overwritten groups will persist, new groups will be inserted. |
---|
31 | |
---|
32 | The 'Target groupname:' input field allows to specify an ACI which will be used |
---|
33 | to generate the name used in destination tree (details see separate section below). |
---|
34 | |
---|
35 | The algorithm will compare subtrees of both trees and calculate a score based |
---|
36 | on differences between two subtrees (regarding contained species). |
---|
37 | |
---|
38 | Based on that score |
---|
39 | * each transferred group will be placed at the destination node with the |
---|
40 | best score (i.e. with the lowest penalty). |
---|
41 | * if several groups would be placed at the same destination node, the group |
---|
42 | with lowest penalty will get inserted and all other groups will get skipped, |
---|
43 | i.e. will not be inserted into the destination tree. A log entry will be |
---|
44 | written for all skipped groups. |
---|
45 | |
---|
46 | The single base penalties used to calculate that score can be defined in the |
---|
47 | top section of the "Move groups" window: |
---|
48 | |
---|
49 | Basically there are 4 different kinds of penalties: |
---|
50 | * a penalty for each former member of a group which will no longer be a |
---|
51 | member of the group after it has been transferred to the destination |
---|
52 | tree (=ingroup penalties). |
---|
53 | * a penalty for each new member in the transferred group, which was member |
---|
54 | of the source tree, but wasn't member of the source |
---|
55 | group (=outgroup penalties). |
---|
56 | * a penalty for each member of the source group, which is |
---|
57 | no member of the target tree (=unknown penalty). |
---|
58 | * a penalty for using the keeled group (=keeling penalty). |
---|
59 | |
---|
60 | The ingroup- and outgroup-penalties are available in 2 flavors: |
---|
61 | * absolute penalties which are awarded per species and |
---|
62 | * relative penalties which are awarded relative to the group-size. |
---|
63 | |
---|
64 | The unknown penalty is awarded per species. |
---|
65 | |
---|
66 | The ingroup- and outgroup-ratios used for the relative penalty-flavors are caluclated |
---|
67 | as follows: |
---|
68 | * ingroup ratio = former members in new group / former members |
---|
69 | * outgroup ratio = new members in new group / members of new group |
---|
70 | |
---|
71 | It's possible to specify a lower limit for allowed ingroup-ratios and an upper |
---|
72 | limit for allowed outgroup-ratios. |
---|
73 | Please note that this feature is experimental! The algorithm will accept worser |
---|
74 | penalties (i.e. worser group placements) to force these limits. |
---|
75 | |
---|
76 | Example for useful limit: |
---|
77 | * ingroup 100-100; outgroup 0-0 => only transfer perfectly matching groups |
---|
78 | |
---|
79 | For each group inserted and/or removed from destination tree, a |
---|
80 | log entry is generated as well, either |
---|
81 | * a basic entry, if a group perfectly matches into the new tree or |
---|
82 | * a detailed entry showing |
---|
83 | * the mismatch penalty, |
---|
84 | * ingroup (remaining % / old groupsize), |
---|
85 | * outgroup (inserted % / new groupsize) and |
---|
86 | * a warning if the best penalty did match the "rest of the tree". |
---|
87 | |
---|
88 | Note: |
---|
89 | |
---|
90 | in the latter case the algorithm should insert LINK{keeled_groups.hlp}, but |
---|
91 | this is not yet implemented (will be fixed with bug mentioned below). |
---|
92 | |
---|
93 | SECTION Target group name |
---|
94 | |
---|
95 | Specifying an ACI expression at 'Target groupname:' allows to customize the groupnames |
---|
96 | used in the target tree. |
---|
97 | |
---|
98 | Compared with standard LINK{aci.hlp}, the ACI used here knows several |
---|
99 | extension commands: |
---|
100 | |
---|
101 | * groupname: inserts the group name as used in source tree |
---|
102 | * penalty: inserts the penalty calculated for the group transfer |
---|
103 | * ingroup: inserts the ingroup-ratio in percent |
---|
104 | * outgroup: inserts the outgroup-ratio in percent |
---|
105 | * unknown: number of unknown species in source group |
---|
106 | * oldsize: inserts the size of the source group (ignores unknown |
---|
107 | species, i.e. species that are no members of the target tree) |
---|
108 | * newsize: inserts the size of the target group |
---|
109 | * keeled: 1 if group matched versus keeled set, 0 otherwise |
---|
110 | |
---|
111 | SECTION Negative penalties |
---|
112 | |
---|
113 | * a negative penalty is a bonus. |
---|
114 | * a bonus is not allowed at in-/outgroup penalties. These penalties even have to differ |
---|
115 | from zero (at least one of them). |
---|
116 | To e.g. effectively prefer ingroup criteria over outgroup criteria, use a very small value |
---|
117 | for outgroup relative penalty, e.g. 0.000001 |
---|
118 | * bonuses are (currently) allowed for |
---|
119 | * Unknown members (quite useless) |
---|
120 | * Keeling => will prefer keeled group over normal group |
---|
121 | |
---|
122 | NOTES Currently moving node info depends on placement of the tree root. Setting the |
---|
123 | root in the destination tree similar to the root in the source tree |
---|
124 | can greatly improve results of node transfer. |
---|
125 | |
---|
126 | BUGS ARB sets the root-node of the destination tree, but often fails to |
---|
127 | find the best possible node (see also LINK{http://bugs.arb-home.de/ticket/451}) |
---|
128 | |
---|
129 | When testing for marked species currently the target group is tested. |
---|
130 | |
---|
131 | When moving groups, several other node-attached data is moved as |
---|
132 | well (e.g. angles or linewidth-attributes). These attributes currently |
---|
133 | get overwritten at target-positions with the attributes found at source |
---|
134 | positions. |
---|
135 | |
---|
136 | EXAMPLES There is an example ACI (stored in the config manager) and named '*report2name'. |
---|
137 | That ACI will add a fixed prefix and write the resulting penalty as suffix to the |
---|
138 | destination groupname. |
---|
139 | |
---|
140 | Using LINK{group_search.hlp} to find these groups, e.g. allows to |
---|
141 | * search for specific transfer penalties, |
---|
142 | * select and review such groups inside the topology, |
---|
143 | * manually check poorly placed groups (e.g. mark species contained |
---|
144 | in group udn compare with source group in 2nd window) and then |
---|
145 | either correct or delete such groups. |
---|
146 | |
---|
147 | To restore the original groupnames of all currently listed groups, |
---|
148 | the config manager (in the group search window) provides a predefined |
---|
149 | config named '*undo_groupXfer_report', containing an ACI for 'Rename' |
---|
150 | which removes the prefix and suffix added above. |
---|
151 | |
---|
152 | Restoring original name might be used to "mark" these groups as 'accepted', |
---|
153 | while you still need to decide what to do with the remainder of the |
---|
154 | transferred groups. |
---|
155 | |
---|
156 | WARNINGS It's slow.. (examples see LINK{http://bugs.arb-home.de/ticket/512}) |
---|
157 | |
---|