0

基本的に、このデータセットのサンプルに表現型情報 (pdata) を追加しようとしています。

library(BiocManager)
library(GEOquery) 
library(plyr)
library(dplyr) 
library(Matrix) 
library(Seurat) 

# Loading Raw Data into RStudio ---------------------------------- 
    
    filePaths = getGEOSuppFiles("GSE118389") 
    tarF <- list.files(path = "./GSE118389/", pattern = "*.tar", full.names = TRUE) 
    untar(tarF, exdir = "./GSE118389/") 
    gzipF <- list.files(path = "./GSE118389/", pattern = "*.gz", full.names = TRUE) 
    ldply(.data = gzipF, .fun = gunzip) 
    
    list.files(path = "./GSE118389/", full.names = TRUE)

たとえば、患者 39 (PT039) のサンプル情報を次のように読み込みます。

# Load in full matrix ----------------------------------------------------------

fullmat <- read.table(file = './GSE118389//GSE118389_counts_rsem.txt', 
                      sep = '\t', header = TRUE, stringsAsFactors = FALSE)


# Load in PT039 matrix -----------------------------------------------------------
PT039mat <- grep(pattern =c("^PT039") , x = colnames(fullmat), value = TRUE)
PT039mat = fullmat[,grepl(c("^PT039"),colnames(fullmat))]
PT039mat[1:5,1:5]

次に、関連する pdata を次の方法で追加します。基本的にはPT039mat、後で pdata として Seurat オブジェクトに追加される別のデータフレームを作成します。

PT039pdat <- data.frame("samples" = colnames(PT039mat), 
                        "lymphovascular_invasion" = "no", 
                        "nodal_involvement" = "no",
                        "BRCA_status" = "BRCA-")

これにより、以下が作成されます。 pdataの出力

私はこれについて間違った考えをしているかもしれませんが、PT039 が複数のバッチに存在するという次の情報があります。基本的に、この正確なデータフレームを次のように再作成したいPT039pdat:

Batch   Patient ID
B1        PT039 
B2        PT058
B3        PT039, PT081, PT089
B4        PT081
B5        PT084, PT089
B6        PT084, PT089
B7        PT126
B8        PT039, PT084
B9        PT039

次のコードを使用して、これを正確に実行できます。

PT039_batch <- list(c("B1", "B3", "B8", "B9"))
PT039pdat$batch <- PT039_batch

バッチ追加の出力

しかし、UMAP でさまざまなバッチをプロットしようとすると、意味がある場合でも、個別の可能性を検出できません。

DimPlot(sobj, reduction = "umap", split.by = "batch")

Error in `[<-.data.frame`(`*tmp*`, , split.by, value = c(PT039_P11_A01_S1 = "B1",  : 
  replacement has 3538 rows, data has 1325

これを作成できるようにしたいのですが、バッチ情報が B1、B2、B3 などで分割されています。 何が欲しいが、バッチごとに分割

長い質問で申し訳ありませんが、読んでいただきありがとうございます!

4

1 に答える 1

0

https://github.com/satijalab/seurat/issues/4650を参照してください。私のようにプロットしたい場合は、各セルのバッチ情報が必要なようです。

于 2021-07-02T16:33:51.180 に答える