как сделать подмножество клеток, экспрессирующих определенный ген в seurat R - PullRequest
1 голос
/ 12 февраля 2020

Я хочу создать подмножество клеток, экспрессирующих только определенные гены. Вот мое кодирование, но оно всегда показывает

«Именные аргументы не переданы»

Я понятия не имею, как это исправить.

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"))

1 Ответ

1 голос
/ 13 февраля 2020

Вы можете подмножество из матрицы подсчетов, ниже я использую набор данных pbmc_small из пакета, и я получаю ячейки, которые являются CD14 + и CD14 -:

library(Seurat)
CD14_expression = GetAssayData(object = pbmc_small, 
assay = "RNA", slot = "data")["CD14",]

Этот вектор содержит счетчики для CD14, а также имена ячеек:

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 

Получение идентификаторов можно выполнить с помощью 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")
...