| 1 | # main topics: |
|---|
| 2 | UP arb.hlp |
|---|
| 3 | UP glossary.hlp |
|---|
| 4 | UP treeadm.hlp |
|---|
| 5 | |
|---|
| 6 | # sub topics: |
|---|
| 7 | #SUB subtopic.hlp |
|---|
| 8 | |
|---|
| 9 | # format described in ../help.readme |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 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 | |
|---|