BACKGROUND
a frequent goal of high-throughput biological studies, in general, and microarray studies, in particular, is the identification of genes that show differential expression between phenotypes .
microarray experiments are used in a wide variety of studies to understand the mechanisms governing variation in complex traits  <cit> , for example, in studies of treatment effects on diseases  <cit> .
using microarray technology, mrna expression data can be gathered on whole genomes or tens of thousands of unique dna sequences at a time.
and this data provides a snapshot of gene activity in a particular sample at a particular time.
this snapshot, or cross-sectional point of view, has dominated microarray research  <cit>  and much has been published on the identification of differentially expressed genes.
taking a snapshot of the expression profile following a new condition can reveal some of the genes that are specifically expressed under the new condition.
however, in order to determine the complete set of genes that are expressed under these conditions, and to determine the interaction between these genes, it is necessary to measure a time course of expression experiments  <cit> .
time-dependent, or temporal, microarray profiles look at the expression of genes over a time domain, with the goal of taking a closer view at gene expression profiles to understand their characteristics.
they provide an additional layer of information and an important characterization of gene function, as biological systems are predominantly developmental and dynamic.
typical characteristics of microarray time course data are: 1) sparsity, in terms of both the number of replicates per sample and the number of time points per replicate and 2) irregularly spaced time points.
although there have been temporal microarray studies with as many as  <dig> time points, almost all are much shorter.
in fact, ernst et al.
<cit>  found that more than 80% of all time series datasets they surveyed contained less than  <dig> points.
the primary reason why short time-series datasets are so common is expense - a limiting factor for most researchers.
additionally, it can be difficult to obtain large quantities of biological material.
these factors can similarly limit the number of replicates tested and drive the use of irregularly spaced time points as well.
the purpose of this paper is to introduce the processing expression of short time series  platform, designed for the complete analysis of short time series gene expression datasets.
pests provides a set of methods targeted to the analysis of sparse and irregularly-spaced time course microarray expression data making minimal assumptions about the underlying process that generated the data.
it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data.
although pests was specifically designed for short microarray time series analyses, it is generalizable to other, longer time series analyses.
together with its implementation of several standard techniques and its visualization capabilities, users may find pests to be a useful tool for time series data analysis with or without pests-specific algorithms.
much of the work on significance analysis of time series expression experiments uses methods originally developed for static or uncorrelated data  <cit> .
while biologically relevant results may be found, these methods ignore the trend or sequential nature of time courses.
at the same time, static methods do not allow us to leverage the attributes of time course data.
more recently, several algorithms have been developed  <cit>  which use model-based techniques to determine significant genes, accounting for time-dependence, but are generally more appropriate with longer time series.
non-parametric approaches have also been devised including those in  <cit> .
similarly, clustering techniques for time course data have gone through a similar evolution from static techniques  <cit>  to a host of model-based techniques  <cit> , to non-parametric methods targeting short time series  <cit>  with analogous advantages and pitfalls.
the fundamental principle behind the time series methods developed for pests is to appropriately use expression profiles and dependence across time points to determine salient genes and gain biological insight about them while accounting for sparsity in the data.
instead of using model-based techniques which do account for time dependence but generally tend to be inappropriate in cases of sparsity, pests methods summarize profiles using an innovative set of features.
features summarize short gene expression profiles, inherently incorporate dependence across time, and allow for both full description of the examined curve and missing data points.
they are based on the structural characteristics of the time course data and reflect a clear link with subject-matter considerations, capturing the "global picture" of an admittedly short time horizon of expression.
in the case of short time series, features are used as a dimension augmentation technique.
by contrast, this algorithm could also be extendable to longer time series through the use of features which provide dimension reduction such as autocorrelation functions, skewness, kurtosis, etc.
as well as the descriptive features presented here.
these biologically relevant features or curve summarization measures are then used for significance analysis or clustering.
we provide brief summaries for these methods in the context of the interface description next and further information can be found in  <cit> .
in this paper, we will discuss details of the pests platform as well as give brief overviews of the relevant methodologies used and evaluation.
first, we give implementation details and briefly discuss data requirements for using the platform.
then we give an overview of the interface, as well as the implemented visualization tools.
lastly, we compare the platform to other available resources for both significance analysis of time course data and clustering.
implementation
the focus of this work is on time series data that is both sparse and irregularly spaced.
thus, the methods presented are implicitly tailored to these data characteristics.
here, we note our other guiding principles.
first, the interface is designed for both paired and unpaired data.
for significance analysis, the data must have more than one treatment, allowing for comparison.
while paired data has the same number of replicates per treatment by definition, unpaired data is not required to.
furthermore, any given replicate can have measurements taken at different time points.
in other words, for a given analysis, there are i =  <dig> ..., i treatments and ri =  <dig>  ..., ri replicates for each treatment.
additionally, there are tri= <dig>  ... ,tri time points for each replicate in each treatment.
in the case of paired data, for a given treatment i ≠ j, ri = rj but this may or may not be the case for unpaired data.
in either case, time points of measurement may not be the same, so for a treatment i and replicate r≠s,either  tri=tsior tri≠tsi.
pests is implemented entirely in java http://www.java.com and will work with any operating system supporting java  <dig> or later.
advantages to using java for this platform are that it is flexible, freely distributed, provides comprehensive graphical interface capabilities, implementations are platform independent, and the use of an interface does not require expertise in any programming language, statistical or otherwise, for the user.
further, java is well-suited to memory management tasks, critical in data-intensive analyses such as microarray analyses.
because of the large open-source community, many implementations of methods found in standard statistical packages were available to us for development.
however, we do note some limitations in this area, so some methods were implemented from scratch - most notably, the clustering algorithms.
several third party libraries were used to support the application.
the java statistical classes  http://www.jsc.nildram.co.uk/ package was used for some of the standard statistical computations.
foxtrot http://foxtrot.sourceforge.net/ was used for thread management.
jfreechart http://www.jfree.org/jfreechart/ provided implementations for plot rendering.
the jexcel api http://jexcelapi.sourceforge.net/ was used to generate excel spreadsheets for saving results.
lastly, easynth http://www.easynth.com/ was used for the look and feel of the application.
the main pests interface is structured as a portal of available functionality for processing and viewing data.
this screen is shown in figure  <dig>  at launch, the only available option is to load files.
and options become enabled as the user performs the prerequisite operations.
we note here that pests assumes the data entered is logged , but allows the user to indicate that the software should log the data when loading it.
this is important because the data is handled as such.
also, we note here that each screen in the interface provides a help button to guide the user.
pests requires as input two files.
the first file is a tab-delimited file of gene expression data.
the second file is a tab-delimited label file of the associated metadata for the arrays.
the expression data file includes unique probe identifiers, optional gene symbols, and data values.
an example is given in figure  <dig> below.
the first line contains the header for the probe identification  column , optionally the header for the symbol column  and the names of the arrays delimited by tabs.
the remaining lines contain the probe ids, optional gene symbols, and then data delimited by tabs.
we note here that the software can be used with any type of data  as long as it is formatted for the software.
moreover, many standard software are available for performing data transformations such as normalization and these choices should be made prior to data input.
the only assumption made by the software is that the data is logged .
the label file contains the covariate information which indicates the treatment, replicate number and time point of each array as well as a specifier indicating whether the data is paired.
an example is given in figure  <dig> below.
the first line contains the header for the probe id column , optionally the header for the symbol column  and the names of the arrays delimited by tabs.
the arrays do not need to be in the same order as the expression file.
the second row indicates the treatment for each array.
for example, figure  <dig> shows two treatments, alpha and control, representing two different treatments of the data.
the third row indicates the replicate number  for each array.
if measurements are paired, the replicate numbers should match across treatments.
the fourth row indicates the time point of the array.
time points are not required to match across replicates but should obviously overlap in range to facilitate analysis.
the optional fifth row indicates if the data is paired by 'yes' or 'no'.
if the row is not there, the application defaults to unpaired.
once the files are loaded, users are then able to view the raw expression data, plot the data as in figure  <dig> and  <dig>  perform significance analysis , or perform cluster analysis .
while clustering is usually done based on results of significance analysis, it can be done directly as well if the user has a subset of ids to examine.
as shown in figure  <dig> and  <dig>  the user inputs parameters for plotting in the top panel of the interface.
the interface allows options for plotting all the replicates for one gene or plotting median  expressions for a set of genes.
the user must input the time points desired for plotting which do not have to be the same as the time points of measurement.
if some of the time points desired are within the observation horizon but measurements have not been taken, pests can linearly interpolate the appropriate measurement.
we note that the interpolation must be within the range of the observation.
further, we discourage interpolating too many time points because this assumes a linear relationship in the data which may or may not be true.
as a rough guideline, no more than 10% of the total number of time points should be interpolated.
when plotting median data, the median over all replicates is taken.
finally, the user can select the desired treatment to plot or plot two treatments together.
if the data are paired, the user can plot one treatment relative to another.
the plotting interface shows the generated plot in the middle panel of the interface.
and the bottom panel shows the data used to generate the plot, including the id, symbol, treatment, replicate and the expression at each of the selected time points.
this plotting interface is designed to be flexible and intuitive.
furthermore, it allows for quick examination of results found through the analysis methods.
after this, the main portal activates the multiple test correction button and the view significance analysis results button.
figure  <dig> shows the results screen.
the top left panel summarizes the test information.
the bottom left panel shows the removed outlier genes and the right panel shows the significance results.
gene ids can be easily selected and then plotted to examine results.
at this point, no multiple test correction has been performed but the user can view generic multiple test information using the 'view mtc plots' button.
additionally, significance results can be saved using the 'save results' button.
the multiple test correction screen is shown in figure  <dig>  the user first selects the multiple test correction method and then inputs required for the specific test.
the pests platform provides standard corrections such as the bonferroni correction  <cit>  and the benjamini-hochberg correction  <cit> .
the other tests listed provide novel methods  <cit>  for estimating the number of truly null hypotheses being tested in the data.
briefly, an important step in measuring significance in the case of a large number of tests is estimation of the number of true null hypotheses.
the practical issues of how well we can identify m-m <dig> differentially expressed genes  is addressed here and used to adjust the measure of the false discovery rate  for each gene.
we present two methods for m <dig> estimation here.
the first uses a p-value plot  <cit> , defined as np vs. 1-p, where p is the p-value  and np is defined as the number of p-values  that are greater than p. the p-value plot was first suggested by schweder and spjotvoll   <cit>  to determine a cutoff point for differentiating significant hypotheses from non-signficant hypotheses.
because this plot should be approximately linear when all hypotheses are truly null, the points that deviate from linearity correspond to null hypotheses that should be rejected.
we devised an algorithm based on the increase of the r <dig> coefficient which describes how well a straight line is fitted.
more details can be found in  <cit> .
and this is used to update the benjamini-hochberg estimated false discovery rate for each gene.
second, we use a cdf plot which should also be linear when all hypotheses are truly null.
here we use a ratio of the expected area under the curve to the actual area to estimate the proportion of null hypotheses.
more information on the calculations can be found at  <cit> .
finally, the user can perform cluster analysis.
the clustering screen is shown in figure  <dig>  the left panel is used to input the gene probe ids to be clustered.
the user also needs to select the treatment; if the data are paired, the user can cluster the difference between two treatments.
the top right panel lets the user select the feature to be used for clustering.
as with the significance analysis, the data are clustered using features of the gene expression curve in order to account for sparsity and incorporate dependence inherent in time course data.
the current list of features is: the signed auc, the slope, the raw expression, the maximum and minimum expressions, the time of the maximum and minimum expressions, and the steepest positive and negative slopes.
features are summarized using either the mean or median across replicates.
in the sparse-data context, we use feature selection as a dimension augmentation technique to effectively and appropriately describe the curve and provide the most complete description of a time series as possible.
the clustering features we use here are based on the structural characteristics of the time course data and meant to reflect a clear link with subject-matter considerations and the questions under study.
the user should select the feature that are germane to their particular analysis.
again, the user identifies the time points to use for calculating the features.
lastly, the user selects the clustering algorithm , the distance metric  and the number of clusters.
the question of the appropriate number of clusters can be addressed manually with our system.
we suggest running the algorithm over a reasonable set of ks and choosing the optimal k as the clustering with the highest average silhouette  <cit> .
clustering results can be viewed as shown in figure  <dig>  the top left panel shows the clustering parameters used.
the bottom left panel gives overall cluster information and results for computational evaluation metrics.
for cluster tightness, we show homogeneity.
and to measure overall cluster structure and separation, we display separation and silhouette.
all methods are described in  <cit> .
double-clicking on the cluster line item will pop up a plot of the cluster.
finally, the right panel gives the cluster assignments for each gene as well as their individual silhouettes and nearest neighboring cluster.
gene ids can also be copied into the plotting screen to view the overall cluster profile.
additionally, clustering results can be saved using the 'save results' button.
RESULTS
there are few software platforms available for the purposes of short time-series data analysis.
in terms of both significance analysis and clustering, pests is the only platform we are aware of that does both.
for identifying differentially expressed genes, the available options are significance analysis of microarrays   <cit> , extraction of differential gene expression   <cit> , and masigpro  <cit>  which is incorporated in to the serial expression analysis   <cit>  platform, a web-based tool for analysis.
edge is an r-based platform which models time course data using splines and then uses model fit information to determine significance.
it also uses a method for m <dig> estimation to improve fdr calculations.
given that this method requires model-fitting, it may be more suitable to longer time series or data sets with many replicates, which allow for accurate estimation of model parameters.
similarly, masigpro is a two-regression step approach targeted to determining differences in time course expression over multiple treatments of the data.
the reliance on model fitting with a specific functional form for the time element and a two-step regression strategy suggests limitations, similar to those met in other model-based approaches, when applied to short time series.
additionally, masigpro does not perform m <dig> estimation.
sam is an r-based excel plugin tool.
it is similar to pests in that its time series method uses features such as the signed auc or slope across time points, and it uses the sam test for significance.
sam also performs m <dig> estimation for multiple test correction.
however, using pests, other standard tests of significance can be applied using information about the data distribution.
furthermore, the pests interface allows more flexibility and usability in time point selection.
a user would need to modify the input files in order to look at different periods of time with any of these platforms.
both edge and sam use asymptotic m <dig> estimation methods which are useful but may not be optimal in certain datasets.
additionally, pests provides information about the sensitivity and specificity to aid the user in selecting a reasonable threshold for significance.
it also provides methods for outlier detection and removal.
genes with outliers are removed from testing, increasing the reliability of results.
for clustering, there are several more options.
order restricted inference for ordered gene expression data   <cit>  uses user-defined candidate temporal profiles based on mean expression measurements at each time point and then assigns genes to the best-fitting pre-defined profile.
this approach uses bootstrapping to asses significance for each gene, and thus requires more than a handful of  replicates.
also, it uses pre-defined models which may or may not fully describe the information in the data.
cluster analysis of gene expression data   <cit>  and graphical query language   <cit>  are also useful tools for clustering, but are better suited to longer time series  <cit> .
caged provides both an autoregressive approach and a spline linear model based approach and gql uses hidden markov models to cluster the data.
in the short time series framework, available platforms include the short time-series expression miner   <cit>  and analysis of short time-series using rank order preservation   <cit> .
stem uses pre-defined profiles to cluster data based on a transformation of the gene profiles to units of change.
the user inputs parameters which determine the number of units of change and the number of profiles to consider.
then, clusters are assigned significance levels using a permutation test based method, so not all genes are assigned to significant clusters.
astro groups together genes by first constructing a rank matrix for the time series of each gene and then grouping together genes with the same rank profile.
both methods are designed specifically for short time series, and are computational in nature.
as such, they transform raw expression data to a sequence of symbols which are then used for clustering.
in contrast, pests allows the user to select features that are biologically germane to the researcher's interests and sufficiently summarize curve information.
it allows flexibility in the number and types of features selected as well as the clustering method.
finally, it provides cluster evaluation metrics which can be used to determine the clustering quality and, by extension, the most appropriate number of clusters to use.
CONCLUSIONS
in this paper, we have introduced pests, a software platform for the analysis of time course data.
it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data.
the central tenet of these methods is the use of biologically relevant features for analysis which summarize gene expression profiles and inherently incorporate the dependence across time.
it is fully generalizable to other types of time series analyses.
pests was designed with a focus on usability and interpretability of analyses for the researcher.
as such, it also implements several standard techniques for comparability, as well as visualization functions.
these features and functionality make pests a valuable resource for a researcher's toolkit.
availability and requirements
project name: pests
project home page: http://www.mailman.columbia.edu/academic-departments/biostatistics/research-service/software-development
operating system: platform independent
programming language: java
other requirements: java  <dig> or higher
license: non-commercial research use license
any restrictions to use by non-academics: license needed for commercial use
abbreviations
astro: analysis of short time-series using rank order preservation; caged: cluster analysis of gene expression dynamics; edge: extraction of differential gene expression; gql: graphical query language; oriogen: order restricted inference for ordered gene expression data; pests: processing expression of short time series; stem: short time-series expression miner; sam: significance analysis of microarrays;
authors' contributions
as and mm both contributed to the design of pests as well as the implemented algorithms.
as implemented pests.
as and mm both participated in the drafting of the manuscript.
both authors read and approved the final manuscript.

 a frequent goal of high-throughput biological studies, in general, and microarray studies, in particular, is the identification of genes that show differential expression between phenotypes. microarray experiments are used in a wide variety of studies to understand the mechanisms governing variation in complex traits, for example, in studies of treatment effects on diseases. using microarray technology, mrna expression data can be gathered on whole genomes or tens of thousands of unique dna sequences at a time. and this data provides a snapshot of gene activity in a particular sample at a particular time. this snapshot, or cross-sectional point of view, has dominated microarray research and much has been published on the identification of differentially expressed genes. taking a snapshot of the expression profile following a new condition can reveal some of the genes that are specifically expressed under the new condition. however, in order to determine the complete set of genes that are expressed under these conditions, and to determine the interaction between these genes, it is necessary to measure a time course of expression experiments. time-dependent, or temporal, microarray profiles look at the expression of genes over a time domain, with the goal of taking a closer view at gene expression profiles to understand their characteristics. they provide an additional layer of information and an important characterization of gene function, as biological systems are predominantly developmental and dynamic. typical characteristics of microarray time course data are: 1) sparsity, in terms of both the number of replicates per sample and the number of time points per replicate and 2) irregularly spaced time points. although there have been temporal microarray studies with as many as time points, almost all are much shorter. in fact, ernst et al. found that more than 80% of all time series datasets they surveyed contained less than points. the primary reason why short time-series datasets are so common is expense - a limiting factor for most researchers. additionally, it can be difficult to obtain large quantities of biological material. these factors can similarly limit the number of replicates tested and drive the use of irregularly spaced time points as well. the purpose of this paper is to introduce the processing expression of short time series platform, designed for the complete analysis of short time series gene expression datasets. pests provides a set of methods targeted to the analysis of sparse and irregularly-spaced time course microarray expression data making minimal assumptions about the underlying process that generated the data. it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data. although pests was specifically designed for short microarray time series analyses, it is generalizable to other, longer time series analyses. together with its implementation of several standard techniques and its visualization capabilities, users may find pests to be a useful tool for time series data analysis with or without pests-specific algorithms. much of the work on significance analysis of time series expression experiments uses methods originally developed for static or uncorrelated data. while biologically relevant results may be found, these methods ignore the trend or sequential nature of time courses. at the same time, static methods do not allow us to leverage the attributes of time course data. more recently, several algorithms have been developed which use model-based techniques to determine significant genes, accounting for time-dependence, but are generally more appropriate with longer time series. non-parametric approaches have also been devised including those in. similarly, clustering techniques for time course data have gone through a similar evolution from static techniques to a host of model-based techniques, to non-parametric methods targeting short time series with analogous advantages and pitfalls. the fundamental principle behind the time series methods developed for pests is to appropriately use expression profiles and dependence across time points to determine salient genes and gain biological insight about them while accounting for sparsity in the data. instead of using model-based techniques which do account for time dependence but generally tend to be inappropriate in cases of sparsity, pests methods summarize profiles using an innovative set of features. features summarize short gene expression profiles, inherently incorporate dependence across time, and allow for both full description of the examined curve and missing data points. they are based on the structural characteristics of the time course data and reflect a clear link with subject-matter considerations, capturing the "global picture" of an admittedly short time horizon of expression. in the case of short time series, features are used as a dimension augmentation technique. by contrast, this algorithm could also be extendable to longer time series through the use of features which provide dimension reduction such as autocorrelation functions, skewness, kurtosis, etc. as well as the descriptive features presented here. these biologically relevant features or curve summarization measures are then used for significance analysis or clustering. we provide brief summaries for these methods in the context of the interface description next and further information can be found in. in this paper, we will discuss details of the pests platform as well as give brief overviews of the relevant methodologies used and evaluation. first, we give implementation details and briefly discuss data requirements for using the platform. then we give an overview of the interface, as well as the implemented visualization tools. lastly, we compare the platform to other available resources for both significance analysis of time course data and clustering. implementation the focus of this work is on time series data that is both sparse and irregularly spaced. thus, the methods presented are implicitly tailored to these data characteristics. here, we note our other guiding principles. first, the interface is designed for both paired and unpaired data. for significance analysis, the data must have more than one treatment, allowing for comparison. while paired data has the same number of replicates per treatment by definition, unpaired data is not required to. furthermore, any given replicate can have measurements taken at different time points. in other words, for a given analysis, there are i =..., i treatments and ri =..., ri replicates for each treatment. additionally, there are tri= ...,tri time points for each replicate in each treatment. in the case of paired data, for a given treatment i ≠ j, ri = rj but this may or may not be the case for unpaired data. in either case, time points of measurement may not be the same, so for a treatment i and replicate r≠s,either  tri=tsior tri≠tsi. pests is implemented entirely in java http://www.java.com and will work with any operating system supporting java or later. advantages to using java for this platform are that it is flexible, freely distributed, provides comprehensive graphical interface capabilities, implementations are platform independent, and the use of an interface does not require expertise in any programming language, statistical or otherwise, for the user. further, java is well-suited to memory management tasks, critical in data-intensive analyses such as microarray analyses. because of the large open-source community, many implementations of methods found in standard statistical packages were available to us for development. however, we do note some limitations in this area, so some methods were implemented from scratch - most notably, the clustering algorithms. several third party libraries were used to support the application. the java statistical classes http://www.jsc.nildram.co.uk/ package was used for some of the standard statistical computations. foxtrot http://foxtrot.sourceforge.net/ was used for thread management. jfreechart http://www.jfree.org/jfreechart/ provided implementations for plot rendering. the jexcel api http://jexcelapi.sourceforge.net/ was used to generate excel spreadsheets for saving results. lastly, easynth http://www.easynth.com/ was used for the look and feel of the application. the main pests interface is structured as a portal of available functionality for processing and viewing data. this screen is shown in figure at launch, the only available option is to load files. and options become enabled as the user performs the prerequisite operations. we note here that pests assumes the data entered is logged, but allows the user to indicate that the software should log the data when loading it. this is important because the data is handled as such. also, we note here that each screen in the interface provides a help button to guide the user. pests requires as input two files. the first file is a tab-delimited file of gene expression data. the second file is a tab-delimited label file of the associated metadata for the arrays. the expression data file includes unique probe identifiers, optional gene symbols, and data values. an example is given in figure below. the first line contains the header for the probe identification column, optionally the header for the symbol column and the names of the arrays delimited by tabs. the remaining lines contain the probe ids, optional gene symbols, and then data delimited by tabs. we note here that the software can be used with any type of data as long as it is formatted for the software. moreover, many standard software are available for performing data transformations such as normalization and these choices should be made prior to data input. the only assumption made by the software is that the data is logged. the label file contains the covariate information which indicates the treatment, replicate number and time point of each array as well as a specifier indicating whether the data is paired. an example is given in figure below. the first line contains the header for the probe id column, optionally the header for the symbol column and the names of the arrays delimited by tabs. the arrays do not need to be in the same order as the expression file. the second row indicates the treatment for each array. for example, figure shows two treatments, alpha and control, representing two different treatments of the data. the third row indicates the replicate number for each array. if measurements are paired, the replicate numbers should match across treatments. the fourth row indicates the time point of the array. time points are not required to match across replicates but should obviously overlap in range to facilitate analysis. the optional fifth row indicates if the data is paired by'yes' or'no'. if the row is not there, the application defaults to unpaired. once the files are loaded, users are then able to view the raw expression data, plot the data as in figure and perform significance analysis, or perform cluster analysis. while clustering is usually done based on results of significance analysis, it can be done directly as well if the user has a subset of ids to examine. as shown in figure and the user inputs parameters for plotting in the top panel of the interface. the interface allows options for plotting all the replicates for one gene or plotting median expressions for a set of genes. the user must input the time points desired for plotting which do not have to be the same as the time points of measurement. if some of the time points desired are within the observation horizon but measurements have not been taken, pests can linearly interpolate the appropriate measurement. we note that the interpolation must be within the range of the observation. further, we discourage interpolating too many time points because this assumes a linear relationship in the data which may or may not be true. as a rough guideline, no more than 10% of the total number of time points should be interpolated. when plotting median data, the median over all replicates is taken. finally, the user can select the desired treatment to plot or plot two treatments together. if the data are paired, the user can plot one treatment relative to another. the plotting interface shows the generated plot in the middle panel of the interface. and the bottom panel shows the data used to generate the plot, including the id, symbol, treatment, replicate and the expression at each of the selected time points. this plotting interface is designed to be flexible and intuitive. furthermore, it allows for quick examination of results found through the analysis methods. after this, the main portal activates the multiple test correction button and the view significance analysis results button. figure shows the results screen. the top left panel summarizes the test information. the bottom left panel shows the removed outlier genes and the right panel shows the significance results. gene ids can be easily selected and then plotted to examine results. at this point, no multiple test correction has been performed but the user can view generic multiple test information using the'view mtc plots' button. additionally, significance results can be saved using the'save results' button. the multiple test correction screen is shown in figure the user first selects the multiple test correction method and then inputs required for the specific test. the pests platform provides standard corrections such as the bonferroni correction and the benjamini-hochberg correction. the other tests listed provide novel methods for estimating the number of truly null hypotheses being tested in the data. briefly, an important step in measuring significance in the case of a large number of tests is estimation of the number of true null hypotheses. the practical issues of how well we can identify m-m differentially expressed genes is addressed here and used to adjust the measure of the false discovery rate for each gene. we present two methods for m estimation here. the first uses a p-value plot, defined as np vs. 1-p, where p is the p-value and np is defined as the number of p-values that are greater than p. the p-value plot was first suggested by schweder and spjotvoll to determine a cutoff point for differentiating significant hypotheses from non-signficant hypotheses. because this plot should be approximately linear when all hypotheses are truly null, the points that deviate from linearity correspond to null hypotheses that should be rejected. we devised an algorithm based on the increase of the r coefficient which describes how well a straight line is fitted. more details can be found in. and this is used to update the benjamini-hochberg estimated false discovery rate for each gene. second, we use a cdf plot which should also be linear when all hypotheses are truly null. here we use a ratio of the expected area under the curve to the actual area to estimate the proportion of null hypotheses. more information on the calculations can be found at. finally, the user can perform cluster analysis. the clustering screen is shown in figure the left panel is used to input the gene probe ids to be clustered. the user also needs to select the treatment; if the data are paired, the user can cluster the difference between two treatments. the top right panel lets the user select the feature to be used for clustering. as with the significance analysis, the data are clustered using features of the gene expression curve in order to account for sparsity and incorporate dependence inherent in time course data. the current list of features is: the signed auc, the slope, the raw expression, the maximum and minimum expressions, the time of the maximum and minimum expressions, and the steepest positive and negative slopes. features are summarized using either the mean or median across replicates. in the sparse-data context, we use feature selection as a dimension augmentation technique to effectively and appropriately describe the curve and provide the most complete description of a time series as possible. the clustering features we use here are based on the structural characteristics of the time course data and meant to reflect a clear link with subject-matter considerations and the questions under study. the user should select the feature that are germane to their particular analysis. again, the user identifies the time points to use for calculating the features. lastly, the user selects the clustering algorithm, the distance metric and the number of clusters. the question of the appropriate number of clusters can be addressed manually with our system. we suggest running the algorithm over a reasonable set of ks and choosing the optimal k as the clustering with the highest average silhouette. clustering results can be viewed as shown in figure the top left panel shows the clustering parameters used. the bottom left panel gives overall cluster information and results for computational evaluation metrics. for cluster tightness, we show homogeneity. and to measure overall cluster structure and separation, we display separation and silhouette. all methods are described in. double-clicking on the cluster line item will pop up a plot of the cluster. finally, the right panel gives the cluster assignments for each gene as well as their individual silhouettes and nearest neighboring cluster. gene ids can also be copied into the plotting screen to view the overall cluster profile. additionally, clustering results can be saved using the'save results' button.  there are few software platforms available for the purposes of short time-series data analysis. in terms of both significance analysis and clustering, pests is the only platform we are aware of that does both. for identifying differentially expressed genes, the available options are significance analysis of microarrays, extraction of differential gene expression, and masigpro which is incorporated in to the serial expression analysis platform, a web-based tool for analysis. edge is an r-based platform which models time course data using splines and then uses model fit information to determine significance. it also uses a method for m estimation to improve fdr calculations. given that this method requires model-fitting, it may be more suitable to longer time series or data sets with many replicates, which allow for accurate estimation of model parameters. similarly, masigpro is a two-regression step approach targeted to determining differences in time course expression over multiple treatments of the data. the reliance on model fitting with a specific functional form for the time element and a two-step regression strategy suggests limitations, similar to those met in other model-based approaches, when applied to short time series. additionally, masigpro does not perform m estimation. sam is an r-based excel plugin tool. it is similar to pests in that its time series method uses features such as the signed auc or slope across time points, and it uses the sam test for significance. sam also performs m estimation for multiple test correction. however, using pests, other standard tests of significance can be applied using information about the data distribution. furthermore, the pests interface allows more flexibility and usability in time point selection. a user would need to modify the input files in order to look at different periods of time with any of these platforms. both edge and sam use asymptotic m estimation methods which are useful but may not be optimal in certain datasets. additionally, pests provides information about the sensitivity and specificity to aid the user in selecting a reasonable threshold for significance. it also provides methods for outlier detection and removal. genes with outliers are removed from testing, increasing the reliability of results. for clustering, there are several more options. order restricted inference for ordered gene expression data uses user-defined candidate temporal profiles based on mean expression measurements at each time point and then assigns genes to the best-fitting pre-defined profile. this approach uses bootstrapping to asses significance for each gene, and thus requires more than a handful of replicates. also, it uses pre-defined models which may or may not fully describe the information in the data. cluster analysis of gene expression data and graphical query language are also useful tools for clustering, but are better suited to longer time series. caged provides both an autoregressive approach and a spline linear model based approach and gql uses hidden markov models to cluster the data. in the short time series framework, available platforms include the short time-series expression miner and analysis of short time-series using rank order preservation. stem uses pre-defined profiles to cluster data based on a transformation of the gene profiles to units of change. the user inputs parameters which determine the number of units of change and the number of profiles to consider. then, clusters are assigned significance levels using a permutation test based method, so not all genes are assigned to significant clusters. astro groups together genes by first constructing a rank matrix for the time series of each gene and then grouping together genes with the same rank profile. both methods are designed specifically for short time series, and are computational in nature. as such, they transform raw expression data to a sequence of symbols which are then used for clustering. in contrast, pests allows the user to select features that are biologically germane to the researcher's interests and sufficiently summarize curve information. it allows flexibility in the number and types of features selected as well as the clustering method. finally, it provides cluster evaluation metrics which can be used to determine the clustering quality and, by extension, the most appropriate number of clusters to use.  in this paper, we have introduced pests, a software platform for the analysis of time course data. it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data. the central tenet of these methods is the use of biologically relevant features for analysis which summarize gene expression profiles and inherently incorporate the dependence across time. it is fully generalizable to other types of time series analyses. pests was designed with a focus on usability and interpretability of analyses for the researcher. as such, it also implements several standard techniques for comparability, as well as visualization functions. these features and functionality make pests a valuable resource for a researcher's toolkit. availability and requirements project name: pests project home page: http://www.mailman.columbia.edu/academic-departments/biostatistics/research-service/software-development operating system: platform independent programming language: java other requirements: java or higher license: non-commercial research use license any restrictions to use by non-academics: license needed for commercial use abbreviations astro: analysis of short time-series using rank order preservation; caged: cluster analysis of gene expression dynamics; edge: extraction of differential gene expression; gql: graphical query language; oriogen: order restricted inference for ordered gene expression data; pests: processing expression of short time series; stem: short time-series expression miner; sam: significance analysis of microarrays; authors' contributions as and mm both contributed to the design of pests as well as the implemented algorithms. as implemented pests. as and mm both participated in the drafting of the manuscript. both authors read and approved the final manuscript. 
