• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    alphafold2培训

    alphafold2培训

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      alphafold2培训

      alphafold2培训

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      生信星球

      • 首页
      • 博客
      • 生信星球
      • TCGA甲基化芯片数据质控和过滤

      TCGA甲基化芯片数据质控和过滤

      • 发布者 weinfoeditor
      • 分类 生信星球
      • 日期 2020年5月2日
      测试开头

       今天是生信星球陪你的第613天


         大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

         就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

         这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

      在step1中,我们获得了TCGA中OSCC 的32个病人的T-N配对样本和对应的临床信息,并将其组成了一个名为my_Load的ChAMP对象。

      rm(list = ls())
      library(ChAMP)
      library(stringr)
      load('./Rdata/step1_myLoad.Rdata')
      myLoad$beta[1:4,1:4]
      #>            TCGA-CV-6959-01 TCGA-CV-6436-11 TCGA-CV-5966-11 TCGA-CV-6939-11
      #> cg00000029       0.2999564       0.2905091       0.3686591       0.3632641
      #> cg00000108       0.4633994       0.4575858       0.4726964       0.4645730
      #> cg00000109       0.4633994       0.4575858       0.4726964       0.4645730
      #> cg00000165       0.6190992       0.1511787       0.2370243       0.1444160
      myLoad$pd[1:4,1:4]
      #>           sampleID anatomic_neoplasm_subdivision      patient group_list
      #> 1: TCGA-CV-6959-01                   Oral Tongue TCGA-CV-6959      Tumor
      #> 2: TCGA-CV-6436-11                   Oral Tongue TCGA-CV-6436     Normal
      #> 3: TCGA-CV-5966-11                   Oral Cavity TCGA-CV-5966     Normal
      #> 4: TCGA-CV-6939-11                   Oral Tongue TCGA-CV-6939     Normal

      2.样本和探针过滤

      2.1 归一化

      做后续差异分析之前,需要对信号值矩阵进行归一化。这一步骤消耗计算资源较多,配置不够可能会跑很久或者会中断。

      norm_file = "./Rdata/step2_champ_myNorm.Rdata"
      if(!file.exists(norm_file)){
        myNorm <- champ.norm(beta=myLoad$beta,arraytype="450K",cores=8)
        save(myNorm,file = norm_file)
      }
      load(norm_file)

      # 归一化过程产生了缺失值,需要将有NA的样本和它们的配对样本一起删掉
      num.na <- apply(myNorm,2,function(x)(sum(is.na(x))))
      table(num.na)
      #> num.na
      #>      0 258616 260092 264579 
      #>     61      1      1      1
      names(num.na) = colnames(myNorm)
      dt = names(num.na[num.na>0])
      dn = str_replace(dt,"-01","-11")
      keep = setdiff(colnames(myNorm),c(dt,dn))
      myNorm = myNorm[,keep]
      pd = myLoad$pd
      pd = pd[pd$sampleID %in% keep,]
      identical(pd$sampleID,colnames(myNorm))
      #> [1] TRUE

      删除缺失值样本后,还剩58个(29对)样本。

      2.2 数据质控三张图

      # 主成分分析
      library(FactoMineR)
      library(factoextra) 
      dat <- t(myNorm)

      group_list=pd$group_list
      table(group_list)
      #> group_list
      #> Normal  Tumor 
      #>     29     29

      dat.pca <- PCA(dat, graph = FALSE) 
      fviz_pca_ind(dat.pca,
                   geom.ind = "point", 
                   col.ind = group_list, 
                   addEllipses = TRUE, 
                   legend.title = "Groups")
      TCGA甲基化芯片数据质控和过滤
      # 热图
      cg=names(tail(sort(apply(myNorm,1,sd)),1000))
      library(pheatmap)
      ac=data.frame(group=group_list)
      rownames(ac)=colnames(myNorm)  
      pheatmap(myNorm[cg,],show_colnames =F,show_rownames = F,
               annotation_col=ac)
      TCGA甲基化芯片数据质控和过滤
      dev.off()
      #> null device 
      #>           1

      # 相关关系矩阵热图
      pheatmap::pheatmap(cor(myNorm[cg,]),
                         annotation_col = ac,
                         show_rownames = F,
                         show_colnames = F)

      2.3 剔除聚类失败的样本

      图中看出三个样本异常,删掉它们和它们的配对样本。

      pn = c("TCGA-CV-5971-01","TCGA-CV-6953-11","TCGA-CV-6955-11")
      drop = str_sub(colnames(myNorm),1,12) %in% str_sub(pn,1,12)
      table(drop)
      #> drop
      #> FALSE  TRUE 
      #>    52     6
      myNorm = myNorm[,!drop]
      dim(myNorm)
      #> [1] 412481     52

      pd = pd[!(pd$patient %in% str_sub(pn,1,12)),]
      identical(pd$sampleID,colnames(myNorm))
      #> [1] TRUE

      save(pd,myNorm,file = "./Rdata/step2_filtered_pd_myNorm.Rdata")

      根据top1000sd的热图和相关性热图,会发现三个样本是异常的,因此又剔除3对,剩下26对(52个)样本,用于下一步的差异分析。我试了一下这三个样本不删除的话,后面做差异甲基化位点的热图也是聚类不成功的,删掉会好些。

      插个小广告!

      生信零基础入门学习小组

      全国巡讲全球听(生信线上直播课)

      数据挖掘线上班第2期(两天变三周,实力加量)

      一起来学单细胞吗?

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoeditor

      上一篇文章

      MATLAB数据可视化[2]:heatmap
      2020年5月2日

      下一篇文章

      ChIP-seq数据比对注意事项
      2020年5月6日

      你可能也喜欢

      8-1651673488
      生信零基础入门学习小组长期报名中(2022仍继续)
      7 4月, 2022
      2-1651673738
      简化版的ROC曲线
      21 2月, 2022
      8-1651674718
      支持向量机模型
      19 11月, 2021

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      白介素-17受体信号的自主激活,维持炎症并促进疾病进展
      048月2023
      MCT4依赖的乳酸分泌抑制LKB1缺陷肺腺癌的抗肿瘤免疫
      187月2023
      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?