常见生信分析

转:https://mp.weixin.qq.com/s/fe9aZsgb-2U_s9Nvm4ImkA

内容概览

文章主要分为以下几个部分:

  1. TCGA数据挖掘
  2. GEO数据库挖掘
  3. 单细胞全流程数据分析
  4. 空间转录组分析
  5. 多组学整合分析
  6. 影像组学分析
  7. 医学临床数据库介绍
  8. 孟德尔随机化分析

1. TCGA数据挖掘

常见挖掘方向
  • 基因表达差异分析(RNA-seq)
    • 目标:筛选癌症与正常组织间表达显著差异的基因(DEGs)。
    • 工具edgeRDESeq2limma
  • 突变分析(SNV、CNV)
    • 目标:找出高频突变基因或关键驱动基因。
    • 工具maftools(R包)
  • DNA甲基化分析
    • 目标:挖掘异常甲基化调控机制。
    • 工具ChAMPminfi
  • 生存分析
    • 目标:找出生存相关基因或临床指标。
    • 工具survivalsurvminer
  • 免疫浸润分析
    • 目标:评估肿瘤微环境中免疫细胞种类与丰度。
    • 工具CIBERSORTxCellTIMER
  • 临床特征相关性分析
    • 目标:评估基因表达/突变与TNM分期、分级等临床指标的关系。
  • ceRNA网络构建
    • 目标:挖掘lncRNA-miRNA-mRNA调控轴。
TCGA数据获取方式
  • 通过R包自动获取
    • 工具TCGAbiolinks
    • 示例代码
      library(TCGAbiolinks)
      query <- GDCquery(project = "TCGA-BRCA",
                         data.category = "Transcriptome Profiling",
                         data.type = "Gene Expression Quantification",
                         workflow.type = "HTSeq - Counts")
      GDCdownload(query)
      data <- GDCprepare(query)
      
  • 通过UCSC Xena浏览器下载
    • 网站:UCSC Xena
    • 特点:提供统一格式的表达矩阵、突变、临床数据等。
  • 通过GDC Portal
    • 官网:GDC Portal
    • 特点:可下载原始测序数据(需认证)或标准化数据。
常用R包/工具推荐
  • 数据下载TCGAbiolinks
  • 差异分析DESeq2edgeR
  • 生存分析survivalsurvminer
  • 突变分析maftools
  • 免疫分析CIBERSORTTIMER
  • 富集分析clusterProfilerenrichplot
  • 网络构建WGCNAmiRcodeStarBase
