Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

正常组织与癌旁组织可以一视同仁吗? #6194

Closed
ixxmu opened this issue Dec 18, 2024 · 1 comment
Closed

正常组织与癌旁组织可以一视同仁吗? #6194

ixxmu opened this issue Dec 18, 2024 · 1 comment

Comments

@ixxmu
Copy link
Owner

ixxmu commented Dec 18, 2024

https://mp.weixin.qq.com/s/gppvOcgaeLddAYfpvmx7lQ

@ixxmu
Copy link
Owner Author

ixxmu commented Dec 18, 2024

正常组织与癌旁组织可以一视同仁吗? by 生信技能树

书接上回,上一个被老板火眼金睛挑出来的数据集,详见:《2万个基因少一半也不影响最后的差异分析富集结果啊?

这次来看看 数据集:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE161533,共有84个 ESCC 样本:

吭哧吭哧一顿做完后,老板一看结果,有一半的case混入control,这肯定不对。老板解释道:癌症样本与癌旁样本肯定是可以分开的,你再回去看看。

前面的分析结果如下:

回去后我就自己看了下我的分组,原来是因为样本中有三种组织类型,我只是将样本分成了两个组别:Normal一组,剩余的都是肿瘤组

gse_number <- "GSE161533"
dir.create(gse_number)
setwd(gse_number)
getwd()
list.files() 

#gset <- geoChina(gse_number)
gset <- getGEO(gse_number, destdir = '.', getGPL = T)
gset[[1]]
a <- gset[[1]]

## 挑选一些感兴趣的临床表型。
pd <- pData(a)
colnames(pd)
pd$title
pd$characteristics_ch1
table(pd$characteristics_ch1)

## ~~~分组信息编号需修改~~~
#group_list <- ifelse(grepl('Normal',pd$title ,ignore.case = T ), "control","case")
group_list <- ifelse(grepl('Normal',pd$title ,ignore.case = T ), "control","case")
group_list <- factor(group_list, levels = c("control","case"))
table(group_list)

而数据中的分组为三分组:

In total, there were 84 paired normal tissues, paratumor tissues, and tumor tissues from 28 ESCC patients were chosen to perform microarray analysis

三个组别,kimi解读:

