Tuesday, July 18, 2017

Stacking neighbour-nets: ancestors and descendants

Although they are not phylogenetic networks in an evolutionary sense, neighbour-nets are amazingly efficient when it comes to depicting actual ancestor-descendant relationships. Spencer et al. (2004), for example, applied various methods of phylogenetic inference to reconstruct a known phylogeny of scripts, text copies made by scribes based on an original text, or copies of that text. They found that the neighbour-net algorithm produced a graph that best depicts the actual ancestor (original text) to descendant (text copy made by a scribe) relationships. The reason is relatively simple: neighbour-nets are well-suited to extract and reflect differentiation patterns from a distance matrix.

In this post I will explore this idea in some detail, because I think that it has important practical implications (which I will further elaborate in future posts). If data are available for time slices of the evolutionary history, then it is possible to stack a series of networks that describe each time slice, thus providing a much more comprehensively inferred genealogy.


If a distance matrix reflects exactly the phylogeny (i.e. if the signal from the matrix is trivial), then the neighbour-net looks like a tree, with the ancestors placed seemingly at the internal nodes (medians) of the subtree(s) containing their descendants — that is, the neighbour-net looks like a median network (Figure 1). In fact, this is just mimicry. The ancestors are not actually placed on the internal nodes (medians) but are connected by zero-length edge bundles to the centre of the graph (the roots of their descendants).

Figure 1. Neighbour-net inferred from a perfect distance matrix (from Denk & Grimm 2009)

In reality, distance matrices will not be exact reflections of the phylogeny (the ‘true’ tree) but distorted; and this will be reflected also in the neighbour-net (Fig. 2).

Figure 2. Neighbour-net inferred from an imperfect distance matrix (cf. Denk & Grimm 2009, fig. 1)

I superimposed a potentially inferred tree on Figure 2 to highlight some distorting effects. Note that this could be a tree optimised using a distance criterion such as minimum evolution or least-squares, or a tree optimised under maximum likelihood or maximum parsimony (one of the alternative topologies found in the sample of equally parsimonious trees).

The following distorting effects may apply during tree-inference: (i) a misplaced outgroup-inferred ingroup root (due to convergences shared by the outgroup and members of lineage B), (ii) lineage B is dissolved into a grade, although it should be a clade (convergences shared by members of lineages A and B), and (iii) the all-ingroup ancestor is resolved as the sister to lineage A, but not B. The neighbour-net illustrates the uncertainties of placing several taxa (the box-like parts of the graph), while keeping the ancestors equally close to their descendants. This provides information lost (or overlooked) when just inferring a tree (but not by exploratory data analysis of e.g. the bootstrap support patterns).

The basics — why stack networks?

Figure 3 shows a hypothetical evolution of a phylogenetic lineage in a two-dimensional morpho-space. The common ancestor (black dot) gives rise to two, morphologically somewhat distinct lineages (bluish vs. reddish coloured). The lineages evolve over time and diverge again. The overall differentiation within the group increases, but eventually the potential niche/morphospace is filled. When looking only at the final situation (i.e. the modern-day situation), we may be tempted to infer wrong relationships based on the morphological distinctness. Each one of the blue and red daughter lineages evolved into similar niches and obtained somewhat similar morphological character suites substantially distinct from the one of their respective sister taxa. Translating this situation into a distance matrix (or a character matrix) to infer a tree, will provide a wrong topology, when long-branch attraction steps in, that recognises one or two blue-red sister pair(s).

Figure 3. Evolution (vertically) and diversification of a lineage in a two-dimensional morphospace (horizontally)

Adding all of the ancestors can help to escape long-branch attraction (Figure 4; see also Wiens 2005). We don’t find red111 as sister to blu11, but still resolve the wrong sister relationship between the overall too-similar endpoints of the converging red and blue sub-lineages (red222 and blu22). The remainder of the red lineage is erroneously dissolved into (A) an ancient sister lineage (red0); (B) a real clade (red1, red11, red111), the red sub-lineage most distinct from the blu lineage; and (C) a grade (red2, red22), “basal” (wrong terminology, but often used) to the blue lineage, collecting the older members of the red sub-lineage evolving towards the morphospace of the blue lineage.

Figure 4. Neighbour-joining tree inferred on a distance matrix exactly reflecting the pairwise distances along both axes in the 2-dimensional morphospace

Only a few, (data-wise) trivial branches of the true tree (broadened green edges) are found in the inferred tree. An obvious defect of this tree is that the phylogenetic distance, the sum of branch lengths between two tips, does not reflect the pairwise distances encoded in the matrix. For instance, the all-ancestor should be equally distant from both of the ancestors of the red and blue lineages (red0, blu0).

The neighbour-net shows something rather different (Figure 5). A large box can be seen, referring to the highly incompatible signal induced by the ancestors and their direct and subsequent descendants.

Figure 5. Neighbour-net splits graph inferred on the same distance matrix

Red222 and blu22, the false sisters, are placed next to each other and share an edge bundle. They are most similar to each other and increasingly distinct from all other taxa included in the analysis. However, their nearest relatives are their actual ancestors (red22 and blu2), which are already quite distinct from each other, and show affinities to further members to their clade but not to the other clade (the topology of the tree from Figure 4 is shown in yellow in Figure 5).

