我能用Monocle在R中对聚合的CellDataSet对象进行子集操作吗?

3
我有一个 CelldataSet 对象(cds):
> class(cds)
[1] "CellDataSet"
attr(,"package")
[1] "monocle"

由6个不同的聚合样品组成,可以通过其条形码的后缀进行区分。以下是这些样品的示例:
cds$barcode
1   ACCAACGACTTGCC-1
2   CGCACTACTCGATG-4
3   CGTACAGAGTATCG-5
4   CGTCAAGATCACCC-5
5   ACTGAGACCCGTAA-2
6   TTAGACCTCGGGAA-6
7   TTCAAGCTGGTATC-3
8   TTTGACTGTCCTTA-4
9   TTTGCATGCTCTTA-4
10  AAACATTGAAGCCT-5

是否可能将这个CellDataSet对象拆分成6个较小的CellDataSet对象,每个对象都包含具有相同“-n”后缀的条形码,以便我可以分别分析每个样本?例如,CellDataSet1的条形码应如下所示:

cds$barcode
1   AAACCGTGCCCTCA-1
2   AAACGCACACGCAT-1
3   AAACGGCTTCCGAA-1
4   AAAGACGAACCCAA-1
5   AAAGACGACTGTTT-1
6   AAAGAGACAAAGCA-1
7   AAAGATCTGGTAAA-1
8   AAAGCAGAGCAAGG-1
9   AAAGCAGATTATCC-1
10  AAAGCCTGATGACC-1

等等,它应该包含与原始对象相同的相应属性。

非常感谢!

阿比盖尔

1个回答

1
您可以使用tidyverse解决问题:
library(tidyverse)
dataseti <- data.frame(barcode = c("ACCAACGACTTGCC-1",
                                  "GCACTACTCGATG-4",
                                  "CGTACAGAGTATCG-5",
                                  "CGTCAAGATCACCC-5",
                                  "ACTGAGACCCGTAA-2",
                                  "TTAGACCTCGGGAA-6", 
                                  "TTCAAGCTGGTATC-3",
                                  "TTTGACTGTCCTTA-4",
                                  "TTTGCATGCTCTTA-4",
                                  "AAACATTGAAGCCT-5"),
                      stringsAsFactors = FALSE)

假设你想要第4组

dataseti %>% separate(barcode, c("chain","group"),"-") %>% filter(group == 4)

祝你好运!


谢谢Manu!有没有一种方法可以在不创建数据框的情况下完成这个操作?我已经编辑了我的问题,包括cds的类。我还想保留与每个组的条形码相关的所有数据。 - Abigail575

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接