这句话描述的是在一个研究中,研究者从28位食管鳞状细胞癌(ESCC)患者那里收集了总共84对组织样本,这些样本包括正常组织、癌旁组织和肿瘤组织。这些样本被用来进行微阵列分析,这是一种基因表达分析技术。下面是这三个组织类型的简要区别:

  1. 正常组织(Normal Tissues)

  • 指的是没有癌症的健康组织。这些组织样本通常用来作为对照组,以比较和识别在癌症发生过程中基因表达的变化。
  • 在食管鳞状细胞癌(ESCC)的研究中,正常组织可能是食管的非癌化部分,或者是远离肿瘤区域的健康食管组织。
  • 癌旁组织(Para-tumoral Tissues)

    • 癌旁组织是指紧挨着肿瘤的组织,但本身不是肿瘤的一部分。这些组织可能受到肿瘤微环境的影响,例如炎症、血管生成等。
    • 在ESCC中,癌旁组织可能是食管组织,它们与肿瘤组织相邻,但尚未被癌细胞侵袭。
  • 肿瘤组织(Tumor Tissues)

    • 肿瘤组织是指已经发生癌变的组织,包含癌细胞。
    • 在食管鳞状细胞癌(ESCC)中,肿瘤组织是食管中已经癌变的部分,这些组织样本包含了食管鳞状细胞癌的癌细胞。

    通过比较这三种不同类型的组织样本,研究者可以识别出哪些基因在癌症发展过程中发生了变化,这对于理解癌症的分子机制、发现新的生物标志物以及开发治疗策略都是非常重要的。微阵列分析可以提供关于成千上万个基因表达水平的数据,帮助研究者发现在正常、癌旁和肿瘤组织中表达差异的基因。


    这样就可以解释通了。

    这里你可以看到 癌旁组织与正常健康对照组完全分在了一起,那么:实际中我们能 将 癌旁组织与正常健康对照 都看做正常样本吗?

    接下来简单看一下 两次差异,癌症和癌旁,癌症和正常,对比结果:

    首先是 癌症和癌旁 差异分析:

    source('../scripts/run_DEG.R')
    kp <- group_list %in% c('tumor','paratumor');table(kp)
    group_list1 <- group_list[kp]
    group_list1 <- factor(group_list1, levels = c('paratumor','tumor'))
    group_list1
    dat1 <- dat[,kp]
    dim(dat1)
    deg <- run_DEG(dat1, group_list1, target_gene=c('ESR1'),pro=gse_number,path='./DEG1')
    head(deg)
    table(deg$g)

    差异结果如下:

    癌症和癌旁 差异分析

    然后是 癌症和正常 差异分析:

    source('../scripts/run_DEG.R')
    group_list
    kp <- group_list %in% c('tumor','normal');table(kp)
    group_list1 <- group_list[kp]
    group_list1 <- factor(group_list1, levels = c('normal','tumor'))
    group_list1
    dat1 <- dat[,kp]
    dim(dat1)
    deg <- run_DEG(dat1, group_list1, target_gene=c('ESR1'),pro=gse_number,path='./DEG2')
    head(deg)
    table(deg$g)

    差异结果如下:

    癌症和正常 差异分析

    两次差异结果比较:

    library(data.table)
    deg1 = fread(file = './DEG1/DEG.csv',data.table = F)
    deg2 = fread(file = './DEG2/DEG.csv',data.table = F)

    colnames(deg1)
    colnames(deg2)
    head(deg1)
    head(deg2)

    rownames(deg1)=deg1$name 
    rownames(deg2)=deg2$name

    ids=intersect(rownames(deg1),
                  rownames(deg2))
    df= data.frame(
      deg1 = deg1[ids,'logFC'],
      deg2 = deg2[ids,'logFC']
    )
    rownames(df)=ids
    head(df)

    library(ggpubr)
    p=ggscatter(df, x = "deg1", y = "deg2",
                color = "black", shape = 21, size = 3, # Points color, shape and size
                add = "reg.line",  # Add regressin line
                add.params = list(color = "blue", fill = "lightgray"), # Customize reg. line
                conf.int = TRUE, # Add confidence interval
                cor.coef = TRUE, # Add correlation coefficient. see ?stat_cor
                cor.coeff.args = list(method = "pearson",  label.sep = "\n")

    p=p+geom_hline(yintercept = -1, linetype = "dashed", color = "blue") +
      geom_hline(yintercept = 0, linetype = "dotted", color = "red") +
      geom_hline(yintercept = 1, linetype = "longdash", color = "green") +
      geom_vline(xintercept = -1, linetype = "dashed", color = "blue") +
      geom_vline(xintercept = 0, linetype = "dotted", color = "red") +
      geom_vline(xintercept = 1, linetype = "longdash", color = "green")
    p
    ggsave('cor-of-two-logFC.pdf', width = 6, height = 5)

    这两次差异分析结果的每个基因的FC值相关性非常高:

    再看一下各自的上下调基因交集:

    df= data.frame(
      deg1 = deg1[ids,'g'],
      deg2 = deg2[ids,'g']
    )
    table(df)
    gplots::balloonplot(table(df))

    这两次差异分析结果是高度一致的,只不过因为阈值原因可能有一些显著变为不显著:

    居然正常组织与癌旁组织在差异分析时可以一视同仁?

    起初看到这个结果我是一脸懵逼的, 因为看起来这个数据集里面的肿瘤样品的表达量相当于癌旁或者正常这两个不同的分组做差异,居然两次独立的差异分析结果完美的重叠!也就是说,我们无论是取癌旁或者正常组织,作为肿瘤样品的对照都是ok的。

    但是我之前看到了加州大学旧金山分校的研究团队在2017的发表在《Nature Communications》期刊上的文章,标题是“Comprehensive analysis of normal adjacent to tumor transcriptomes”,提出来了一个不太一样的观点,因为研究者做了泛癌的研究,发现在每个癌症里面,通过t-SNE(t-distributed Stochastic Neighbor Embedding)技术展示了不同组织类型的转录组数据的降维结果。肿瘤旁边组织(即癌旁组织,Normal Adjacent to Tumor, NAT)在健康样本和肿瘤样本之间形成了一个独特的中间状态。

    学徒作业:

    到底是泾渭分明呢,还是混淆在一起呢, 这个癌旁组织和正常组织,它们肯定是与癌症样品完全不一样。但是癌旁组织和正常组织的差异到底有多大呢?这次需要大家去找到其它癌症的类似的数据集,需要里面同时包含了癌旁组织和正常组织以及肿瘤组织,无论是表达量芯片还是转录组测序,都可以。比如GSE44076这个数据集,就是paired normal adjacent mucosa and tumor samples from 98 individuals and 50 healthy colon mucosae

    因为是同一个数据集因为这样的话没有批次效应。(尤其需要注意两次独立的差异分析的相关性到底是多大?)


    @ixxmu ixxmu changed the title archive_request 正常组织与癌旁组织可以一视同仁吗? Dec 18, 2024
    @ixxmu ixxmu closed this as completed Dec 18, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant