ai 裸舞 R 实操!TCGA数据清洗和互异分析

发布日期:2024-11-02 10:47    点击次数:114

ai 裸舞 R 实操!TCGA数据清洗和互异分析

单细胞 GEO TCGA考据 实验考据是现在生信的新趋势。咱们投降,跟着单细胞测序的提高,生信分析和数据挖掘在科研中上演越来越进攻的扮装。因此,R 谈话如故成为每个科研东谈主的必备手段。在掌执 R 惩处GEO芯片数据后,咱们以TCGA的数据为例,共享怎样用 R 惩处二代测序数据。

图片ai 裸舞

关于生信论文ai 裸舞,大趋势是临床样本测序 生信考据 实验考据,因为高分论文皆是这样作念的。二代测序如故特别提高!TCGA数据库中存放了多样肿瘤临床标本的多组学数据,样本信息也特别全面,是肿瘤议论极为进攻的资源!只是是掌执在线器用如故无法得志个性化分析需求。因此,咱们应该掌执数据下载、惩处和可视化的表情。

图片

不良少妇TCGAbiolinks是官方唯独保举的专用下载及分析可视化一体的 R 包。TCGAbiolinks不错下载沿路的TCGA数据(除了受截止的)。除了老例的转录组数据,还包括甲基化数据、SNP数据、突变数据、临床信息等数据;还能进行数据分析,举例互异分析、生活分析、聚类分析等。此外,TCGAbiolinks还具有弘大的绘制功能,可绘制突变瀑布图等。

图片

领先环境准备,获取数据,清洗数据。##########--------TCGA实操教程---------############## 加载 R 包,准备环境## install.packages('BiocManager')## BiocManager::install(c('SummarizedExperiment','TCGAbiolinks'))library(SummarizedExperiment)library(TCGAbiolinks)#### 获取数据query.exp <- GDCquery( project = 'TCGA-LUAD', data.category = 'Transcriptome Profiling', data.type = 'Gene Expression Quantification', workflow.type = 'STAR - Counts', sample.type = c('Primary Tumor','Solid Tissue Normal'))GDCdownload( query = query.exp, files.per.chunk = 100)luad.exp <- GDCprepare( query = query.exp, save = TRUE, save.filename = 'luadExp.rda')# 获取亚型信息infomation.subtype <- TCGAquery_subtype(tumor = 'LUAD')# 获取临床信息information.clinical <- GDCquery_clinic(project = 'TCGA-LUAD', type = 'clinical') # 肿瘤样本samples.primary.tumour <- luad.exp$barcode[luad.exp$shortLetterCode == 'TP']# 对照样本samples.solid.tissue.normal <- luad.exp$barcode[luad.exp$shortLetterCode == 'NT']然后,互异分析,富集分析。
##########--------互异分析---------##########dataPrep <- TCGAanalyze_Preprocessing(  object = luad.exp,   cor.cut = 0.6)                      # BiocManager::install(c('EDAseq','DESeq2'))dataNorm <- TCGAanalyze_Normalization(  tabDF = dataPrep,  geneInfo = geneInfoHT,  method = 'gcContent')                dataFilt <- TCGAanalyze_Filtering(  tabDF = dataNorm,  method = 'quantile',   qnt.cut =  0.25)   # BiocManager::install('edgeR')dataDEGs <- TCGAanalyze_DEA(  mat1 = dataFilt[,samples.solid.tissue.normal],  mat2 = dataFilt[,samples.primary.tumour],  Cond1type = 'Normal',  Cond2type = 'Tumor',  fdr.cut = 0.01 ,  logFC.cut = 2,  method = 'glmLRT',  pipeline = 'edgeR')  
数据可视化,绘制火山图##########--------TCGA数据可视化--------########### 加载包library(tidyverse)library(ggplot2)matrix <- dataDEGs[dataDEGs$gene_type =='protein_coding',]#### 用aggregate包,取最大值(横蛮保举)matrix <- aggregate( . ~ gene_name,data = matrix, max) rownames(matrix) <- matrix$gene_namecolnames(matrix) <- c('Symbol', 'logFC','logCPM','LR','Pvalue','adj.P.Val','genetype')str(matrix) ## 字符型向量,无法进交运算allDiff <- as.data.frame(lapply(matrix[,c(2:6)],as.numeric))rownames(allDiff) <- rownames(matrix)### 火山图xMax <- max(-log10(allDiff$adj.P.Val)) yMax <- max(abs(allDiff$logFC))library(ggplot2) ##可视化的关节包allDiff$change <- ifelse(allDiff$adj.P.Val < 0.05 & abs(allDiff$logFC) > 1, ifelse(allDiff$logFC > 1,'UP','DOWN'), 'NOT')table(allDiff$change)p1 <- ggplot(data = allDiff, aes(x = -log10(adj.P.Val), y = logFC, color = change)) geom_point(alpha=0.8, size = 1) theme_bw(base_size = 15) theme(plot.title = element_text(hjust=0.5), # 标题居中 panel.grid.minor = element_blank(), panel.grid.major = element_blank()) # 网格线征战为空缺 geom_hline(yintercept = 0 ,linetype = 2 ) scale_color_manual(name = '', values = c('red', 'blue', 'black'), limits = c('UP', 'DOWN', 'NOT')) xlim(0,xMax) ylim(-yMax,yMax) labs(title = 'Volcano', x = '-Log10(adj.P.Val)', y = 'LogFC')p1### 好意思化火山图##数据整理和条目征战data0 <- allDiffdata1 <- data0 %>% rownames_to_column('Genes') #行名转为Genes为列名的一列data2 <- data1 %>% mutate(regulate = case_when(logFC >= 1 & adj.P.Val <= 0.05 ~ 'up', logFC <= -1 & adj.P.Val <= 0.05 ~ 'down', TRUE ~ 'NS')) ## 使用ggplot2包绘制火山图# 基本绘制library(ggplot2)ggplot(data2,aes(logFC,-log10(adj.P.Val))) geom_point() labs(x=expression(Log[2]*' Fold Change'), y=expression(-Log[10]*' (p value)')) #修改坐标轴定名细节# 好意思化绘制ggplot(data2,aes(logFC,-log10(adj.P.Val), #分裂给正负显耀变化的基因在图中把柄热沈、大小标注出来 color=factor(regulate), size=factor(regulate))) geom_point() labs(x=expression(Log[2]*' Fold Change'), y=expression(-Log[10]*' (p value)')) theme_grey(base_size = 15) scale_color_manual(values = c('blue','grey','red')) scale_size_manual(values = c(2,1,2)) theme(legend.title = element_blank(), #图例的征战参数 legend.position = 'right', #标签位置为right legend.background = element_rect(fill='transparent'))通过上述代码,咱们就不错获取清洁数据和互异基因,进行后续分析了。 本站仅提供存储干事,扫数试验均由用户发布,如发现存害或侵权试验,请点击举报。