The network includes the true tree in addition to edge bundles referring to wrong alternatives (induced by imperfect data; in this case, convergence due to evolution into a similar morphospace). The phylogenetic distances between two tips (via alternative pathways) reflect much better the pairwise distances (almost exactly). Thus, the neighbour-net is a much more comprehensive display of the actual signals in the imperfect matrix than a tree could ever be (independent of the optimisation criterion used).

The fossils included in our example represent a time sequence, an actual change in time. With that information as background, we can much more easily access the neighbour-net’s structure (Figure 6).

Figure 6. The same neighbour-net with time-slices

Already in the second time-slice the lineage diverged into two distinct branches represented by red0 and blu0. Both evolved (blu0→blu00) and diverged (red1, red2) in the next time slice, and so on. The fact that the neighbour-net is not a phylogenetic graph (in an evolutionary sense) becomes a strength. In any tree, we would need to deduce, or be tempted to deduce, (inclusive) common origins (Hennig’s monophyly) from the clades exhibited in the rooted version of the tree. Here, using the most natural root to root the tree, the oldest representative of the lineage (ancestor), misplaces the two representatives of the second time-slice along with those involved in subsequent radiations.

Stacking networks

There are two simple ways to trace the change in differentiation patterns through time using stacked networks: (A) Generate a series of networks per time-slice and identify the closest relatives in the next (and/or preceding) time-slice, or (B) Generate networks that combine the taxa of two subsequent time-slices.

Figure 7. A sequence of neighbour-nets, with the taxa filtered by age. (These are actual reconstructions inferred by SplitsTree based on the taxon-filtered subsets of the all-inclusive distance matrix.)

My example only includes up to four co-eval taxa, and hence the neighbour-nets are trivial graphs for each time-slice (Figure 7). The connecting lines between the time-slices indicate the closest and next-closest possible descendants (as defined by the smallest and next-smallest distance) of each earlier taxon. The thickness of the connections reflects their absolute similarity — the thickest lines indicate a morphological pairwise distance of 0.13, and the thinnest are distances of > 0.33. The colour indicates whether the connection reflects a true (green) or false (yellow) relationship.

Analysed this way, the matrix’ signal appears quite perfect in relation to the true tree. One can trace the increasing diversity within the clade (all descendants of the all-ancestor), as well as the misleading decreasing distance between the blu2/blu22 and red22/red222 lineages. In this case, the same stacking procedure would also work with trees, as the neighbour-nets are trivial and very tree-like. With real world data, the differences may be more profound.

With more complex or less complete data, we have a higher risk that ancestor-descendant relationships will not be straightforwardly identified by highest-similarity pairs. Missing data, for instance, can result in distances that mask or over-estimate the actual phylogenetic distances between an older and a younger taxon. Using the stacking procedure illustrated in Figure 7, such problems can become visible in the form of related taxa from the same time-slice that are connected to unrelated or distantly related taxa in the preceding or following time-slices.

But how to identify more likely candidates? One possibility is to assess potential phylogenetic relationship by combining taxa of two subsequent time-slices. The connectives between the reconstructions are then straightforward: each taxon is always used in two different reconstructions (Figure 8). This procedure allows us to establish the phylogenetic affinities of a taxon with respect to co-eval and older taxa (potential siblings and ancestors) or co-eval and younger taxa (potential siblings and descendants).

Figure 8. A sequence of neighbour-nets, each one including the taxa of two subsequent time-slices

Stacking networks — what’s next?

The first thing, obviously, is to test the suggested procedures for real-world data, involving groups with a dense and well-studied fossil record. I will provide a real-world example in my next post using the matrix we put up for our systematic revision of Osmundaceae (King Ferns) rhizomes (Bomfleur, Grimm & McLoughlin 2017).

Simulations may help to identify misleads caused by missing data, and the resulting distorted distance matrices, and non-comprehensively sampled (time-wise) phylogenies. They may also be informative regarding whether consensus networks reflecting competing branch support can be used for similar approaches.

Programmers are needed, too. For my graphics, I established the inter-time-slice connectives by hand; but it would be handy to have a programme environment that can do this.


Bomfleur B, Grimm GW, McLoughlin S. 2017. The fossil Osmundales (Royal Ferns)—a phylogenetic network analysis, revised taxonomy, and evolutionary classification of anatomically preserved trunks and rhizomes. PeerJ 5: e3433. Open access: https://peerj.com/articles/3433/

Denk T, Grimm GW. 2009. The biogeographic history of beech trees. Review of Palaeobotany and Palynology 158: 83-100.

Spencer M, Davidson EA, Barbrook AC, Howe CJ. 2004. Phylogenetics of artificial manuscripts. Journal of Theoretical Biology 227: 503-511.

Wiens JJ [, Soltis P ?]. 2005. Can incomplete taxa rescue phylogenetic analyses from long-branch attraction? Systematic Biology 54: 731-742. Open access: https://academic.oup.com/sysbio/article-lookup/doi/10.1080/10635150500234583

No comments:

Post a Comment