TGCA数据的标准化以及差异分析

https://mp.weixin.qq.com/s?__biz=MzIyMzA2MTcwMg==&mid=2650733328&idx=1&sn=0756a9a60a1d13478d43b11aab78cb72&chksm=f029a8b9c75e21af023393f2a82204fb313fc991cbc96c31a735b513b9018569bba412dd7ea5&cur_album_id=1336402123646631937&scene=190#rd

前面我们从GDC下载了TCGA肿瘤数据库的数据,也能够把GDC下载的多个TCGA文件批量读入R

今天我们讲一下TCGA数据的标准化,以及差异分析,得到了标准化后的数据,我们就可以按照以前的帖子,做一系列操作

Y叔推荐的这个图有毒!

图有毒系列之2

多个基因在多亚组疾病中的展示

在得到了差异分析的结果后,我们可以完成热图,火山图,GO分析,KEGG分析,GSEA分析,就跟这个帖子中的一样。
来完成你的生信作业,这是最有诚意的GEO数据库教程

下面开始今天的教程:
首先加载上一次课获得的数据;

### 加载数据
load("expr_df.Rdata")
现在的数据是这个样子的

Image
处理前
去掉ensemble ID的点号

library(tidyr)
expr_df_nopoint <- expr_df %>% 
  tidyr::separate(gene_id,into = c("gene_id"),sep="\\.") 
现在的数据是这个样子的

Image
处理后
去掉点号,是为了用gtf文件。
gtf文件的获取和作用在这里
GTF文件有什么用啊?别的不谈,最起码能提lncRNA

加载gtf文件,这是目前我们能接触的最大文件,有260万行。

load(file = "gtf_df.Rda")
提取mRNA
mRNA_exprSet <- gtf_df %>% 
  dplyr::filter(type=="gene",gene_biotype=="protein_coding") %>% #筛选gene,和编码指标
  dplyr::select(c(gene_name,gene_id,gene_biotype)) %>% 
  dplyr::inner_join(expr_df_nopoint,by ="gene_id") %>% 
  tidyr::unite(gene_id,gene_name,gene_id,gene_biotype,sep = " | ")
最终得到19668行,这是编码基因的个数,现在的数据是这个样子的

Image
编码RNA
提取lncRNA
这里很有争议,而我的理由是,即使是编码基因,也会出现非编码转录本,而长链非编码RNA,指的是转录本,所以不能用gene的编码与否来界定

ncRNA <- c("sense_overlapping","lincRNA","3prime_overlapping_ncRNA",
           "processed_transcript","sense_intronic",
           "bidirectional_promoter_lncRNA","non_coding",
           "antisense_RNA")

LncRNA_exprSet <- gtf_df %>% 
  dplyr::filter(type=="transcript",transcript_biotype %in% ncRNA) %>% #注意这里是transcript_biotype
  dplyr::select(c(gene_name,gene_id,transcript_biotype)) %>% 
  dplyr::distinct() %>% #删除多余行
  dplyr::inner_join(expr_df_nopoint,by ="gene_id") %>% 
  tidyr::unite(gene_id,gene_name,gene_id,transcript_biotype,sep = " | ")
最终得到25530个非编码转录本,数据是这个样子的

Image
非编码RNA
数据标准化
标准化和差异分析都是用Deseq2这个包来完成,首先要构建dds对象,构建这个对象需要两个文件,第一是输入数据,我们已经有了,第二个是分组文件metadata,他至少由两列构成,一列是样本名称,一列是分组信息。

首先把样本名称变成数据框格式

metadata <- data.frame(TCGA_id =colnames(expr_df)[-1])
分组信息包含在TCAG_id的第14,15字符很有用,他指示了样本是癌症还是癌旁或者是转移 病灶

Image
官网解释如下,01-09是癌症,10-19是正常,20-29是癌旁

Tumor types range from 01 - 09, normal types from 10 - 19 and control samples from 20 - 29

TCGA barcode的详细信息如下:

Image
同时我们要注意,即使是肿瘤组织,01-09意义各不相同,比如,01代表原发灶,02代表转移灶,详细信息如下:

Image
我们用table这个函数统计一下脑胶质瘤GBM样本的分类

