2017-02-16 111 views
3

我正在使用名爲「Seurat」的R包進行單細胞RNA-Seq分析。我正在嘗試向Seurat對象添加有關單個單元樣本的元數據信息。但下游繪圖命令不起作用。我想知道是否有人知道如何檢查修改的Seurat對象以確認元數據是否添加到正確的插槽和列中。將元數據添加到Seurat對象

要添加我使用以下命令的元數據。該列表是長得多,但簡稱爲第一:

首先我從獵犬對象

> Cells <- WhichCells(sleuth_object) 

然後創建使用數字1-3此注意的形態確定的小區類型的列表中提取的單元名稱3這裏

> MorphCellTypes = c(1,2,3) 

然後我合併單元格和MorphCellTypes一起作爲一個data.frame

> MorphCellTypesDF = data.frame(Cells, MorphCellTypes) 

然後我試圖利用其成功運行

> AddMetaData(Sleuth_object, MorphCellTypesDF, col.name = MorphCellTypes 

然後我嘗試使用下面的命令

> TSNEPlot(pbmc, do.label = TRUE, pt.size = 3, group.by = MorphCellTypes 

這返回的與TSNEPlot想象它下面的命令來添加這個MorphCellTypesDF元的偵探對象以下錯誤:

「Error in DimPlot(object, reduction.use = "tsne", cells.use = cells.use, : 
    object 'MorphCellTypes' not found」 

所以我認爲我要麼將元數據添加到我的sle中的錯誤位置或者我不知怎的弄亂了col.name。無論哪種方式,似乎我正在使用AddMetaData或TSNEPlot()函數不正確。如果您有任何可能發現錯誤的地方,或者可以將我指向如何使用AddMetaData的示例,我們將非常感謝。

回答

3

經過多次試驗和錯誤,我找到了一種成功添加實驗元數據列的方法。竅門是在添加數據的同時保持Seurat對象的正確格式。我通過複製[email protected]表,然後通過向其添加列來修改它。然後通過將修改後的表格導入Seurat。以下代碼將一列名爲Gene_ID的隨機數添加到[email protected]插槽中的Seurat對象。然後用可視化測試添加這些數據。

CellsMeta = [email protected] 
head(CellsMeta) 

randomnumbers <- runif(2700, 0.0, 1.1) 

CellsMeta["Gene_IDs"] <- randomnumbers 
head(CellsMeta) 

CellsMetaTrim <- subset(CellsMeta, select = c("Gene_IDs")) 
head(CellsMetaTrim) 

pbmc <- AddMetaData(pbmc, CellsMetaTrim) 

head([email protected]) 

VlnPlot(pbmc, c("nGene", "nUMI", "Gene_IDs"), nCol = 3)