常见分析流程举例(RNA-seq + 生存)
  1. 下载表达数据(TCGAbiolinks
  2. 标注癌症组与正常组
  3. 差异表达分析(DESeq2
  4. 提取高低表达样本,分组
  5. 使用survival包做KM生存分析,评估其对预后影响
  6. 使用clusterProfiler进行富集分析
  7. 可选构建调控网络或免疫细胞关联分析
示例数据结构(来自TCGA-BRCA)
  • 表达矩阵countsTPM,行为基因,列为样本
  • 临床数据:包含agegenderstagedays_to_death
  • 突变数据MAF格式
  • 甲基化数据:beta值矩阵

2. GEO数据库挖掘

挖掘目标分类
  • 诊断模型:鉴别肿瘤与正常、病人与健康、疾病亚型
  • 预后模型:预测生存时间、复发、死亡(通常结合临床信息)
  • 分型研究:基于表达谱对患者亚型分类
  • 标志物筛选:找出差异表达/关键调控基因用于疾病解释
数据获取方式
  • 通过R语言获取
    • 工具GEOquery
    • 示例代码
      library(GEOquery)
      gse <- getGEO("GSEXXXXXX", GSEMatrix = TRUE)
      exprSet <- exprs(gse[[1]])
      phenoData <- pData(gse[[1]])
      
  • 通过GEO网站下载
    • 网站:GEO
常规流程(以表达谱为例)
  1. 数据预处理
    • 表达矩阵标准化(如log2转换、去除空值)
    • 样本信息整理(分组信息,如tumor vs normal)
    • 示例代码:
      exprSet <- log2(exprSet + 1)
      exprSet <- na.omit(exprSet)
      
  2. 差异表达分析(诊断/特征基因候选)
    • 示例代码:
      library(limma)
      group <- factor(c(rep("Normal", X), rep("Tumor", Y)))
      design <- model.matrix(~0 + group)
      colnames(design) <- levels(group)
      fit <- lmFit(exprSet, design)
      contrast.matrix <- makeContrasts(Tumor-Normal, levels=design)
      fit2 <- eBayes(contrasts.fit(fit, contrast.matrix))
      deg <- topTable(fit2, adjust="fdr", number=Inf)
      
  3. 功能富集分析(诊断/预后相关通路)
    • 示例代码:
      library(clusterProfiler)
      library(org.Hs.eg.db)
      gene_list <- deg$logFC
      names(gene_list) <- deg$ENTREZID
      ggo <- enrichGO(gene = names(gene_list),
                      OrgDb = org.Hs.eg.db,
                      ont = "BP",
                      pAdjustMethod = "BH",
                      pvalueCutoff = 0.05)
      
  4. 诊断模型构建(例如ROC分析)
    • 示例代码:
      library(pROC)
      roc_obj <- roc(group, exprSet["GENE_SYMBOL", ])
      plot(roc_obj)
      auc(roc_obj)
      
    • 多个基因可用logistic regression建模:
      model <- glm(group ~ GENE1 + GENE2 + GENE3, family = binomial(), data = df)
      
  5. 预后模型构建(如Cox模型)
    • 示例代码:
      library(survival)
      library(survminer)
      cox_model <- coxph(Surv(OS_time, OS_status) ~ GENE1 + GENE2, data = df)
      summary(cox_model)
      fit <- survfit(Surv(OS_time, OS_status) ~ riskGroup, data = df)
      ggsurvplot(fit, data = df)
      
LASSO用于诊断/预后基因筛选
  • 示例代码:
    library(glmnet)
    x <- as.matrix(df[, gene_cols])
    y <- Surv(df$OS_time, df$OS_status)  # 或 binary 分组
    fit <- cv.glmnet(x, y, family="cox", alpha=1)
    coef <- coef(fit, s="lambda.min")
    selected_genes <- rownames(coef)[which(coef != 0)]
    
可视化工具建议
  • 热图pheatmapComplexHeatmap
  • PCA/聚类factoextraggfortify
  • 富集分析图enrichplot
  • KM生存曲线survminer
  • ROC曲线pROCtimeROC
常见公开工具平台(辅助GEO挖掘)
  • GEO2R:GEO官方在线差异分析
  • UALCAN:TCGA表达/临床分析平台
  • TIMER:免疫细胞浸润分析
  • GEPIA2:TCGA/GTE表达、生存分析
  • Kaplan-Meier Plotter:生存分析(GEO+TCGA数据)

3. 单细胞全流程数据分析

单细胞RNA-seq全流程分析步骤概览
  1. 数据读取与预处理
    • 工具SeuratMatrix
  2. 质控过滤
    • 指标:Mito%、nFeature、nCount
  3. 归一化、寻找高变基因
    • 工具NormalizeDataFindVariableFeatures
  4. PCA降维
    • 工具RunPCA
  5. 聚类
    • 工具FindNeighborsFindClusters
  6. tSNE/UMAP可视化
    • 工具RunUMAPRunTSNE
  7. marker基因识别
    • 工具FindAllMarkers
  8. 细胞注释(自动/手动)
    • 工具SingleRCellMarker
  9. 差异分析 & 富集分析
    • 工具DESeq2clusterProfiler
  10. 发育轨迹分析(伪时序)
    • 工具Monocle3Slingshot
  11. 多样本整合/去批次效应
    • 工具HarmonySeurat::IntegrateData

4. 空间转录组分析

空间转录组分析全流程概览
  1. 数据读取(10x/GEO/自定义)
    • 工具SeuratSTutilitySpatialExperiment
  2. 空间可视化与质控
    • 工具SpatialFeaturePlotSpatialDimPlot
  3. 标准化与变异基因检测
    • 工具SCTransformFindVariableFeatures
  4. 空间聚类分析
    • 工具FindClustersRunPCARunUMAP
  5. Marker基因识别
    • 工具FindAllMarkersSpatialFeaturePlot
  6. 富集分析(GO/KEGG)
    • 工具clusterProfiler
  7. 空间注释(与单细胞整合)
    • 工具Seurat anchor-based integration
  8. 高级:空间邻域/通信/拟时序
    • 工具GiottoCellChatMonocle3
进阶分析方向
  • 空间邻域分析GiottoSquidpy (Python)
  • 空间细胞通讯CellChatNicheNet
  • 空间轨迹(拟时序)Monocle3PAGA
  • 空间多样本整合SeuratHarmonyScanorama
  • 空间免疫微环境评估SPOTlightCIBERSORTx

5. 多组学整合分析

多组学整合分析全流程
  1. 数据预处理
    • 目的:批量读取、标准化、过滤
    • 工具limmaedgeRMSstatsMetaboAnalystR
  2. 差异分析
    • 目的:分别找出转录、蛋白、代谢的差异分子
    • 工具DESeq2limmaMSstatsMetaboAnalystR
  3. 功能注释
    • 目的:富集GO/KEGG通路
    • 工具clusterProfilerReactomePA
  4. 多组学整合
    • 目的:寻找协同变化模式、通路共同激活等
    • 工具mixOmicsDIABLOMOFAiClusterPlus
  5. 可视化
    • 目的:联合通路图、circos图、热图、网络图
    • 工具ggplot2ComplexHeatmapigraphcirclize
数据格式建议
  • 转录组:gene × sample表,已归一化
  • 蛋白组:proteinID × sample,LFQ/intensity
  • 代谢组:metabolite × sample,peak area或浓度
可视化建议
  • Circos图circlize,用于不同组学重要分子的关联
  • 热图ComplexHeatmap,用于蛋白/代谢/基因表达模式
  • PCA/PLSDAmixOmicsggplot2,用于多组学区分样本分组
  • 共表达网络图igraphggraph,用于识别协同分子模块

6. 影像组学分析

影像组学完整流程
  1. 数据准备
    • 内容:影像数据(DICOM、NIfTI)与ROI标注
    • 工具3D SlicerITK-SNAPRadiAnt
  2. 图像预处理
    • 内容:重采样、归一化、配准
    • 工具SimpleITKPyRadiomics
  3. 特征提取
    • 内容:形状、纹理、强度等上千特征
    • 工具PyRadiomics
  4. 特征选择
    • 内容:相关性过滤、LASSO、mRMR等
    • 工具sklearnstatsmodels
  5. 建模预测
    • 内容:分类/回归/生存模型
    • 工具sklearnlifelinesxgboost
  6. 验证评估
    • 内容:AUC、C-index、交叉验证
    • 工具sklearnmatplotlibpROC
文件准备建议
  • CT/MRI/PET图像(DICOM/NIfTI)
  • 分割标注(Segmentation,.nii或RTSTRUCT)
  • 患者临床数据(CSV),包括ID、诊断分组、生存信息等
可视化建议
  • ROC曲线matplotlibsklearn
  • KM曲线lifelinessurvminer
  • 特征热图seaborn.heatmap
  • 放射组学流程图graphvizppt
主流工具生态
  • PyRadiomics:提取影像特征(Python)
  • 3D Slicer:图像查看与分割
  • ITK-SNAP:半自动分割工具
  • SimpleITK:图像预处理(重采样/归一化)
  • Radiomics.io:云端分析平台
  • MaZda:早期Windows平台,提取影像特征

7. 医学临床数据库

常见医学临床数据库分类
  • 癌症相关数据库:TCGA、ICGC、GDC
    • 内容:基因、表型、临床信息
    • 应用方向:肿瘤诊断/预后/免疫分析
  • 普通疾病数据库:GEO、ArrayExpress
    • 内容:转录组等芯片/测序数据
    • 应用方向:多种疾病(肿瘤/心血管/神经)
  • 生存信息数据库:SEER、cBioPortal、OncoLnc
    • 内容:随访数据、生存分析
    • 应用方向:预后模型构建、生存分析
  • 临床影像数据库:TCIA、BraTS
    • 内容:影像(CT/MRI)+临床
    • 应用方向:影像组学分析
  • 蛋白/代谢组数据库:CPTAC、HMDB、PRIDE
    • 内容:蛋白质、代谢组信息
    • 应用方向:多组学整合
  • 临床试验数据库:ClinicalTrials.gov、ChiCTR
    • 内容:试验注册与结果
    • 应用方向:药物研究、机制挖掘
  • 中医药数据库:ETCM、TCMSP
    • 内容:中药成分、靶点、临床效应
    • 应用方向:中药机制、组学对接
重点数据库简要介绍
  1. TCGA(The Cancer Genome Atlas)
    • 涵盖:33种癌症的基因组、临床、生存等数据
    • 官网:TCGA
    • 使用方式:下载RNA-seq、mutation、clinical、survival数据,适合生存分析、免疫分析、建模等
  2. GEO(Gene Expression Omnibus)
    • 涵盖:多种疾病的转录组芯片/RNA-seq数据
    • 官网:GEO
    • 数据形式:系列矩阵 + 临床表型 + 平台注释
    • 适用分析:差异表达、聚类、诊断模型构建
  3. SEER(Surveillance, Epidemiology, and End Results)
    • 内容:美国大型肿瘤登记数据库,提供生存、发病率、治疗方式
    • 官网:SEER
    • 应用方向:长期随访、生存模型、流行病研究
  4. cBioPortal
    • 内容:多种肿瘤的基因突变 + 临床数据,适合网络探索
    • 官网:cBioPortal
    • 优势:支持可视化探索、基因突变和生存分析结合
  5. TCIA(The Cancer Imaging Archive)
    • 内容:CT、MRI、PET等原始影像 + 临床/生物数据
    • 官网:TCIA
    • 应用方向:影像组学分析、人工智能建模
临床数据库使用建议
  • 建立诊断/预后模型:GEO, TCGA, SEER
    • 分析方式:LASSO、Cox、机器学习
  • 生存分析:TCGA, OncoLnc, SEER
    • 分析方式:KM、Cox、多因素分析
  • 多组学整合:TCGA + CPTAC
    • 分析方式:表观 + 表达 + 蛋白组
  • 影像+组学:TCIA + TCGA
    • 分析方式:影像组学、Radiogenomics
  • 中医药机制:TCMSP + GEO
    • 分析方式:分子对接、功能富集
常用数据分析语言与工具
  • 脚本语言:R / Python
    • 用途:差异分析、生存建模
  • 数据整合:TCGAbiolinks、GEOquery、xenaPython
    • 用途:快速获取和预处理
  • 临床统计:survival、survminer(R)
    • 用途:KM、Cox
  • 可视化:ggplot2、matplotlib、heatmap
    • 用途:结果图表化

8. 孟德尔随机化分析

孟德尔随机化的基本原理
  • 关联性:工具变量(SNP)与暴露变量显著相关
  • 独立性:SNP与混杂因素无关
  • 排他性:SNP仅通过暴露变量影响结果,不存在其他路径(即无水平多重效应)
常见应用场景
  • 环境暴露因果推断:例如,抽烟是否导致肺癌?
  • 营养代谢研究:例如,血清维生素D是否与糖尿病风险相关?
  • 医疗干预靶点评估:例如,LDL水平与冠心病的因果关系
  • 多组学因果链条:例如,DNA甲基化 → 基因表达 → 疾病
常用数据来源
  1. GWAS Summary Statistics
    • 来源:暴露与结果变量均来自大规模GWAS(基因组关联分析)
    • 公共资源:GWAS Catalog、IEU OpenGWAS Project、MR-Base
  2. 暴露变量(exposure)
    • 示例:BMI、HDL、LDL、CRP、糖尿病风险评分等
  3. 结果变量(outcome)
    • 示例:各种疾病(心脑血管、肿瘤、神经、免疫等)
常用分析方法(R包)
  • IVW(加权平均法)
    • 工具TwoSampleMR
    • 适用情况:默认方法,适用于无多重效应
  • MR-Egger回归
    • 工具TwoSampleMR
    • 适用情况:检测和校正水平多重效应
  • 加权中位数法
    • 工具TwoSampleMR
    • 适用情况:适用于部分无效工具变量
  • MR-PRESSO
    • 工具MRPRESSO
    • 适用情况:检测/去除异常SNP(异质性)
  • GSMR
    • 工具GSMR(GCTA工具)
    • 适用情况:处理LD并检测因果关系

9. 药物靶点孟德尔随机化分析

药物靶点MR的核心逻辑
  • 定义:以遗传变异(如影响某蛋白表达或活性的SNP)为工具变量,推断该蛋白或其编码基因表达与某疾病的因果关系
  • 应用价值
    • 筛选高可信度的新靶点
    • 预测药物副作用
    • 判断既有靶点是否值得继续开发
    • 避免失败的临床试验投入
分析框架图解
  • 示例
    SNP(工具变量)
        ↓
    影响蛋白表达(或基因表达)
        ↓
    疾病结局
    
    例如:某SNP导致PCSK9蛋白表达减少,同时该SNP与冠心病风险下降相关 → 支持PCSK9是降低冠心病风险的潜在药物靶点。
常用数据来源
  • 蛋白水平GWAS(pQTL)
    • 来源:如血浆蛋白水平
    • 推荐数据库:SCALLOP、Sun et al. 2018
  • 基因表达GWAS(eQTL)
    • 来源:组织特异表达
    • 推荐数据库:GTEx、eQTLGen
  • 疾病GWAS
    • 来源:常见疾病/表型
    • 推荐数据库:GWAS Catalog、IEU OpenGWAS

总结

本文提供了生物信息学入门分析的详细教程,涵盖了从基础的TCGA和GEO数据挖掘,到单细胞RNA-seq、空间转录组、多组学整合、影像组学,以及孟德尔随机化分析等多个方面。每个部分都详细介绍了分析流程、常用工具和示例代码,非常适合生物信息学初学者和研究人员参考学习。

你可能感兴趣的:(生信基础知识,数据库,oracle)