however, it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data. the central tenet of these methods is the use of biologically relevant features for analysis. because of cost and resource issues, most time series datasets contain less than points and there are few tools available geared towards the analysis of this type of data. to this end, we introduce a platform for processing expression of short time series. features summarize short gene expression profiles, inherently incorporate dependence across time, and allow for both full description of the examined curve and missing data points. pests is fully generalizable to other types of time series analyses. as such, it implements several standard techniques for comparability as well as visualization functions. pests implements novel methods as well as several standard techniques for comparability and visualization functions. they are necessary in order to determine the complete set of genes that are dynamically expressed under given conditions, and to determine the interaction between these genes. these features and functionality make pests a valuable resource for a researcher's toolkit. time course microarray profiles examine the expression of genes over a time domain.
 time course microarray profiles examine the expression of genes over a time domain. they are necessary in order to determine the complete set of genes that are dynamically expressed under given conditions, and to determine the interaction between these genes. because of cost and resource issues, most time series datasets contain less than points and there are few tools available geared towards the analysis of this type of data.  to this end, we introduce a platform for processing expression of short time series. it was designed with a focus on usability and interpretability of analyses for the researcher. as such, it implements several standard techniques for comparability as well as visualization functions. however, it is designed specifically for the unique methods we have developed for significance analysis, multiple test correction and clustering of short time series data. the central tenet of these methods is the use of biologically relevant features for analysis. features summarize short gene expression profiles, inherently incorporate dependence across time, and allow for both full description of the examined curve and missing data points.  pests is fully generalizable to other types of time series analyses. pests implements novel methods as well as several standard techniques for comparability and visualization functions. these features and functionality make pests a valuable resource for a researcher's toolkit. pests is available to download for free to academic and non-profit users at http://www.mailman.columbia.edu/academic-departments/biostatistics/research-service/software-development. 