This is a test version of Biostars. For the public version, visit https://www.biostars.org.
appending information to seurat object meta.data

I have a seurat object called AllCells.combined, and I wish to identify within the object all the cells that have expression of gene "Ighm" > 0; and also identify all cells that have expression of "Ighm" = 0

An easy way to do this would be to append it to the meta.data but I can't quite get it.

I tried:

AllCells.combined$IGHMPOS <- WhichCells(AllCells.combined, expression = Ighm > 0)

and got this error: Error: Cannot add more or fewer cell meta.data information without values being named with cell names

I then tried this:

AllCells.combined$IGHMPOS <- AllCells.combined["Ighm" > 0, ]

and got this error:

Error in [.Seurat(AllCells.combined, "Ighm" > 0, )Incorrect number of logical values provided to subset features`

I know its something simple Im missing

Thanks in advance!

scrna seurat

1 answer

Try using an ifelse approach.

poscells <- WhichCells(AllCells.combined, expression = Ighm > 0)

AllCells.combined$IGHM_status <- ifelse(colnames(AllCells.combined) %in% poscells, "IGHM_POS", "IGHM_NEG"))

@atakanekiz, your answer is good but the second line is missing a " " " character after "IGHM_NEG" and has a ")" too many. Most probably a typo, the right answer should read:

AllCells.combined$IGHM_status <- ifelse(colnames(AllCells.combined) %in% poscells, "IGHM_POS", "IGHM_NEG")

Cheers!

Good catch, fixed it now.

Log in to answer this question.