问题标签 [seurat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
360 浏览

r - 使用字符串变量为对象槽赋值

我有一个 Seurat 单细胞基因表达对象,它有插槽。

其中一个槽是@meta.data,它是一个矩阵。

我想创建一个列 $orig.ident 通过为其分配值meta$brain.region作为一个因素。meta是我的原始元数据表。

我正在为一堆数据集执行此操作,并希望使其具有普遍性。

这个想法是用户只需要输入原始对象的名称,从那时起的所有内容都会被相应地调用。

用户提示:

> dataset <- "path/to/gw14.RData"

> seurat.obj <- "gw14"

然后加载工作区,其中包括 Seurat 对象 gw14。

> load(dataset)

> seurat.obj.new <- paste0(seurat.obj, ".", 2)

我不明白为什么get在这里使用会返回以下错误:

> get(seurat.obj.new)@meta.data$orig.ident <- factor(meta$brain.region)

而在这里使用它可以按预期工作:

0 投票
1 回答
2324 浏览

r - 如何在 Seurat 的 DoHeatmap 图中重新排序单元格(ggplot2)

我正在用 R 中的 Seurat 绘制热图

这就是我得到的

热图结果

我想在这里用自定义顺序重新排序单元格。我试过DoHeatmap(test, data.use=<reordered data>)然后p <- DoHeatmap(…, plot=FALSE)重新排序p$data,但无济于事

0 投票
2 回答
383 浏览

r - 绘制 prcomp 矩阵中的数据子集而不重新运行 prcomp

我正在向 2 年前发布的类似帖子提出问题,但没有完整的答案(R 中 prcomp 对象的子集)。PS很抱歉评论它的答案..

基本上,我的问题是一样的。我使用 prcomp 生成了一个 PCA 表,该表具有 10000 多个基因和 1700 多个细胞,由 7 个时间点组成。将它们全部绘制在一个文件中会让人很难看清。

我想分别绘制每个时间点,使用相同的 PCA 结果表(即不重新运行 prcomp)。

感谢 Dean 给我发帖的提示。想出一种方法来描述我的数据集而不实际加载它,我相信需要一周的时间。我也试过

选项,但信息太多了,因为我有这么大的数据集。简而言之,它是一个单细胞数据集的大型矩阵,人们通常可以在 Seurat 等软件包上看到(https://satijalab.org/seurat/pbmc3k_tutorial_1_4.html)。编辑:我在这里(在此处输入图像描述)发布了我的矩阵子集的屏幕截图。

抱歉,我不知道如何重新创建它甚至导出文本格式。但这是我可以提供的: 我的 TPM 矩阵有 16541 行(定义基因)和 1798 列(定义单元格)。

在其中,我使用以下代码根据时间点“重新标记”了我的列:

......我继续标记每个时间点。

每个时间点也被赋予了特定的颜色。

......我继续给每个时间点上色。

我使用以下代码执行了 PCA:

然后我开始使用以下方法绘制 PCA 图:

然后,当我想仅使用 D0 绘制 PCA 图时,使用相同的 PCA 输出(pcaRes)。这就是我卡住的地方。

PS如果其他人有更简单的方法来建议如何从我的大矩阵中输入示例数据,我欢迎任何帮助。非常感谢!对不起,我是生物信息学的新手。

0 投票
1 回答
626 浏览

r - 如何在 for 循环中索引 R 对象?

我正在尝试使用 for 循环来简化以下代码:

我尝试了以下方法:

但它返回以下错误:

CreateSeuratObject 函数本质上是尝试读取 samples.data 向量,而不是索引向量中的相应项。我怎样才能解决这个问题?

0 投票
0 回答
359 浏览

r - 使用ggplot2时如何在R中保存“AI友好”图?

当我保存包含大量点的 tSNE 图时,我想将图中的所有点转换为 PNG 文件,而图像的其余部分(轴、标签、所有文本)仍保留为矢量图形。我怎么能做这样的事情?

(我知道 Seurat 包中的 Dimplot 函数可以通过参数 vector.friendly = TRUE 做到这一点)

0 投票
1 回答
695 浏览

r - 如何在指定的网格(例如 6 x 3)中绘制多个 UMAP?

我正在使用新的 Seurat 3 软件包来分析单细胞测序数据。我已经合并了 18 个 Seurat 对象,并将各个标识符保存在 meta.data 中。使用split.by函数中的参数绘制 18 个单独的 UMAP 时DimPlot,它会返回按字母顺序排列的图。它还在前三行绘制 5 个 UMAP,在最后一行绘制 3 个。我想绘制一个 6 x 3 的网格,并且能够不按字母顺序排列 UMAP。下面是我使用的命令。

0 投票
0 回答
596 浏览

r - 尝试制作 singleR seurat 对象时出错

我一直在尝试解决这个问题,但一整天都是空的。在尝试制作这个对象时

我得到这个错误代码:

irlba(A = t(x = data.use), nv = pcs.compute, ...) 中的错误:max(nu, nv) 必须严格小于 min(nrow(A), ncol(A))

我的计数是 [6 x 13732] 的矩阵。

提前感谢您的帮助!

0 投票
1 回答
100 浏览

r - shelljs 执行卡在 DigitalOcean 上

我有一个React托管在DigitalOcean( Ubuntu 16.04) 上的网络应用程序。R该应用程序在后端 ( ) 上有一个脚本,nodeshelljs( shCMDcommand 调用R脚本。它永远不会进入 exec 回调):

foreverjs用来启动服务器。它在一个conda环境中运行。因此,当脚本最初开始运行时,我会看到正确的日志输出(R脚本正在运行),它foreverjs为我提供了但很快就会停止生成日志输出。forever浏览器和日志输出中都没有错误。服务器到达我的R脚本中的某个阶段并且以某种方式卡住了。有没有办法弄清楚出了什么问题?你会推荐什么?在本地,一切正常。唯一可能不同的是conda环境,但我希望它会给出错误但没有。

更新

我调查了/var/log/syslog但我没有看到任何OOM错误:https ://www.digitalocean.com/community/questions/python-script-gets-killed

更新

这不是问题:在脚本的同一位置foreverjs运行简单的卡住。node server.jsR

脚本卡在Seurat- 包函数中ScaleData

具有以下输出:

ScaleData 在非标准化值上运行。推荐的工作流程是首先运行 NormalizeData。回归:nUMI | | 0%

但是,当然,它在本地运行良好。并且在服务器上它卡在第二for次循环迭代中,所以一次它在服务器上运行得很好,但第二次它失败了,就好像运行一个进程设置的时间有限一样DigitalOcean

更新

服务器是apache2。我切换到nginx现在服务器运行正常,它没有卡住,问题几乎解决了,只是现在我收到504网关超时错误。

0 投票
1 回答
60 浏览

python - 对齐二维散点图(并链接它们?)

我偶尔会看到两个二维散点图在 3D 空间中相互叠加的图表,以便可以链接对应的点。这些通常采用两个网络重叠的网络形式。例如:

在此处输入图像描述 参考:https ://satijalab.org/seurat/v3.0/pbmc3k_tutorial.html

在此处输入图像描述 参考:https ://image.slidesharecdn.com/2007mauricioarango-end-to-endqosviaoverlaynetworksandbandwidthon-demand-091102230540-phpapp02/95/providing-endtoend-network-qos-via-overlay-networks-and-bandwidth-ondemand-mauricio- arango-2007-5-728.jpg?cb=1257203157

我知道我可以在二维图中任意添加一个常见的第三维来得到这样的图:

在此处输入图像描述

然后连接相关点,但我认为可能有一种更直接的方法可以在 R 或 python 中构建此类图像?

0 投票
1 回答
530 浏览

r - 在结构相同的 S4 对象列表的每个元素中替换 @slot 的值

我有一个S4类对象列表Seurat,其中每个对象都有几个slots

我想用第二个列表中的相应数据框替换每个列表元素的每个 @metadata 插槽中存储的数据框,metadata.

我能想出的最佳解决方案如下,但我确信必须有更好的方法。

S4该解决方案在仅修改插槽的同时保留了整个对象@metadata,并且还保留了每个列表元素的名称,但这是一条相当复杂的路径...感谢您的建议。