meta3d: Detect rhythimic signals from time-series datasets with...

Description Usage Arguments Details Value References Examples

Description

This is a function that takes use of Lomb-Scargle to detect rhythmic signals from time-series datasets containing individual information.

Usage

1
2
3
4
5
6
7
meta3d(datafile, designfile, outdir = "cirout", filestyle, design_libColm,
  design_subjectColm, minper = 20, maxper = 28, timeUnit = "hour",
  design_hrColm, design_dayColm = NULL, design_minColm = NULL,
  design_secColm = NULL, design_groupColm = NULL,
  design_libIDrename = NULL, adjustedPhase = "predictedPer",
  weightedMethod = TRUE, combinePvalue = "fisher",
  outIntegrationFile = "both", dayZeroBased = FALSE, outSymbol = "")

Arguments

datafile

a character string. The name of data file containing time-sereis experimental values of all individuals.

designfile

a character string. The name of experimental design file, at least containing the library ID(column names of datafile), subject ID(the individual corresponding to each library ID), and sampling time information of each library ID.

outdir

a character string. The name of directory used to store output files.

filestyle

a character vector(length 1 or 3). The data format of input files, must be "txt", or "csv", or a character vector containing field separator character(sep), quoting character(quote), and the character used for decimal points(dec, for details see read.table).

design_libColm

a numeric value. The order index(from left to right) of the column storing library ID in designfile.

design_subjectColm

a numeric value. The order index(from left to right) of the column storing subject ID in designfile.

minper

a numeric value. The minimum period length of interested rhythms. The default is 20 for circadian rhythms.

maxper

a numeric value. The maximum period length of interested rhythms. The default is 28 for circadian rhythms.

timeUnit

a character string. The basic time-unit, must be one of "day", "hour"(default for circadian study), "minute", or "second" depending on specific experimental design.

design_hrColm

a numeric value. The order index(from left to right) of the column storing time point value-sampling hour information in designfile. If there is no such column in designfile, set it as NULL.

design_dayColm

a numeric value. The order index(from left to right) of the column storing time point value-sampling day information in designfile. If there is no such column in designfile, set it as NULL(default).

design_minColm

a numeric value. The order index(from left to right) of the column storing time point value-sampling minute information in designfile. If there is no such column in designfile, set it as NULL(default).

design_secColm

a numeric value. The order index(from left to right) of the column storing time point value-sampling second information in designfile. If there is no such column in designfile, set it as NULL(default).

design_groupColm

a numeric value. The order index(from left to right) of the column storing experimental group information of each individual in designfile. If there is no such column in designfile, set it as NULL(default) and take all individuals as one group.

design_libIDrename

a character vector(length 2) containing a matchable character string in each library ID of designfile, and a replacement character string. If it is not necessary to replace characters in library ID of designfile, set it as NULL( default).

adjustedPhase

a character string. The method used to adjust each phase calculated by Lomb-Scargle before getting integrated phase, must be one of "predictedPer"(adjust phase with predicted period length) or "notAdjusted"(not adjust phase).

weightedMethod

logical. If TRUE(default), weighted score based on p-value of each individual will be used to integrate period, phase and amplitude values of multiple individuals.

combinePvalue

a character string. The method used to integrate p-values of multiple individuals, currently only "fisher"(Fisher's method) could be selected.

outIntegrationFile

a character string. This parameter controls what kinds of analysis results will be outputted, must be one of "both" (default), "onlyIntegration"(only output integrated analysis results of each experimental group), or "noIntegration"(only output analysis results of each individual).

dayZeroBased

logical. If TRUE, the first sampling day is recorded as day zero in the designfile.

outSymbol

a character string. A common prefix exists in the names of output files.

Details

This function is originally aimed to analyze large scale perodic data with individual information. Please pay attention to the data format of datafile and designfile(see Examples part). Time-series experimental values(missing values as NA) from all individuals shoud be stored in datafile, with the first row containing all library ID(unique identification number for each sample) and the first column containing all detected molecular names(eg. transcript ID or gene name). The designfile should at least have three columns-library ID, subject ID and sampling time collumn. Experimental group information of each subject ID may be in another column. In addition, sampling time information may be stored in multiple columns instead of one column. For example, sampling time-"36 hours" may be recorded as "day 2"(sampling day column, design_dayColm) plus "12 hours"(sampling hour column, design_hrColm). The library ID in datafile and designfile should be same. If there are different characters between library ID in these two files, try design_libIDrename to keep them same.

Lomb-Scargle(Glynn, 2006) is used to analyze time-series profiles individual by individual. The original code is modified and added with calculating baseline value and amplitude(using similar method as meta2d). Then p-values, period, phase, baseline value, amplitude and relative amplitude from multiple individuals are integrated group by group. P-values from different individuals are integrated with Fisher's method("fisher") (Fisher,1925; implementation code from MADAM). The integrated period, baseline value, amplitude and relative amplitude are arithmetic mean of multiple individuals, respectively. The integrated phase is mean of circular quantities(adjustedPhase = "predictedPer") or a arithmetic mean(adjustedPhase = "notAdjusted") of multiple individual phases. If weightedMethod = TRUE is selected, weighted scores(-log10(p-values)) will be taken into account in calculation of integrated period, phase, baseline, amplitude and relative amplitude.

For completly removing the potential problem of averaging phases with quite different period length(also mentioned in meta2d), setting minper and maxper to a same value may be the only known way. For short time-series profiles(eg. 10 time points or less), p-values given by Lomb-Scargle may be over conservative, which will also lead to conservative integrated p-values. In such case, selecting a proper p-value cut-off based on the p-value distribution is suggested.

Value

meta3d will write analysis results to outdir instead of returning them as objects. Output files with "LSresultSubjectID" in the file name are Lomb-Scargle analysis results for each individual. Files named with "CirCaseIntegrationGroupID" store integrated p-values, period, phase, baseline, amplitude and relative amplitude values from multiple individuals of each group and calculated FDR values based on integrated p-values.

References

Glynn E. F., Chen J., and Mushegian A. R. (2006). Detecting periodic patterns in unevenly spaced gene expression time series using Lomb-Scargle periodograms. Bioinformatics, 22(3), 310–316

Fisher, R.A. (1925). Statistical methods for research workers. Oliver and Boyd (Edinburgh).

Kugler K. G., Mueller L.A., and Graber A. (2010). MADAM - an open source toolbox for meta-analysis. Source Code for Biology and Medicine, 5, 3.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# write 'cycHumanBloodData' and 'cycHumanBloodDesign' into two 'csv' files
write.csv(cycHumanBloodData, file="cycHumanBloodData.csv",
  row.names=FALSE)
write.csv(cycHumanBloodDesign, file="cycHumanBloodDesign.csv",
  row.names=FALSE)

# detect circadian transcripts in studied individuals
meta3d(datafile="cycHumanBloodData.csv",
  designfile="cycHumanBloodDesign.csv", outdir="example", filestyle="csv",
  design_libColm=1, design_subjectColm=2, design_hrColm=4,
  design_groupColm=3)

gangwug/MetaCycleV100 documentation built on May 16, 2019, 5:37 p.m.