Idealistic_ 2023-01-17 16:09 采纳率: 66.7%
浏览 21

为什么Seurat标准流程经过pca处理之后的p-value都是0

在用seurat包进行单细胞测序分析的时候,不知道为什么跑出来pca以后得到的p-value都是0。

这里是用JackStraw检验的时候出现的

seurat_phase <- JackStraw(seurat_phase,num.replicate = 100) 
seurat_phase <- ScoreJackStraw(seurat_phase, dims = 1:20)
JackStrawPlot(seurat_phase, dims = 1:15)
Warning message:
Removed 21000 rows containing missing values (`geom_point()`). 

画出来的结果是这样的

img

这是在找marker的时候的

> cluster2.markers <- FindMarkers(seurat_phase, ident.1 = 2, min.pct = 0.25)
  |++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=02m 15s
> head(cluster2.markers, n = 5)
          p_val avg_log2FC pct.1 pct.2 p_val_adj
ABCA10        0   2.954014 0.832 0.258         0
ABCA6         0   1.884818 0.798 0.343         0
ABCA8         0   1.949229 0.754 0.346         0
ABCA9         0   2.313746 0.779 0.284         0
ABCA9-AS1     0   2.811838 0.681 0.176         0

有点不清楚是那个地方出了问题,或者是数据处理的方法不对导致的吗?还是这代表了数据有什么别的特性呢?请大家帮忙看一下这个问题是怎么回事,万分感谢!

  • 写回答

2条回答 默认 最新

  • 流比 2023-01-17 16:22
    关注

    Seurat标准流程中使用JackStraw方法进行差异基因检测时,p-value为0可能是因为JackStraw方法在计算p-value时使用的是假设检验中的负无穷大值(-Inf)。在计算p-value时,JackStraw方法首先在每个维度上随机重排基因表达数据,然后计算在重排后的数据中该维度上的差异基因数量。如果该维度在重排后的数据中差异基因数量大于原始数据中的数量,则p-value记为0,否则p-value记为1/重排次数。因此,在计算p-value时,如果重排后的数据中差异基因数量始终大于原始数据中的数量,则p-value将始终为0。这可能是因为在该数据集中,所有维度上的差异基因数量都很大,而且在任何重排方式下都大于原始数据中的数量。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月17日

悬赏问题

  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