SHIBA
combines information about i) the changing spatial conformation of land areas through time with ii) a dated phylogeny and iii) a contemporary distribution of terminal taxa in the land areas, in order to produce likelihoods of the spatial distribution of ancestral taxa. It achieves this through simulating the movement of ancestral taxa based on a simple model of island biogeography.SHIBA
models the history of a landscape as discrete ‘cells’ of time-periods
and spaces
.period
.lineage
’ that begins and ends contemporaneously with the beginning and end of a time period
.period
with on edge and leaves with two, the two ‘new’ lineages will be reconciled to appear at the beginning of the subsequent period
. If a clade enters a period
with on edge and branches twice, thus leaving with three edges, the three ‘new’ lineages will appear at the beginning of the subsequent period
; information about the branch within a period
does not persist).lineage
with a starting distribution,spaces
, with a probability based on the distance between spaces
, and ii) survive or go extinct in each space
it is in, with a probability based on the area of the space
.lineages
make it to the present, without dying out in all spaces
.lineages
being in different places.
SHIBA
can best be seen as an experimental ‘sandbox’ to explore likelihoods of hypotheses about lineage movement. Varying parameter values and historical area details can then be used to assess the sensitivity of ones biogeographic conclusions.
To run SHIBA
you will need:
period
,space
during each period
,spaces
during each period
.See Input File Format for more details on encoding your input data.
SHIBA
uses a simple model to determine the spatial distribution of daughter lineages that maximizes allopatric speciation. When, at the transition of one period to the next, a lineage splitting occurs (as specified by the input phylogeny):
Hence, with two daughter lineages and two areas, the outcome will be simple allopatry. With two daughter lineages and one area, the outcome will be simple sympatry. With two daughter lineages and three areas, the outcome will be one area with one daughter lineage and two areas with the other daughter lineage, indicating that the ancestral species grew in spatial distribution, perhaps with little evolutionary change, while the population in one area underwent divergence and allopatry. Et cetera...
See Pseudocode for more details of the biogeographical algorithm.
Both the size of an ancestral area and its degree of isolation from other areas will strongly influence the likelihood that an ancestral taxon distribution included it or not. To incorporate these data, SHIBA
contains a basic Island Biogeography model, with functions similar to those proposed in the classic MacArthur and Wilson model: extinction of a lineage on an island is inversely related to its area, while dispersal probability into and out of an island is inversely related to its isolation.
Please see Island Biogeography functions for more details on the functions.
SHIBA
with the first phylogeny: shiba -l -p 0
(the -l
option give the input data printout). Look at the distribution of Lineage 0 and Lineage 2 (marked with a ‘*
’ in the ascii-graphic).SHIBA
with the second phylogeny: shiba -p 1
. Look again at the distribution of the Lineage 0 and 2.-d
or -s
on the command line, or in the shibaInput.xml
file), our confidence in these interpretations can be further strengthened.SHIBA
use a ‘brute-force’ approach to finding successful solutions, running each simulation until the present and then comparing observed and simulated distributions. This is very inefficient, in terms of the number of solutions found relative to the number of runs initiated. The code has been parallelized using pthreads
to make use of all the cores of a multi-core CPU. Nevertheless, with large trees and/or large space-time grids, the program may take several hours to run. By directing the output to another file, and using nohup
, the program can be left to run on powerful servers:
$ nohup shiba > out
We are working to optimize the code further and to incorporate alternative search heuristics.
Please see Webb & Ree (2012) for more details.