当前位置:   article > 正文

Monocle操作笔记-2:数据读取和预处理_函数‘estimatesizefactors’标签‘"celldataset"’找不到继承方法

函数‘estimatesizefactors’标签‘"celldataset"’找不到继承方法

monocle操作数据格式CellDataSet (CDs),相较于seurat的seurat object,该格式数据更为精简

1. 数据输入输出

首先需要利用3个文件生成CellDataSet格式单细胞表达数据

(1) exprs,基因表达数据,行-基因,列-细胞

monocle支持三种类型的表达数据,UMI counts(推荐)TPM/FPKM、log-transformed FPKM/TPMs,需要注意的是在下游分析中monocle会自动进行normalization,所以不要数据normalized data,或提前normalize data。需要针对不同类型的表达数据选择合适的分布negbinomial.size()-UMI,negbinomial(),tobit(),gaussianff()。

(2) phenoData,描述细胞的各种元属性,相当于seurat_obj@meta.data,行-细胞,列-属性

(3) featureData,基因名,行-基因名

(4) 支持直接从seurat或scater读取(输出)数据,但是非常垃圾,试了,根本用不了,还是老老实实手动生成数据吧。

  1. #从seurat object生成CDS
  2. example ##示例数据为seurat object,已经进行过注释
  3. pd <- new("AnnotatedDataFrame", data = example@meta.data) ##pd, phenoData
  4. gene_annotation=data.frame(gene_short_name = rownames(example[[RNA]]),
  5. stringsAsFactors=F)
  6. rownames(gene_annotation)<-gene_annotation$gene_short_name
  7. fd <- new("AnnotatedDataFrame", data = gene_annotation) ##fd, featureData
  8. HSMM <- newCellDataSet(GetAssayData(example,slot="counts",assay=assay),
  9. phenoData = pd,
  10. featureData = fd,
  11. expressionFamily=negbinomial.size())

如果所分析的数据没有UMI count,而是FPKM/TPM值,这时就需要通过一种叫Census 的方法将这些基因表达值转换为RPC(mRNAs per cell),可极大的提高分析的可行性和结果的准确性。

我没有这种数据,下面是官网代码

  1. pd <- new("AnnotatedDataFrame", data = HSMM_sample_sheet)
  2. fd <- new("AnnotatedDataFrame", data = HSMM_gene_annotation)
  3. # First create a CellDataSet from the relative expression levels
  4. HSMM <- newCellDataSet(as.matrix(HSMM_expr_matrix),
  5. phenoData = pd,
  6. featureData = fd,
  7. lowerDetectionLimit = 0.1,
  8. expressionFamily = tobit(Lower = 0.1)) ###因为是FPKM/TPM值,所以分布模型是tobit()
  9. # Next, use it to estimate RNA counts
  10. rpc_matrix <- relative2abs(HSMM, method = "num_genes")
  11. # Now, make a new CellDataSet using the RNA counts
  12. HSMM <- newCellDataSet(as(as.matrix(rpc_matrix), "sparseMatrix"),
  13. phenoData = pd,
  14. featureData = fd,
  15. lowerDetectionLimit = 0.5,
  16. expressionFamily = negbinomial.size()) ###转为了RPS,分布模型改为negbinomial.size()

2. Estimate size factors and dispersions

必须要进行的两步操作,应该是为了评估数据大小和离散程度。命令非常简单,没有太多参数。

size factor与下游分析的数据标准化有关

dispersion与下有分析的差异分析有关

  1. HSMM <- estimateSizeFactors(HSMM)
  2. HSMM <- estimateDispersions(HSMM)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/759998
推荐阅读
相关标签
  

闽ICP备14008679号