table(substring(metadata$TCGA_id,14,15))
Image
有154个是原发灶,有13个是转移灶,很奇怪是吧,没有癌旁。但是这个是能理解的,人的大脑正常组织是有用的,不同于肝脏这类奇怪多一块少一块无所谓,切取大脑正常组织是没有伦理的。实际上TCGA里面还有一部分肿瘤是没有癌旁的,比如,淋巴瘤。

这一部分没有正常对照的肿瘤如何进行差异分析呢,一种方法是,使用GTEx数据库中的正常组织,这个我们留一个坑,以后再讲。

但是,今天我们的活还是要做,我们就用复发和非复发来区分即可。

sample <- ifelse(substring(metadata$TCGA_id,14,15)=="01","cancer","recur")
## 这里的factor是为了dds的需要
metadata$sample <- as.factor(sample)
此时metadata是这个样子的

Image
构建dds的两个文件全部准备好,我们开始下一步

mRNA标准化
这一步是为了代码复用,把counts文件统一命名

mycounts <- mRNA_exprSet
构建dds对象,如果mycounts中的TCGA_id是行名,tidy这个参数设置为FASLE

dds <-DESeqDataSetFromMatrix(countData=mycounts, 
                             colData=metadata, 
                             design=~sample,
                             tidy=TRUE)
Deseq2分析,这里面有很多步骤都自己运行了,这一步十分耗时,取决于样本数以及电脑内存大小,我的16g内存电脑运行5分钟,而我的学员们有的人要运行20个小时。甚至,如果,你分析的是乳腺癌,1000多个样本,小电脑根本过不去,此时,你可以考虑升级一下装备。

dds <- DESeq(dds)
这个数据很重要,而且有些人获得也不容易,所以,需要保存一下,方便以后使用。

save(dds,file="mRNA_exprSet_dds_sample.Rdata")
vst标准化,这一步跟上一步一样,速度取决于样本量和电脑

vsd <- vst(dds, blind = FALSE)
为什么选择vst呢?看这个
转录组的高级分析前该如何标准化数据?
Deseq2标准化的原理是什么,youtube上的StatQuest小哥视频说的特别好,可以看看这个帖子
DESeq2的标准化方法

这时候,Deseq2还内置了主成分分析来看一下样本分布

plotPCA(vsd, "sample")
Image
从图上我们可以看出,原发灶和转移灶,并不能完美分开,生物学意义就是,转移灶不是新的类型的肿瘤,他实际上还是脑胶质瘤,后续可能发生的结果是,下游额差异分析接结果不好,可能的解决方法是,找出配对的原发灶和转移灶来分析。我们看结果来说话。

获取标准化后的数据,这一步还会自动过滤掉不符合规定的基因,这时候,数据明显被标准化了

mRNA_exprSet_vst <- as.data.frame(assay(vsd))
Image
标准化之后
保存一下这个数据,调整一下格式,就可以用于本文开头说的那一系列操作。

save(ncRNA_exprSet_vst,file = "ncRNA_exprSet_vst.Rda")
差异分析
这里用到前面保存的dds,使用results函数提取

res <- results(dds, tidy=TRUE) 
Image
我们看到这个数据,有foldchange值,有pvlaue,那么筛选差异基因,热图,火山图,GO,KEGG分析,GSEA分析就顺理成章啦。
参考这个帖子即可
来完成你的生信作业,这是最有诚意的GEO数据库教程

我们下周就把这个事情完成!

Note: 非编码的操作,一模一样,其中,counts数据我们已经提取好啦。
  • List item
    在这里插入图片描述
