我想创建一个只表达特定基因的细胞子集。'未传递命名参数'我不知道该怎么纠正。
Dbh.pos <- Idents(my.data, WhichCells(my.data, expression = Dbh > 0, slot = "data")) Dbh.neg <- Idents(my.data, WhichCells(my.data, expression = Dbh = 0, slot = "data"))
mkh04yzy1#
您可以从计数矩阵中进行子集,下面我使用包中的pbmc_small数据集,并获得CD 14+和CD 14-的细胞:
library(Seurat) CD14_expression = GetAssayData(object = pbmc_small, assay = "RNA", slot = "data")["CD14",]
该载体包含CD 14的计数以及细胞的名称:
head(CD14_expression,30) ATGCCAGAACGACT CATGGCCTGTGCAT GAACCTGATGAACC TGACTGGATTCTCA AGTCAGACTGCACA 0.000000 0.000000 0.000000 0.000000 0.000000 TCTGATACACGTGT TGGTATCTAAACAG GCAGCTCTGTTTCT GATATAACACGCAT AATGTTGACAGTCA 0.000000 0.000000 0.000000 0.000000 0.000000 AGGTCATGAGTGTC AGAGATGATCTCGC GGGTAACTCTAGTG CATGAGACACGGGA TACGCCACTCCGAA 0.000000 0.000000 0.000000 0.000000 0.000000 CTAAACCTGTGCAT GTAAGCACTCATTC TTGGTACTGAATCC CATCATACGGAGCA TACATCACGCTAAC 0.000000 0.000000 0.000000 0.000000 0.000000 TTACCATGAATCGC ATAGGAGAAACAGA GCGCACGACTTTAC ACTCGCACGAAAGT ATTACCTGCCTTAT 3.542611 3.917231 4.552789 5.159975 3.117873 CCCAACTGCAATCG AAATTCGAATCACG CCATCCGATTCGCC TCCACTCTGAGCTT CATCAGGATGCACA 0.000000 3.452557 3.820847 4.432036 0.000000
获取id可以使用which完成:
which
pos_ids = names(which(CD14_expression>0)) neg_ids = names(which(CD14_expression==0))
数据的子集可以通过以下方式完成:
pos_cells = subset(pbmc_small,cells=pos_ids) neg_cells = subset(pbmc_small,cells=neg_ids)
有点傻,但我想这是一种检查它是否有效的方法:
FeaturePlot(pos_cells,"CD14") FeaturePlot(neg_cells,"CD14")
tez616oj2#
我使用这段代码实际上是直接在meta.data上添加信息。例如,这里的格克斯= pbmc_small。使用与@StupidWolf相同的逻辑,我获取基因表达式,然后制作一个有两列的 Dataframe ,这些信息直接添加到Seurat对象上。
GENE="Cd8a" EXPR = GetAssayData(object=GEX,assay="RNA",slot="data")[GENE,] EXPR_df=data.frame( positive= EXPR > 0, negative = EXPR == 0) names(GEX)<-paste0( c("positive_","negative_"),GENE) GEX <- AddMetaData(GEX,metadata=EXPR_df)
这种方法允许很好地进行子集化,具有更大的灵活性。
GEX_subset <- subset(GEX, annot == "T cell" & negative_Cd8a)
2条答案
按热度按时间mkh04yzy1#
您可以从计数矩阵中进行子集,下面我使用包中的pbmc_small数据集,并获得CD 14+和CD 14-的细胞:
该载体包含CD 14的计数以及细胞的名称:
获取id可以使用
which
完成:数据的子集可以通过以下方式完成:
有点傻,但我想这是一种检查它是否有效的方法:
tez616oj2#
我使用这段代码实际上是直接在meta.data上添加信息。例如,这里的格克斯= pbmc_small。使用与@StupidWolf相同的逻辑,我获取基因表达式,然后制作一个有两列的 Dataframe ,这些信息直接添加到Seurat对象上。
这种方法允许很好地进行子集化,具有更大的灵活性。