Package ‘PROSE’ September 26, 2025 Type Package Title PROfile Standardization Engine Version 1.5 Date 2025-09-25 Author Octavio Martinez Maintainer <[email protected]> Description A package for standardized analysis of time-series profiles. If you have a time course experiment for which you obtained a vector of values in each one of a set of increasing time points, and also a vector of statistical decisions about the significance of changes in each neighboring interval, you can obtain a model summarizing the data, as well as the means of the summarized model and a standardized vector. This is useful when you have many variables measured at the same time, as is the case of Transcriptomics (RNA-Seq; gene expression on time), Metabolomics (metabolite changes on time) or Epidemiology (incidence or mortality on time), etc. License GPL-3 NeedsCompilation no Rtopics documented: PROSE-package....................................... 1 prose............................................. 3 Index 7 PROSE-package PROfile Standardization Engine Description A package for standardized analysis of time-series profiles. If you have a time course experiment for which you obtained a vector of values in each one of a set of increasing time points, and also a vector of statistical decisions about the significance of changes in each neighboring interval, you can obtain a model summarizing the data, as well as the means of the summarized model and a standardized vector. This is useful when you have many variables measured at the same time, as is the case of Transcriptomics (RNA-Seq; gene expression on time), Metabolomics (metabolite changes on time) or Epidemiology (incidence or mortality on time), etc. 1
2PROSE-package Details The DESCRIPTION file: Package: PROSE Type: Package Title: PROfile Standardization Engine Version: 1.5 Date: 2025-09-25 Author: Octavio Martinez Maintainer: <
[email protected]> Description: A package for standardized analysis of time-series profiles. If you have a time course experiment for which you obtained a vector of values in each one of a set of increasing time points, and also a vector of statistical decisions about the significance of changes in each neighboring interval, you can obtain a model summarizing the data, as well as the means of the summarized model and a standardized vector. This is useful when you have many variables measured at the same time, as is the case of Transcriptomics (RNA-Seq; gene expression on time), Metabolomics (metabolite changes on time) or Epidemiology (incidence or mortality on time), etc. License: GPL-3 Index of help topics: PROSE-package PROfile Standardization Engine prose Calculates model, means and standardized vector This package is useful when you have a vector of values for a variable which resulted from a timeseries experiment and also have performed statistical analyses to decide if values in neighboring time intervals were “significant" or not. It has a single function, prose(d, values), where dis a dihcotomic vector, i.e., a vector containing only zeros or ones, and for each interval a value of 0 in dindicates that the differences of values in that interval were not significant, while a value of 1 in dindicates that the differences of values in that interval were significant. In other words, d summarizes all the statistical information needed to interpret the time-profile, taking into account only information of neighboring intervals. You can plot the results of prose() with the function prose.plot(). Author(s) Octavio Martinez Maintainer: <
[email protected]> References Martinez, Octavio. 2022. “Time course gene expression experiments." In Transcriptome Profiling: Progress and Prospects, edited by Mohammad Ajmal Ali and Joongku Lee, 85–110. Amsterdam: Elsevier. https://doi.org/10.1016/B978-0-323-91810-7.00014-5 Escoto-Sandoval, Christian, Alan Flores, Felipe Cervantes-Hernandez, M. Humberto Reyes-Valdes, Neftali Ochoa-Alejo, and Octavio Martinez. 2021. “A method to analyze time expression profiles demonstrated in a database of chili pepper fruit development." Scientific Reports 11, no. 1 (June): 13181. https://doi.org/10.1038/s41598-021-92672-4 Please, see also the document “PROSEguide.pdf" available in the same place than the package. Examples # A single interval where the differences in the # two time points were not significant prose(d=0, values=c(1,2)) # A plot of that very simple model prose.plot(prose(d=0, values=c(1,2)))
prose 3 # Same values, but now the difference is considered # to be significant: prose(d=1, values=c(1,2)) # And a plot of that very simple model prose.plot(prose(d=1, values=c(1,2))) # A more complex example, with 6 values and 5 intervals: prose(d=c(1,1,0,1,1), values=c(-3, -4, 0, 6, 7, 8)) # And the corresponding plot prose.plot(prose(d=c(1,1,0,1,1), values=c(-3, -4, 0, 6, 7, 8))) prose Calculates model, means and standardized vector Description Assume that you have estimates of values for a variable at nsuccessive time points, say the numeric vector values of length n. Then you have n-1 time intervals and also assume that, from a previous analysis, you have a numeric vector, d, with n-1 elements in which d[i] == 0 means that the differences between the estimated values values[i] and values[i+1] (in the interval i, i+1) were not significant, while a value of d[i] == 1 implies that those differences were significant; in other words, you have both, the estimated values, as well as a summary of significance for the differences observed in each time interval. Then the function prose(d, values) will calculate three results, model,means and stand. “model" is a concatenation of n-1 letters (one for each interval) which can be “S" (if the difference in the corresponding interval was not significant and thus in that interval the values are “Steady"), or “I" (if the difference in that interval are significant and the change in the values is “Increasing") or “D" (if the differences in that interval are significant and the change in the values is “Decreasing"). In words, “model" gives you a summary of the information in an easy to understand nomenclature. “means" is a numeric vector of nelements presenting the means (averages) calculated taking into account the significance from the input (d). “stand" is a standardized numeric vector of of nelements which has a mean of zero and a standard deviation of one, which represents the changes of the variable in a regularized scale. The benefits of these transformations for interpretation are more evident in cases where you have many variables measured at the same time points, as for example in RNA-Seq or Metabolomics experiments done at fixed times of development (see references below). The function can give the results as a list or as a data.frame. Additionally, the auxiliary function “prose.plot()", which takes as main argument the result of “prose()", will give you a graph of the standardized results. Usage prose(d = c(1, 0, 0, 1, 0, 0), values = c(39.75, 17.5, 16.61, 18.56, 25.11, 21.2, 16.77), out.as.data.frame = FALSE)
4prose Arguments dAnumeric vector composed exclusively of values zero or one. A value of zero (0) denotes that the difference in the corresponding interval was not significant, while one (1) means a significant difference in the corresponding interval. values Anumeric vector with the estimated values of the variable at each time point. The length of this vector, (length(values)), must be equal to 1 + length(d) (because if you have nvalues there are n-1 time intervals). out.as.data.frame Alogical value (FALSE or TRUE), depending if you want the output to be a list (when out.as.data.frame = FALSE) or a data.frame (when out.as.data.frame = TRUE) Details Any result of the function “prose()" can be plotted with the function “prose.plot()", which have also parameters for the line width (lwd) and the line color (col). The title of the plot will have the estimated model, say, “prose()$model". Value If out.as.data.frame = FALSE then the result is a list with components: model Acharacter representation of the changes, where for each interval the letter “S" means an “Steady" state, “I" means an “Increase" of value and “D" means “Decrease" of value. means Anumeric vector with the means corresponding to the model. stand An standardized numeric vector with the values corresponding to the model. If out.as.data.frame = TRUE then the result is a data.frame with the same results than above but formatted as a data.frame (see examples). Author(s) Octavio Martinez References Martinez, Octavio. 2022. “Time course gene expression experiments." In Transcriptome Profiling: Progress and Prospects, edited by Mohammad Ajmal Ali and Joongku Lee, 85–110. Amsterdam: Elsevier. https://doi.org/10.1016/B978-0-323-91810-7.00014-5 Escoto-Sandoval, Christian, Alan Flores, Felipe Cervantes-Hernandez, M. Humberto Reyes-Valdes, Neftali Ochoa-Alejo, and Octavio Martinez. 2021. “A method to analyze time expression profiles demonstrated in a database of chili pepper fruit development." Scientific Reports 11, no. 1 (June): 13181. https://doi.org/10.1038/s41598-021-92672-4 Please, see also the document “PROSEguide.pdf" available in the same place than the package. Examples # NOTE: We use "set.seed()" but that is not compulsory set.seed(1959) # (any other seed (or none) must work).
prose 5 # We will obtain all possible models for a given set of values # in the case where 4 values are available and thus we have # a total of 2*2*2=8 different possibilities for the vector d. temp.d <- expand.grid(c(0,1), c(0,1), c(0,1), stringsAsFactors=FALSE) names(temp.d) <- c("d1", "d2", "d3") # See the result: temp.d # Now, we will use arbitrary values for the variable, temp.v <- round(rnorm(n=4, mean = 0, sd = 1), 2) # See the values obtained temp.v # Now, for each value of the rows of temp.d we can obtain # the output of prose(); for example for the case 4, i.e., unlist(temp.d[4, ]) # The result of the function is the list: prose(d=unlist(temp.d[4, ]), values=temp.v) # Alternatively, you can obtain the result as data.frame temp <- prose(d=unlist(temp.d[4, ]), values=temp.v, out.as.data.frame = TRUE) # See: temp # Which can be plotted with prose.plot(prose(d=unlist(temp.d[4, ]), values=temp.v)) # Or, equivalently with prose.plot(temp) # Let's obtain a data.frame with all 8 possible results # (assuming the 8 different values that we have in temp.d) # Initialize a data.frame with the first value, unlist(temp.d[1, ]) unlist(temp.d[1, ]) # Note that the model must be "SSS" # (because we do not have significance in any interval) # Result as data frame for the first value of d: temp.res <- prose(d=unlist(temp.d[1, ]), values=temp.v, out.as.data.frame=TRUE) # See this result: temp.res # Now, obtain all the other 7 possible results with for(i in 2:8){ temp.res <- rbind(temp.res, prose(d=unlist(temp.d[i, ]), values=temp.v, out.as.data.frame=TRUE)) } # You could see the results:
6prose temp.res # See the names of that object: names(temp.res) # Note that with the SAME data (temp.v) we obtained different # standardized models, depending on the values of d used: temp.res[,c(1,6:9)] # Now, we could use prose.plot() to plot any of the 8 results; # as for example: prose.plot(temp.res[5,]) # For the fifth model # Or prose.plot(temp.res[7,]) # For the seventh model
Index ∗package PROSE-package,1 PROSE (PROSE-package),1 prose,3 PROSE-package,1 7