admin管理员组

文章数量:1029803

思路分享

作者,Evil Genius

之前提到过,对于肿作者,Evil Genius

之前提到过,对于肿瘤来讲,绝大部分的诱发因素并不是CNV,而是突变,随着认识的越来越深入,单细胞检测CNV的准确性遭到了越来越多的质疑,基因组 + 单细胞数据联合检测CNV成了目前的最优解。

大家可以参考文章多组学更新---WES联合scRNA分析肿瘤CNV事件

举一个简单的例子,神经母细胞瘤,诱发因素包括MYCN扩增以及ALK和TP53突变,假设单细胞CNV检测非常准确,MYCN扩增可以检测到,但是具有ALK或者TP53突变的癌细胞,如何识别?那是不是在分析中,就会漏掉这些突变导致的癌细胞,从而导致分析的结果完全错误呢?

况且单细胞还是一种噪音极高的数据,检测CNV的准确性并没有很高。

所以借助多组学的力量是必须的。

WES/WGS分析CNV与突变信息,联合scRNA识别单细胞精度的恶性细胞。

首先第一步,利用配对的WES/WGS数据分析突变与CNV信息。

第二步,借助基因组 + 转录组的力量识别恶性细胞。

我们来实现一下

单细胞 + 基因组检测恶性细胞

先来看看WGS数据(配对样本)

代码语言:javascript代码运行次数:0运行复制
WGSt <- readRDS(paste0("data-raw/P5931/WGS/raw_counts.rds"))
WGSn <- readRDS(paste0("data-raw/P5931/WGS/ref_counts.rds"))

一些基础文件

代码语言:javascript代码运行次数:0运行复制
# Size of each chromosome (hg19 and GRCh38 are provided.)
size <- read.table("sizes.cellranger-GRCh38-1.0.0.txt", stringsAsFactors = F)

# List of cyclegenes retrieved from the "CopyKAT"package ()
cyclegenes <- readRDS("cyclegenes.rds")

# bed file indicating gene positions (hg19 and GRCh38 are provided.)
bed <- read.table("hg38.genes.bed", sep='\t', header = T)

读取单细胞数据

