archaeopteryx 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -7
- package/archaeopteryx.js +922 -416
- package/forester.js +37 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -296,8 +296,11 @@ so every branch and position is scored by how far the tip pairs' ancestors
|
|
|
296
296
|
fall from that halfway point, and the root goes where that deviation is
|
|
297
297
|
smallest [1]. It has been compared with other rooting methods on prokaryotic
|
|
298
298
|
gene families [2]. It needs branch lengths and at least three tips, and is
|
|
299
|
-
offered only then.
|
|
300
|
-
|
|
299
|
+
offered only then. Tip pairs closer than 1/100,000 of the tree's diameter
|
|
300
|
+
(identical sequences, or FastTree's 5 × 10⁻⁹ stand-in for a zero branch) are
|
|
301
|
+
left out of the deviation sums: their deviation measures noise, and summing
|
|
302
|
+
it would swamp the precision of all the others. The algorithm is the desktop
|
|
303
|
+
Archaeopteryx's, and gives the same roots; it runs in O(n²) time and O(n) memory (the 13,246-tip H5N1
|
|
301
304
|
demo tree roots in 0.4 s, measured in Node).
|
|
302
305
|
|
|
303
306
|
Every internal branch then carries its **MAD value**: the root-mean-square
|
|
@@ -630,17 +633,19 @@ viewer.destroy(); // unmount COMPLETELY: the container DOM, the node
|
|
|
630
633
|
// handler; a later launch() works normally
|
|
631
634
|
```
|
|
632
635
|
|
|
633
|
-
**Big trees draw on the next frame.**
|
|
636
|
+
**Big trees draw on the next frame.** From 5,000 nodes, `launch()` does all
|
|
634
637
|
its validation, shows a "Drawing N nodes" card over the tree area, and
|
|
635
638
|
returns within milliseconds — the label analysis, visualization candidates,
|
|
636
639
|
control panel and the draw itself all run one frame later, so the browser
|
|
637
640
|
can paint the card instead of appearing frozen for the seconds a large tree
|
|
638
641
|
takes. Every error still throws synchronously from `launch()`
|
|
639
642
|
exactly as before; only the draw is deferred. `viewer.ready` resolves when it
|
|
640
|
-
has run (immediately for a
|
|
641
|
-
redraws
|
|
642
|
-
|
|
643
|
-
|
|
643
|
+
has run (immediately for a smaller tree, which draws synchronously). Later
|
|
644
|
+
redraws — a checkbox, a slider, a search, the mouse wheel — run on the next
|
|
645
|
+
animation frame for a tree of any size, and every redraw requested before
|
|
646
|
+
that frame collapses into one: a wheel flick is one redraw, not one per
|
|
647
|
+
notch. A "Redrawing" card appears only when the tree's previous redraw took
|
|
648
|
+
300 ms or more on the computer it runs on. Wait on `ready` before reading
|
|
644
649
|
the tree's DOM after `launch()`:
|
|
645
650
|
|
|
646
651
|
```js
|