Perform the Flat Line Test
Description
This function quantifies the statistical significance of an observed phylotranscriptomic pattern. In detail, the Flat Line Test quantifies any significant deviation of an observed phylotranscriptomic pattern from a flat line.
Usage
1 2  FlatLineTest(ExpressionSet, permutations = 1000, plotHistogram = FALSE,
runs = 10, parallel = FALSE, custom.perm.matrix = NULL)

Arguments
ExpressionSet 
a standard PhyloExpressionSet or DivergenceExpressionSet object. 
permutations 
a numeric value specifying the number of permutations that shall be performed for the FlatLineTest. 
plotHistogram 
a logical value indicating whether a detailed statistical analysis concerning the goodness of fit should be performed. 
runs 
specify the number of runs to be performed for goodness of fit computations. In most cases runs = 100 is a reasonable choice. 
parallel 
performing 
custom.perm.matrix 
a custom 
Details
Internally the function performs N phylotranscriptomics pattern computations (TAI
or TDI
) based on sampled PhyloExpressionSets or DivergenceExpressionSets (see bootMatrix
).
The test statistics is being developed as follows:
The variance V_pattern of the S phylotranscriptomics values defines the test statistic for the FlatLineTest
.
The basic assumption is, that the variance of a flat line should be equivalent to zero for a perfect flat line.
Any deviation from a flat line can be measured with a variance value > 0.
To determine the null distribution of V_p, all PS or DS values within each developmental stage s are randomly permuted, S surrogate phylotranscriptomics values are computed from this permuted dataset, and a surrogate value of V_p is computed from these S phylotranscriptomics values. This permutation process is repeated N times, yielding a histogram of V_p.
After applying a Lilliefors KolmogorovSmirnov Test for gamma distribution, V_p is approximated by a gamma distribution.
The two parameters of the gamma distribution are estimated by the function fitdist
from the fitdistrplus package by moment matching estimation.
The fitted gamma distribution is considered the null distribution of V_pattern, and the pvalue of the observed value of V_p
is computed from this null distribution.
In case the parameter plotHistogram = TRUE, a multiplot is generated showing:
(1) A Cullen and Frey skewnesskurtosis plot generated by descdist
).
(2) A histogram of V_p combined with the density plot using the Method of Moments estimated parameters returned by the fitdist
function using a gamma distribution.
(3) A plot showing the pvalues for N independent runs to verify that a specific pvalue is biased by a specific permutation order.
The goodness of fit for the random vector V_p is quantified statistically by an adapted Lilliefors (KolmogorovSmirnov) test for gamma distributions.
Value
a list object containing the list elements:

p.value
the pvalue quantifying the statistical significance (deviation from a flat line) of the given phylotranscriptomics pattern. 
std.dev
the standard deviation of the N sampled phylotranscriptomics patterns for each developmental stage S.
Note
In case there are extreme outlier expression values stored in the dataset (PhyloExpressionSet or DivergenceExpressionSet),
the internal fitdist
function that is based on the bootMatrix
output might return a warning:
"In densfun(x, parm[1], parm[2], ...) : NaNs were produced" which indicates that permutation results caused by extreme outlier expression values
that could not be fitted accordingly. This warning will not be printed out when the corresponding outlier values are extracted from the dataset.
Author(s)
HajkGeorg Drost
References
Drost HG et al.(2015). Evidence for Active Maintenance of Phylotranscriptomic Hourglass Patterns in Animal and Plant Embryogenesis. Mol Biol Evol. 32 (5): 12211231 doi:10.1093/molbev/msv012.
Quint M et al. (2012). A transcriptomic hourglass in plant embryogenesis. Nature (490): 98101.
M. L. DelignetteMuller, R. Pouillot, J.B. Denis and C. Dutang (2014), fitdistrplus: help to fit of a parametric distribution to noncensored or censored data.
Cullen AC and Frey HC (1999) Probabilistic techniques in exposure assessment. Plenum Press, USA, pp. 81159.
Evans M, Hastings N and Peacock B (2000) Statistical distributions. John Wiley and Sons Inc.
Sokal RR and Rohlf FJ (1995) Biometry. W.H. Freeman and Company, USA, pp. 111115.
Juergen Gross and bug fixes by Uwe Ligges (2012). nortest: Tests for Normality. R package version 1.02.
http://CRAN.Rproject.org/package=nortest
Dallal, G.E. and Wilkinson, L. (1986): An analytic approximation to the distribution of Lilliefors test for normality. The American Statistician, 40, 294296.
Stephens, M.A. (1974): EDF statistics for goodness of fit and some comparisons. Journal of the American Statistical Association, 69, 730737.
http://stackoverflow.com/questions/4290081/fittingdatatodistributions?rq=1
http://cran.rproject.org/doc/contrib/Riccidistributionsen.pdf
http://cran.rproject.org/doc/contrib/Riccidistributionsen.pdf
See Also
TAI
, TDI
, PlotPattern
, bootMatrix
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14  # read standard phylotranscriptomics data
data(PhyloExpressionSetExample)
# example PhyloExpressionSet using 1000 permutations
FlatLineTest(PhyloExpressionSetExample,
permutations = 1000,
plotHistogram = FALSE)
# use your own permutation matrix based on which pvalues (FlatLineTest)
# shall be computed
custom_perm_matrix < bootMatrix(PhyloExpressionSetExample,100)
FlatLineTest(PhyloExpressionSetExample,
custom.perm.matrix = custom_perm_matrix)
