This function computes the TAI for a row permutated PhyloExpressionSet or DivergenceExpressionSet.

One can specify the number of permutations which corresponds to the number of TAI or TDI profiles that are being returned as data matrix. The function then returns a TAI or TDI matrix holding the TAI or TDI profiles of the permutated PhyloExpressionSets or DivergenceExpressionSets. This procedure can be used for building test statistics based on the TAI or TDI profiles.

bootMatrix(ExpressionSet, permutations = 1000)



a standard PhyloExpressionSet or DivergenceExpressionSet object.


a numeric value specifying the number of permutations to be performed.


a numeric matrix representing N randomly permuted TAI or TDI profiles.


The sampled TAI or TDI matrix samples the phylostratum or divergence-stratum vector of a given PhyloExpressionSet or DivergenceExpressionSet and computes the corresponding TAI or TDI profiles of the randomly assigned phylostrata or divergence-strata. This sampling is then performed N times, yielding N randomly sampled TAI or TDI profiles. This random TAI or TDI profile matrix can then be used to perform statistical tests (such as the FlatLineTest, ReductiveHourglassTest, or EarlyConservationTest) based on the significance of TAI or TDI patterns.


Quint M et al. (2012). A transcriptomic hourglass in plant embryogenesis. Nature (490): 98-101.

Drost HG et al. (2015) Mol Biol Evol. 32 (5): 1221-1231 doi:10.1093/molbev/msv012

See also


Hajk-Georg Drost


# read standard phylotranscriptomics data

# example PhyloExpressionSet using 100 permutations
randomTAI.Matrix <- bootMatrix(PhyloExpressionSetExample, permutations = 100)

# example DivergenceExpressionSet using 100 permutations
randomTDI.Matrix <- bootMatrix(DivergenceExpressionSetExample, permutations = 100)