| 1 | #Please insert up references in the next lines (line starts with keyword UP) |
|---|
| 2 | UP arb.hlp |
|---|
| 3 | UP glossary.hlp |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | TITLE Estimation of Bootstrap by Parsimony |
|---|
| 7 | |
|---|
| 8 | OCCURRENCE ARB_PARSIMONY/Tree/Calculate Upper Bootstrap Limit |
|---|
| 9 | |
|---|
| 10 | DESCRIPTION Given a large tree, traditional ways to calculate bootstrap |
|---|
| 11 | values are by magnitudes to slow. So a faster algorithm was |
|---|
| 12 | developed: |
|---|
| 13 | |
|---|
| 14 | the bootstrap value for each branch is calculated under |
|---|
| 15 | the assumption that all other branches have a 100% value. |
|---|
| 16 | Doing this we get an upper limit for the real bootstrap values. |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | NOTES The program does not use the traditional Monte Carlo method to |
|---|
| 20 | estimate the bootstrap values, but calculates them correctly |
|---|
| 21 | under the assumption that the tree changes only locally. |
|---|
| 22 | Try different filters and see the effect on the tree. |
|---|
| 23 | |
|---|
| 24 | SECTION ALGORITHM |
|---|
| 25 | |
|---|
| 26 | For each branch B do: |
|---|
| 27 | |
|---|
| 28 | a b |
|---|
| 29 | \ / |
|---|
| 30 | >-------------< |
|---|
| 31 | / B \ |
|---|
| 32 | c d |
|---|
| 33 | |
|---|
| 34 | exchange a with b ( or a with d ) and count all columns in the alignment |
|---|
| 35 | with a greater/smaller/equal minimal number of mutations |
|---|
| 36 | than the original tree. |
|---|
| 37 | |
|---|
| 38 | result: n_plus, n_minus, n_equal |
|---|
| 39 | freq_n_plus = n_plus/ (seq_len) |
|---|
| 40 | ... |
|---|
| 41 | |
|---|
| 42 | Bootstrap value = sum of |
|---|
| 43 | |
|---|
| 44 | for all i = 1.. seqlen do |
|---|
| 45 | for all combinations of np, nm,ne with np - nm == i do |
|---|
| 46 | sum += freq_n_plus ^ np * |
|---|
| 47 | freq_n_minus ^ nm * |
|---|
| 48 | freq_n_equal ^ ne * |
|---|
| 49 | seq_len! / np! /nm! /ne! |
|---|
| 50 | done |
|---|
| 51 | done |
|---|
| 52 | |
|---|
| 53 | SECTION PUBLIC |
|---|
| 54 | |
|---|
| 55 | This algorithm is not published and I am not going to publish |
|---|
| 56 | it. If you feel the strong need to do this, please don't forget |
|---|
| 57 | to mention me (Oliver Strunk). |
|---|
| 58 | |
|---|
| 59 | WARNINGS Use filters to exclude superfluous gaps and to |
|---|
| 60 | increase bootstrap values |
|---|
| 61 | |
|---|
| 62 | BUGS Does not work with weights |
|---|
| 63 | Does not work with proteins |
|---|