Skip to content
Snippets Groups Projects
Commit 63d2b234 authored by Luke Zappia's avatar Luke Zappia
Browse files

Modify outlier expression to use median

Should make sure they are actual outliers and better matches the estimation
method.
parent 5321991b
No related branches found
No related tags found
No related merge requests found
Package: splatter Package: splatter
Type: Package Type: Package
Title: Simple Simulation of Single-cell RNA Sequencing Data Title: Simple Simulation of Single-cell RNA Sequencing Data
Version: 0.3.16 Version: 0.3.17
Date: 2016-10-11 Date: 2016-10-11
Author: Luke Zappia Author: Luke Zappia
Authors@R: as.person(c( Authors@R: as.person(c(
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
#' \item BaseGeneMean - the base expression level for that gene #' \item BaseGeneMean - the base expression level for that gene
#' \item OutlierFactor - expression outlier factor for that gene. Values #' \item OutlierFactor - expression outlier factor for that gene. Values
#' of 1 indicate the gene is not an expression outlier. #' of 1 indicate the gene is not an expression outlier.
#' \item GeneMean - expression level after applying outlier factors #' \item GeneMean - expression level after applying outlier factors.
#' \item DEFac[Group] - the differential expression factor for each gene #' \item DEFac[Group] - the differential expression factor for each gene
#' in a particular group. Values of 1 indicate the gene is not #' in a particular group. Values of 1 indicate the gene is not
#' differentially expressed. #' differentially expressed.
...@@ -218,7 +218,8 @@ simLibSizes <- function(sim, params) { ...@@ -218,7 +218,8 @@ simLibSizes <- function(sim, params) {
#' Simulate gene means #' Simulate gene means
#' #'
#' Simulate gene means from a gamma distribution. Also simulates outlier #' Simulate gene means from a gamma distribution. Also simulates outlier
#' expression factors. #' expression factors. Genes with an outlier factor not equal to 1 are replaced
#' with the median mean expression multiplied by the outlier factor.
#' #'
#' @param sim SCESet to add gene means to. #' @param sim SCESet to add gene means to.
#' @param params splatParams object with simulation parameters. #' @param params splatParams object with simulation parameters.
...@@ -226,7 +227,7 @@ simLibSizes <- function(sim, params) { ...@@ -226,7 +227,7 @@ simLibSizes <- function(sim, params) {
#' @return SCESet with added gene means. #' @return SCESet with added gene means.
#' #'
#' @importFrom Biobase fData fData<- #' @importFrom Biobase fData fData<-
#' @importFrom stats rgamma #' @importFrom stats rgamma median
simGeneMeans <- function(sim, params) { simGeneMeans <- function(sim, params) {
n.genes <- getParams(params, "nGenes") n.genes <- getParams(params, "nGenes")
...@@ -243,7 +244,11 @@ simGeneMeans <- function(sim, params) { ...@@ -243,7 +244,11 @@ simGeneMeans <- function(sim, params) {
# Add expression outliers # Add expression outliers
outlier.facs <- getLNormFactors(n.genes, out.prob, out.loProb, out.facLoc, outlier.facs <- getLNormFactors(n.genes, out.prob, out.loProb, out.facLoc,
out.facScale) out.facScale)
means.gene <- base.means.gene * outlier.facs median.means.gene <- median(base.means.gene)
outlier.means <- median.means.gene * outlier.facs
is.outlier <- outlier.facs != 1
means.gene <- base.means.gene
means.gene[is.outlier] <- outlier.means[is.outlier]
fData(sim)$BaseGeneMean <- base.means.gene fData(sim)$BaseGeneMean <- base.means.gene
fData(sim)$OutlierFactor <- outlier.facs fData(sim)$OutlierFactor <- outlier.facs
......
...@@ -16,6 +16,7 @@ SCESet with added gene means. ...@@ -16,6 +16,7 @@ SCESet with added gene means.
} }
\description{ \description{
Simulate gene means from a gamma distribution. Also simulates outlier Simulate gene means from a gamma distribution. Also simulates outlier
expression factors. expression factors. Genes with an outlier factor not equal to 1 are replaced
with the median mean expression multiplied by the outlier factor.
} }
...@@ -75,7 +75,7 @@ information includes: ...@@ -75,7 +75,7 @@ information includes:
\item BaseGeneMean - the base expression level for that gene \item BaseGeneMean - the base expression level for that gene
\item OutlierFactor - expression outlier factor for that gene. Values \item OutlierFactor - expression outlier factor for that gene. Values
of 1 indicate the gene is not an expression outlier. of 1 indicate the gene is not an expression outlier.
\item GeneMean - expression level after applying outlier factors \item GeneMean - expression level after applying outlier factors.
\item DEFac[Group] - the differential expression factor for each gene \item DEFac[Group] - the differential expression factor for each gene
in a particular group. Values of 1 indicate the gene is not in a particular group. Values of 1 indicate the gene is not
differentially expressed. differentially expressed.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment