Title: | Analysis of Time-Resolved RNA-Seq Data |
---|---|
Description: | RNA-sense tool compares RNA-seq time curves in two experimental conditions, i.e. wild-type and mutant, and works in three steps. At Step 1, it builds expression profile for each transcript in one condition (i.e. wild-type) and tests if the transcript abundance grows or decays significantly. Dynamic transcripts are then sorted to non-overlapping groups (time profiles) by the time point of switch up or down. At Step 2, RNA-sense outputs the groups of differentially expressed transcripts, which are up- or downregulated in the mutant compared to the wild-type at each time point. At Step 3, Correlations (Fisher's exact test) between the outputs of Step 1 (switch up- and switch down- time profile groups) and the outputs of Step2 (differentially expressed transcript groups) are calculated. The results of the correlation analysis are printed as two-dimensional color plot, with time profiles and differential expression groups at y- and x-axis, respectively, and facilitates the biological interpretation of the data. |
Authors: | Marcus Rosenblatt [cre], Gao Meijang [aut], Helge Hass [aut], Daria Onichtchouk [aut] |
Maintainer: | Marcus Rosenblatt <[email protected]> |
License: | GPL-3 |
Version: | 1.21.0 |
Built: | 2024-11-30 04:06:05 UTC |
Source: | https://github.com/bioc/RNAsense |
Results of switch and fold change analysis are collected in one data.frame
combineResults(myresultSwitch = resultSwitch, myresultFC = resultFC, nrcores = 1)
combineResults(myresultSwitch = resultSwitch, myresultFC = resultFC, nrcores = 1)
myresultSwitch |
data.frame, output of getSwitch |
myresultFC |
data.frame, output of getFC |
nrcores |
Numeric, Number of cores for parallelization, default 1 for no parallelization |
Data.frame containing information on switch and fold change detection for each gene
Marcus Rosenblatt, [email protected]
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) combineResults(resultSwitch, resultFC)
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) combineResults(resultSwitch, resultFC)
For each gene and for each time point, RNA-seq count data is analyzed for fold changes between two experimental conditions. This functions bases on functions from the R package NBPSeq package for fold change analysis
getFC(dataset = mydata, myanalyzeConditions = analyzeConditions, cores = 1, mytimes = times)
getFC(dataset = mydata, myanalyzeConditions = analyzeConditions, cores = 1, mytimes = times)
dataset |
Object of class SummarizedExperiment, output of SummarizedExperiment, as assays use a numeric matrix with your RNAseq count data, rows correspond to different genes, columns correspond to different experiments, as rowData provide a DataFrame with columns name (geneID) and genename (the gene names), as colData provide a DataFrame with columns condition, time and replicate |
myanalyzeConditions |
Character vector, Name of experimental conditions |
cores |
Numeric, Number of cores for parallelization, default 1 for no parallelization |
mytimes |
Numeric vector, Time points of the time-resolved RNA-seq data |
Data.frame containing gene names, log fold change and p-values calculated from NBPSeq, each gene appears as often as available time points
Marcus Rosenblatt, [email protected]
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6))
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6))
For each gene, time-resolved RNA-seq measurements are analyzed for occurence of switches (up or down)
getSwitch(dataset = mydata, experimentStepDetection = "WT", pValueSwitch = 0.05, cores = 1, mytimes = times)
getSwitch(dataset = mydata, experimentStepDetection = "WT", pValueSwitch = 0.05, cores = 1, mytimes = times)
dataset |
Object of class SummarizedExperiment, output of SummarizedExperiment, as assays use a numeric matrix with your RNAseq count data, rows correspond to different genes, columns correspond to different experiments, as rowData provide a DataFrame with columns name (geneID) and genename (the gene names), as colData provide a DataFrame with columns condition, time and replicate |
experimentStepDetection |
Character, Name of condition for which switch detection is performed |
pValueSwitch |
Numeric, A threshold for counting cells as being invaded or not. When cells move towards negative z-direction, threshold should be negative. |
cores |
Numeric, Number of cores for parallelization, default 1 for no parallelization |
mytimes |
Numeric vector, Time points of the time-resolved RNA-seq data |
Data.frame containing gene names and results of switch detection, information about switch time point and direction
Marcus Rosenblatt, [email protected]
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6))
data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6))
A dataset containing RNA seq count data for two experimental conditions at 8 different time points including replicates.
MZsox
MZsox
A SummarizedExperiment object with 15775 rows and 40 columns. Arguments rowData and colData give covariate information on the count data as follows:
rowData: name, name of the gene
rowData: genename, identifier of gene
colData: condition, name of condition
colData: time, measurement time in hours post fertilization
colData: replicate, identifier of replicate
Output information on switching genes (up/down) in tabular format (gene identifier/gene name) are created as .txt file and written to the specified working directory. Two of the generated files (geneNamelist) contain gene lists with gene name for genes that switch up and down respectively. The other two (genelist) contain exactly the same output but with gene identifiers instead of gene names depending on what you prefer for further analysis. Each column corresponds to a combination of switch time point, fold change direction and time point of fold change. All genes for which fold change was detected at the indicated time point and switch was detected at the indicated time point are listed in the corresponding column. Note that a single gene may appear multiple times. The fifth .txt file (switchList) contains information on detected switches in a different format. The output consists of table with six columns with each row corresponding to one gene. Detected switches are indicated by 1, -1 and 0 for switch up, switch down and no switch, respectively. If a switch was detected, the column timepoint indicated the corresponding time point of switch detection.
outputGeneTables(myresultCombined = resultCombined, mytimes = times, myanalyzeConditions = analyzeConditions, mywd = NULL)
outputGeneTables(myresultCombined = resultCombined, mytimes = times, myanalyzeConditions = analyzeConditions, mywd = NULL)
myresultCombined |
data.frame, output of combineResults |
mytimes |
Numeric vector, Time points of the time-resolved RNA-seq data |
myanalyzeConditions |
character vector, the conditions that were analyzed |
mywd |
character, working directory to which results will be written, if NULL the current working directory is used |
Working directory where results have been written to
Marcus Rosenblatt, [email protected]
library(ggplot2) data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultCombined <- combineResults(resultSwitch, resultFC) outputGeneTables(resultCombined, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6), myanalyzeConditions = c("WT", "MZsox"))
library(ggplot2) data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultCombined <- combineResults(resultSwitch, resultFC) outputGeneTables(resultCombined, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6), myanalyzeConditions = c("WT", "MZsox"))
Genes are sorted into groups with respect to switch time and time point of fold change detection. For each group, results of wild type and knockdown-condition are compared by means of fisher's exact test to show whether the knocked down gene enhances or suppresses the respective gene group.
plotSSGS(myresultCombined = resultCombined, mytimes = times, myanalyzeConditions = analyzeConditions)
plotSSGS(myresultCombined = resultCombined, mytimes = times, myanalyzeConditions = analyzeConditions)
myresultCombined |
data.frame, output of combineResults |
mytimes |
Numeric vector, Time points of the time-resolved RNA-seq data |
myanalyzeConditions |
character vector, the conditions that were analyzed |
SSGS color plot in ggplot format
Marcus Rosenblatt, [email protected]
library(ggplot2) data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultCombined <- combineResults(resultSwitch, resultFC) plotSSGS(myresultCombined = resultCombined, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6), myanalyzeConditions = c("WT", "MZsox"))
library(ggplot2) data(MZsox) mydata <- MZsox[seq(1,nrow(MZsox), by=10),] resultFC <- getFC(dataset = mydata, myanalyzeConditions = c("WT", "MZsox"), cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultSwitch <- getSwitch(dataset = mydata, experimentStepDetection = "WT", cores = 1, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6)) resultCombined <- combineResults(resultSwitch, resultFC) plotSSGS(myresultCombined = resultCombined, mytimes = c(2.5,3,3.5,4,4.5,5,5.5,6), myanalyzeConditions = c("WT", "MZsox"))