代码语言:javascript代码运行次数:0运行复制
mtx <- readMM("matrix.mtx.gz")
barcodes <- read.table("barcodes.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
features <- read.table("features.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
celltype0 <- readRDS("celltype_all.rds")

使用匹配的WGS/WES数据分段基因组

代码语言:javascript代码运行次数:0运行复制
library(Clonalscope)
dir_path <- "/output/"
Obj_filtered <- Createobj_bulk(raw_counts=WGSt, # from matched DNA sequencing (bulk/single)
                            ref_counts=WGSn, # from matched DNA sequencing (bulk/single)
                            samplename= "Sample",
                            genome_assembly="GRCh38", dir_path=dir_path, size=size, assay='WGS')

Obj_filtered <- Segmentation_bulk(Obj_filtered=Obj_filtered,
                               plot_seg = TRUE, hmm_states = c(0.8, 1.1, 1.2))

在scRNA-seq数据中检测亚克隆

代码语言:javascript代码运行次数:0运行复制
celltype <- celltype0
celltype[which(!grepl('Epithelial', celltype[,2])),2] <- 'normal'

clustering_barcodes <- celltype[which(grepl("Epithelial",celltype[,2])),1]

Input_filtered <- FilterFeatures(mtx=mtx, barcodes=barcodes, features=features, cyclegenes=cyclegenes)

# Remove raw inputs
rm(mtx); rm(barcodes); rm(features)

Cov_obj <- RunCovCluster(mtx=Input_filtered$mtx, barcodes=Input_filtered$barcodes, 
                      features=Input_filtered$features, bed=bed, 
                      celltype0=celltype, var_pt=0.99, var_pt_ctrl=0.99, include='all',
                      alpha_source='all', ctrl_region=NULL, 
                      seg_table_filtered=Obj_filtered$seg_table, size=size,
                      dir_path=dir_path, breaks=50, prep_mode = 'intersect', est_cap = 2,
                      clust_mode='cna_only',clustering_barcodes=clustering_barcodes)

可视化

代码语言:javascript代码运行次数:0运行复制
clustering <- Cov_obj$result_final$clustering
clustering2 <- Cov_obj$result_final$clustering2
result <- Cov_obj$result_final$result
table(result$Zest)
PlotClusters(df = Cov_obj$result_final$df_obj$df, celltype = celltype0, Assign_obj =result, mode = "genome",  fontsize = 7, lab_mode='annot')

甚至可以检测空间的恶性spot

生活很好,有你更好瘤来讲,绝大部分的诱发因素并不是CNV,而是突变,随着认识的越来越深入,单细胞检测CNV的准确性遭到了越来越多的质疑,基因组 + 单细胞数据联合检测CNV成了目前的最优解。

大家可以参考文章多组学更新---WES联合scRNA分析肿瘤CNV事件

举一个简单的例子,神经母细胞瘤,诱发因素包括MYCN扩增以及ALK和TP53突变,假设单细胞CNV检测非常准确,MYCN扩增可以检测到,但是具有ALK或者TP53突变的癌细胞,如何识别?那是不是在分析中,就会漏掉这些突变导致的癌细胞,从而导致分析的结果完全错误呢?

况且单细胞还是一种噪音极高的数据,检测CNV的准确性并没有很高。

所以借助多组学的力量是必须的。

WES/WGS分析CNV与突变信息,联合scRNA识别单细胞精度的恶性细胞。

首先第一步,利用配对的WES/WGS数据分析突变与CNV信息。

第二步,借助基因组 + 转录组的力量识别恶性细胞。

我们来实现一下

单细胞 + 基因组检测恶性细胞

先来看看WGS数据(配对样本)

代码语言:javascript代码运行次数:0运行复制
WGSt <- readRDS(paste0("data-raw/P5931/WGS/raw_counts.rds"))
WGSn <- readRDS(paste0("data-raw/P5931/WGS/ref_counts.rds"))

一些基础文件

代码语言:javascript代码运行次数:0运行复制
# Size of each chromosome (hg19 and GRCh38 are provided.)
size <- read.table("sizes.cellranger-GRCh38-1.0.0.txt", stringsAsFactors = F)

# List of cyclegenes retrieved from the "CopyKAT"package ()
cyclegenes <- readRDS("cyclegenes.rds")

# bed file indicating gene positions (hg19 and GRCh38 are provided.)
bed <- read.table("hg38.genes.bed", sep='\t', header = T)

读取单细胞数据

代码语言:javascript代码运行次数:0运行复制
mtx <- readMM("matrix.mtx.gz")
barcodes <- read.table("barcodes.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
features <- read.table("features.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
celltype0 <- readRDS("celltype_all.rds")

使用匹配的WGS/WES数据分段基因组

代码语言:javascript代码运行次数:0运行复制
library(Clonalscope)
dir_path <- "/output/"
Obj_filtered <- Createobj_bulk(raw_counts=WGSt, # from matched DNA sequencing (bulk/single)
                            ref_counts=WGSn, # from matched DNA sequencing (bulk/single)
                            samplename= "Sample",
                            genome_assembly="GRCh38", dir_path=dir_path, size=size, assay='WGS')

Obj_filtered <- Segmentation_bulk(Obj_filtered=Obj_filtered,
                               plot_seg = TRUE, hmm_states = c(0.8, 1.1, 1.2))

在scRNA-seq数据中检测亚克隆

代码语言:javascript代码运行次数:0运行复制
celltype <- celltype0
celltype[which(!grepl('Epithelial', celltype[,2])),2] <- 'normal'

clustering_barcodes <- celltype[which(grepl("Epithelial",celltype[,2])),1]

Input_filtered <- FilterFeatures(mtx=mtx, barcodes=barcodes, features=features, cyclegenes=cyclegenes)

# Remove raw inputs
rm(mtx); rm(barcodes); rm(features)

Cov_obj <- RunCovCluster(mtx=Input_filtered$mtx, barcodes=Input_filtered$barcodes, 
                      features=Input_filtered$features, bed=bed, 
                      celltype0=celltype, var_pt=0.99, var_pt_ctrl=0.99, include='all',
                      alpha_source='all', ctrl_region=NULL, 
                      seg_table_filtered=Obj_filtered$seg_table, size=size,
                      dir_path=dir_path, breaks=50, prep_mode = 'intersect', est_cap = 2,
                      clust_mode='cna_only',clustering_barcodes=clustering_barcodes) 

可视化

代码语言:javascript代码运行次数:0运行复制
clustering <- Cov_obj$result_final$clustering
clustering2 <- Cov_obj$result_final$clustering2
result <- Cov_obj$result_final$result
table(result$Zest)
PlotClusters(df = Cov_obj$result_final$df_obj$df, celltype = celltype0, Assign_obj =result, mode = "genome",  fontsize = 7, lab_mode='annot')

甚至可以检测空间的恶性spot

生活很好,有你更好

思路分享

作者,Evil Genius

之前提到过,对于肿作者,Evil Genius

之前提到过,对于肿瘤来讲,绝大部分的诱发因素并不是CNV,而是突变,随着认识的越来越深入,单细胞检测CNV的准确性遭到了越来越多的质疑,基因组 + 单细胞数据联合检测CNV成了目前的最优解。

大家可以参考文章多组学更新---WES联合scRNA分析肿瘤CNV事件

举一个简单的例子,神经母细胞瘤,诱发因素包括MYCN扩增以及ALK和TP53突变,假设单细胞CNV检测非常准确,MYCN扩增可以检测到,但是具有ALK或者TP53突变的癌细胞,如何识别?那是不是在分析中,就会漏掉这些突变导致的癌细胞,从而导致分析的结果完全错误呢?

况且单细胞还是一种噪音极高的数据,检测CNV的准确性并没有很高。

所以借助多组学的力量是必须的。

WES/WGS分析CNV与突变信息,联合scRNA识别单细胞精度的恶性细胞。

首先第一步,利用配对的WES/WGS数据分析突变与CNV信息。

第二步,借助基因组 + 转录组的力量识别恶性细胞。

我们来实现一下

单细胞 + 基因组检测恶性细胞

先来看看WGS数据(配对样本)

代码语言:javascript代码运行次数:0运行复制
WGSt <- readRDS(paste0("data-raw/P5931/WGS/raw_counts.rds"))
WGSn <- readRDS(paste0("data-raw/P5931/WGS/ref_counts.rds"))

一些基础文件

代码语言:javascript代码运行次数:0运行复制
# Size of each chromosome (hg19 and GRCh38 are provided.)
size <- read.table("sizes.cellranger-GRCh38-1.0.0.txt", stringsAsFactors = F)

# List of cyclegenes retrieved from the "CopyKAT"package ()
cyclegenes <- readRDS("cyclegenes.rds")

# bed file indicating gene positions (hg19 and GRCh38 are provided.)
bed <- read.table("hg38.genes.bed", sep='\t', header = T)

读取单细胞数据

代码语言:javascript代码运行次数:0运行复制
mtx <- readMM("matrix.mtx.gz")
barcodes <- read.table("barcodes.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
features <- read.table("features.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
celltype0 <- readRDS("celltype_all.rds")

使用匹配的WGS/WES数据分段基因组

代码语言:javascript代码运行次数:0运行复制
library(Clonalscope)
dir_path <- "/output/"
Obj_filtered <- Createobj_bulk(raw_counts=WGSt, # from matched DNA sequencing (bulk/single)
                            ref_counts=WGSn, # from matched DNA sequencing (bulk/single)
                            samplename= "Sample",
                            genome_assembly="GRCh38", dir_path=dir_path, size=size, assay='WGS')

Obj_filtered <- Segmentation_bulk(Obj_filtered=Obj_filtered,
                               plot_seg = TRUE, hmm_states = c(0.8, 1.1, 1.2))

在scRNA-seq数据中检测亚克隆

代码语言:javascript代码运行次数:0运行复制
celltype <- celltype0
celltype[which(!grepl('Epithelial', celltype[,2])),2] <- 'normal'

clustering_barcodes <- celltype[which(grepl("Epithelial",celltype[,2])),1]

Input_filtered <- FilterFeatures(mtx=mtx, barcodes=barcodes, features=features, cyclegenes=cyclegenes)

# Remove raw inputs
rm(mtx); rm(barcodes); rm(features)

Cov_obj <- RunCovCluster(mtx=Input_filtered$mtx, barcodes=Input_filtered$barcodes, 
                      features=Input_filtered$features, bed=bed, 
                      celltype0=celltype, var_pt=0.99, var_pt_ctrl=0.99, include='all',
                      alpha_source='all', ctrl_region=NULL, 
                      seg_table_filtered=Obj_filtered$seg_table, size=size,
                      dir_path=dir_path, breaks=50, prep_mode = 'intersect', est_cap = 2,
                      clust_mode='cna_only',clustering_barcodes=clustering_barcodes)

可视化

代码语言:javascript代码运行次数:0运行复制
clustering <- Cov_obj$result_final$clustering
clustering2 <- Cov_obj$result_final$clustering2
result <- Cov_obj$result_final$result
table(result$Zest)
PlotClusters(df = Cov_obj$result_final$df_obj$df, celltype = celltype0, Assign_obj =result, mode = "genome",  fontsize = 7, lab_mode='annot')

甚至可以检测空间的恶性spot

生活很好,有你更好瘤来讲,绝大部分的诱发因素并不是CNV,而是突变,随着认识的越来越深入,单细胞检测CNV的准确性遭到了越来越多的质疑,基因组 + 单细胞数据联合检测CNV成了目前的最优解。

大家可以参考文章多组学更新---WES联合scRNA分析肿瘤CNV事件

举一个简单的例子,神经母细胞瘤,诱发因素包括MYCN扩增以及ALK和TP53突变,假设单细胞CNV检测非常准确,MYCN扩增可以检测到,但是具有ALK或者TP53突变的癌细胞,如何识别?那是不是在分析中,就会漏掉这些突变导致的癌细胞,从而导致分析的结果完全错误呢?

况且单细胞还是一种噪音极高的数据,检测CNV的准确性并没有很高。

所以借助多组学的力量是必须的。

WES/WGS分析CNV与突变信息,联合scRNA识别单细胞精度的恶性细胞。

首先第一步,利用配对的WES/WGS数据分析突变与CNV信息。

第二步,借助基因组 + 转录组的力量识别恶性细胞。

我们来实现一下

单细胞 + 基因组检测恶性细胞

先来看看WGS数据(配对样本)

代码语言:javascript代码运行次数:0运行复制
WGSt <- readRDS(paste0("data-raw/P5931/WGS/raw_counts.rds"))
WGSn <- readRDS(paste0("data-raw/P5931/WGS/ref_counts.rds"))

一些基础文件

代码语言:javascript代码运行次数:0运行复制
# Size of each chromosome (hg19 and GRCh38 are provided.)
size <- read.table("sizes.cellranger-GRCh38-1.0.0.txt", stringsAsFactors = F)

# List of cyclegenes retrieved from the "CopyKAT"package ()
cyclegenes <- readRDS("cyclegenes.rds")

# bed file indicating gene positions (hg19 and GRCh38 are provided.)
bed <- read.table("hg38.genes.bed", sep='\t', header = T)

读取单细胞数据

代码语言:javascript代码运行次数:0运行复制
mtx <- readMM("matrix.mtx.gz")
barcodes <- read.table("barcodes.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
features <- read.table("features.tsv.gz", stringsAsFactors = F, sep='\t', header=F)
celltype0 <- readRDS("celltype_all.rds")

使用匹配的WGS/WES数据分段基因组

代码语言:javascript代码运行次数:0运行复制
library(Clonalscope)
dir_path <- "/output/"
Obj_filtered <- Createobj_bulk(raw_counts=WGSt, # from matched DNA sequencing (bulk/single)
                            ref_counts=WGSn, # from matched DNA sequencing (bulk/single)
                            samplename= "Sample",
                            genome_assembly="GRCh38", dir_path=dir_path, size=size, assay='WGS')

Obj_filtered <- Segmentation_bulk(Obj_filtered=Obj_filtered,
                               plot_seg = TRUE, hmm_states = c(0.8, 1.1, 1.2))

在scRNA-seq数据中检测亚克隆

代码语言:javascript代码运行次数:0运行复制
celltype <- celltype0
celltype[which(!grepl('Epithelial', celltype[,2])),2] <- 'normal'

clustering_barcodes <- celltype[which(grepl("Epithelial",celltype[,2])),1]

Input_filtered <- FilterFeatures(mtx=mtx, barcodes=barcodes, features=features, cyclegenes=cyclegenes)

# Remove raw inputs
rm(mtx); rm(barcodes); rm(features)

Cov_obj <- RunCovCluster(mtx=Input_filtered$mtx, barcodes=Input_filtered$barcodes, 
                      features=Input_filtered$features, bed=bed, 
                      celltype0=celltype, var_pt=0.99, var_pt_ctrl=0.99, include='all',
                      alpha_source='all', ctrl_region=NULL, 
                      seg_table_filtered=Obj_filtered$seg_table, size=size,
                      dir_path=dir_path, breaks=50, prep_mode = 'intersect', est_cap = 2,
                      clust_mode='cna_only',clustering_barcodes=clustering_barcodes) 

可视化

代码语言:javascript代码运行次数:0运行复制
clustering <- Cov_obj$result_final$clustering
clustering2 <- Cov_obj$result_final$clustering2
result <- Cov_obj$result_final$result
table(result$Zest)
PlotClusters(df = Cov_obj$result_final$df_obj$df, celltype = celltype0, Assign_obj =result, mode = "genome",  fontsize = 7, lab_mode='annot')

甚至可以检测空间的恶性spot

生活很好,有你更好

本文标签: 思路分享