<think>好的,我现在需要帮助用户解决关于通信信号多源数据标准化处理的问题。首先,我得理解用户的需求。他们提到的是通信信号的多源数据,想要了解标准化处理的方法和技术。用户可能是在通信工程、信号处理或者相关领域工作,需要处理来自不同传感器的数据,这些数据可能有不同的格式、单位或结构,标准化是为了后续的数据融合或分析。 接下来,我需要回顾用户提供的引用内容,看看有没有相关的信息可以利用。引用1提到多源信息融合的三个层次:数据层、特征层和决策层,并讨论了数据关联和配准的重要性。引用3则讨论了制造业中的多源异构数据处理,特别是特征选择和特征提取的方法。这些都可能与用户的问题相关。 首先,通信信号的多源数据标准化可能涉及数据格式的统一、时间对齐、单位转换、噪声处理等步骤。标准化处理的目标是让不同来源的数据能够在同一基准下进行比较和融合,提高后续处理的准确性。 然后,我需要考虑具体的技术方法。例如,数据格式标准化可能需要解析不同协议的数据,转换为统一的格式。时间对齐可能需要时间戳校准或插值方法。量纲统一可能需要归一化或标准化方法,比如Z-score标准化。噪声处理可能涉及滤波技术,如卡尔曼滤波或小波去噪。此外,数据融合前的关联和配准也是关键步骤,可能需要特征匹配或空间配准技术。 同时,引用3提到的特征选择和特征提取方法可能适用于降维处理,减少数据冗余,这在处理高维通信信号数据时尤为重要。特征选择可以通过评估各特征的重要性来保留关键信息,而特征提取如主成分分析(PCA)可以将数据转换到低维空间。 用户可能还需要了解标准化处理的流程,比如预处理、特征处理、融合处理等步骤。此外,应用场景和挑战也是需要考虑的部分,比如实时性要求高或数据异构性强的环境下的处理策略。 最后,根据用户提供的引用,我需要确保在回答中适当引用这些内容,例如在讨论数据融合层次时引用[^1],在特征降维时引用[^3]。同时,生成的相关问题需要围绕用户可能进一步感兴趣的方面,如数据融合技术、实时处理挑战、机器学习应用等。 总结下来,回答的结构应该包括标准化处理的目标、关键技术(分点说明)、处理流程、应用场景与挑战,以及相关引用。确保使用正确的中文和LaTeX格式,例如独立公式用$$...$$,行内公式用$...$。</think>以下是对通信信号多源数据标准化处理的方法与技术解析: --- ### 一、标准化处理目标 通信信号多源数据标准化需实现以下目标: 1. **格式统一**:将不同协议、采样率、编码方式的数据转换为统一格式 2. **时空对齐**:消除时间戳差异和空间坐标系偏差 3. **量纲标准化**:通过归一化消除量纲差异,例如将信号强度统一为$dBm$单位 4. **特征一致性**:提取共性的信号特征(如调制方式$QAM/N$、频段$f_c$、带宽$B$等) --- ### 二、关键技术方法 #### 1. 数据预处理 - **格式标准化** 使用协议解析器(如ASN.1解码器)将二进制流转换为结构化数据,建立统一数据模板[^3] - **时间对齐** 采用插值法或动态时间规整(DTW)解决采样时间不同步问题: $$t_{sync} = \arg\min_t \sum_{i=1}^n |x_i(t) - y_i(t+\Delta t)|^2$$ - **噪声抑制** 结合多源数据的空间相关性,使用盲源分离(BSS)或自适应滤波技术: $$y(t) = \sum_{k=1}^K w_k(t)x_k(t)$$ #### 2. 特征级处理 - **信号参数归一化** 对特征参数进行Z-score标准化: $$z = \frac{x - \mu}{\sigma}$$ - **多维度特征融合** 通过主成分分析(PCA)实现特征降维: $$PCA: X \rightarrow Y = W^TX$$ #### 3. 融合前处理 - **数据关联** 采用匈牙利算法或联合概率数据关联(JPDA)进行跨源数据匹配 - **空间配准** 建立坐标系转换模型: $$ \begin{cases} x' = R(\theta)x + T \\ \theta = \arctan(\frac{\Delta y}{\Delta x}) \end{cases} $$ --- ### 三、典型处理流程 ```mermaid graph TD A[原始数据] --> B{格式转换} B --> C[时间对齐] C --> D[噪声抑制] D --> E{特征提取} E --> F[参数标准化] F --> G[多源关联] G --> H[融合存储] ``` --- ### 四、应用场景与挑战 1. **5G Massive MIMO系统**:需处理数百个天线单元的异构数据流 2. **卫星通信组网**:解决不同轨道卫星的时延差异(可达250ms) 3. **挑战**: - 实时性要求(如5G URLLC场景需<1ms处理延迟) - 异构数据兼容(模拟信号与数字信号的混合处理) : 多源信息融合需要根据数据匹配程度选择融合层级 : 特征提取是处理高维数据的有效降维手段 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信小博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值