CPTAC蛋白质差异分析

文章目录

  • CPTAC蛋白质差异分析
    • @[toc]
    • 1. CPTAC数据下载
    • 2. 数据补缺校正
    • 3. 数据分组
    • 4. 蛋白质组差异分析

1. CPTAC数据下载

根据自己的需求选择对应的癌症,然后下载,这里就不展开讲了。以下为下载的数据目录

2. 数据补缺校正

从CPTAC下载的蛋白质数据很多都是有缺失值的,这样不利于我们后期分析,所以需要对这些缺失值进行补缺,然后校正(归一化)。

  • 首先新建空文件夹名为1_数据补缺校正,将下载的第二个文件(肿瘤文件)复制到空文件夹中

  • 然后新建的txt文件,名为input.txt,将复制到空文件夹的表格内容粘贴到input.txt中,然后保存

  • 之后在新建的空文件夹新建脚本,脚本代码如下所示:

    if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")
    BiocManager::install("impute")if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")
    BiocManager::install("limma")library(impute)
    library(limma)
    setwd("C:\\Users\\Administrator\\Desktop\\cptac\\1_数据补缺校正")           #设置工作目录
    file="input.txt"                                                  #输入文件名字       #读取file并对基因整理
    rt=read.table(file,sep="\t",header=T,check.names=F,row.names=1)
    rt=as.matrix(rt)#选取数值,需要修改
    #selectCol=seq(2,ncol(rt),2)        #保留列号为偶数的列,如果需要保留列号为奇数的列,把第一个2改成1
    #rt=rt[,selectCol]#数据补缺
    mat=impute.knn(rt)
    rt=mat$data#对数据进行矫正
    normalizeData=normalizeBetweenArrays(as.matrix(rt))#输出结果
    normalizeData=rbind(geneNames=colnames(normalizeData),normalizeData)
    write.table(normalizeData,file="normalize.txt",sep="\t",quote=F,col.names=F)
    
  • 最后将上述代码复制到R中运行,运行完在名为1_数据补缺校正的文件夹中就会有normalize.txt了。至此就实现了数据补缺和校正

3. 数据分组

差异分析肯定是对某个类别进行的分析,比如对性别、癌症的诊断方式等,这里我们以癌症患者的性别进行分组演示。

  • 首先新建文件夹为2_分组分析,将数据补缺校正得到的normalize.txt文件和数据库下载的临床文件复制到该文件夹中

  • 打开临床文件,对性别这一列进行排序,得到的结果如下图所示:

  • 接着新建文本文件sample1.txt和sample2.txt,将排序之后的临床文件的female对应的id复制粘贴到sample1.txt中,将male对应的id复制粘贴到sample2.txt中

  • 然后建立perl脚本文件cptac_group.pl,在此文件夹目录下打开powershell,输入perl cptac_group.pl,(此脚本太大了,代码就先不放了)程序运行完即可显示sample1和sample2对应的样本数,并且在文件夹下按照sample1和sample2的顺序生成了新的样本表达文件sampleExp.txt

  • 至此,样本分组完毕

4. 蛋白质组差异分析

在进行完上面三步之后,接下来就可以进行差异分析了,步骤如下:

  • 新建空白文件夹3_差异分析,并将数据分组之后的结果sampleExp.txt复制到该文件夹下

  • 新建R语言脚本cpta_diff.R,其代码如下:

    setwd("C:\\Users\\Administrator\\Desktop\\cptac\\3_差异分析")            #设置工作目录
    inputFile="sampleExp.txt"                                     #输入文件
    pFilter=0.05                                                  #p值临界值
    logFCfilter=0                                                 #logFC临界值
    conNum=56                                                    #sample1组样品数目
    treatNum=41                                                  #sample2组样品数目#读取输入文件
    outTab=data.frame()
    group=c(rep(1,conNum),rep(2,treatNum))
    data=read.table(inputFile,sep="\t",header=T,check.names=F,row.names=1)
    data=as.matrix(data)#差异分析
    for(i in row.names(data)){geneName=irt=rbind(expression=data[i,],group=group)rt=as.matrix(t(rt))tTest<-t.test(expression ~ group, data=rt)pvalue=tTest$p.valueconGeneMeans=mean(data[i,1:conNum])treatGeneMeans=mean(data[i,(conNum+1):ncol(data)])logFC=treatGeneMeans-conGeneMeansconMed=median(data[i,1:conNum])treatMed=median(data[i,(conNum+1):ncol(data)])diffMed=treatMed-conMedif( ((logFC>0) & (diffMed>0)) | ((logFC<0) & (diffMed<0)) ){  outTab=rbind(outTab,cbind(gene=i,conMean=conGeneMeans,treatMean=treatGeneMeans,logFC=logFC,pValue=pvalue))}
    }#输出所有蛋白的差异情况
    write.table(outTab,file="all.xls",sep="\t",row.names=F,quote=F)#输出差异表格
    outDiff=outTab[( abs(as.numeric(as.vector(outTab$logFC)))>logFCfilter & as.numeric(as.vector(outTab$pValue))<pFilter),]
    write.table(outDiff,file="diff.xls",sep="\t",row.names=F,quote=F)#输出差异蛋白表达
    heatmap=rbind(ID=colnames(data[as.vector(outDiff[,1]),]),data[as.vector(outDiff[,1]),])
    write.table(heatmap,file="diffProteinExp.txt",sep="\t",col.names=F,quote=F)
    
  • 然后打开R软件,粘贴此代码运行,最终在文件夹下即可得到结果,如下图所示:

    其中:

    • all.xls为所有基因的差异数据,如下图所示:

    • diff.xls为满足p值小于0.05的蛋白质的差异数据,如下图所示:

      • diffProteinExp.txt为差异蛋白的表达量数据,如下图所示:

至此,蛋白质组的差异分析就结束了,如果需要作图,用表格的差异数据在graphpad可自行作图

CPTAC蛋白质差异分析详细步骤相关推荐

  1. 360浏览器如何保存html文件夹下,在360浏览器中将书签保存的详细步骤

    软件大小: 68.6MB 软件版本: 12.2.1812.0 软件类型: 浏览器 查看详情 直接下载 很多用户都选择使用360浏览器,那么你们知道在其中怎样保存书签吗?下文就是在360浏览器中将书签保 ...

  2. Cacti安装详细步骤

    Cacti安装详细步骤 前提LNMP或LAMP架构已搭建完成 一.cacti概述 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据 ...

  3. android系统的iphone,iPhone上安装Android系统详细步骤。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在iphone安装android系统的详细步骤 首先,准备好iphone的多点触屏和wlan固件.因为法律的缘故,我们不能分享这些文件,你可以去ipsw文 ...

  4. Windows Server 2003 AD升级到Windows Server 2008 AD的方法及详细步骤

    前言: Windows Server 2008 是现在企业比较流行的服务器操作系统,安全性高,配置灵活.方便,集成了Hyper-V虚拟化功能,能够充分发挥硬件的性能.Windows Server 20 ...

  5. HTML用乘法函数,Excel乘法函数的使用方法和详细步骤

    Excel是一款非常强大的办公软件,其应用非常广泛.我们在日常工作中经常都要用到Excel,使用Excel进行处理大型数据的表格,要在数据上计算就会使用到数据上相乘,这时候我们就需要使用乘法的函数,那 ...

  6. 联想笔记本Ideapad(flex 2)进入BIOS设置U盘启动的详细步骤

    2019独角兽企业重金招聘Python工程师标准>>> (设置以ideapad S210进入BIOS设置U盘启动盘为例) 1.按下联想笔记本的电源键,看到联想图标的时候按住键盘左下角 ...

  7. oracle归档模式教程,Oracle从归档模式变成非归档模式详细步骤

    更改Oracle数据库的非归档模式需要重新启动数据库,在mount模式下修改,简要步骤1 以shutdown immediate方式关闭数据库2 启动实 Oracle从归档模式变成非归档模式详细步骤 ...

  8. VS2012/13本地发布网站详细步骤(可带数据库)

    VS发布网站详细步骤 要在本地(自己的额电脑上)发布网站,首先你必须要搭建一个IIS服务器(具体搭建方法可参考我的上一篇博客).下面是具体步骤: 1.打开你的VS2012网站项目,右键点击项目> ...

  9. win7怎么修改oracle登陆密码,win7账户密码如何修改|win7修改账户密码的详细步骤...

    今天本教程和大家分享win7修改账户密码的详细步骤,为了系统的安全最好经常修改系统的密码,从而保护好我的电脑,保护好我们的资料.还是有很多用户不知道win7账户密码如何修改?网上有很多关于修改账户密码 ...

最新文章

  1. Pytorch笔记(python--类与对象(class and module))
  2. 9.9学python靠谱吗-9成以上老师都不会告诉你的,关于编程的秘密,看完以后恍然大悟...
  3. tensorflow神经网络拟合非线性函数与操作指南
  4. Javascript快速排序
  5. Advanced User Administration
  6. css文件内容的组织
  7. 从项目、产品、运营型看发展
  8. 兄弟j220怎么清零_兄弟Brother全系列打印机清零大全
  9. ESP8266 WIFI模块学习基础入门
  10. O(lg m + lgn)时间复杂度求两个有序序列合并后第K大的数
  11. java选择,智力,数量,推理
  12. 【LuoguP2466】[SDOI2008] Sue的小球
  13. scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
  14. Tableau实用小技巧之——红绿色字体颜色设置
  15. omapl138移植uboot系列之添加MTD分区(第七篇)
  16. CentOS7 运维 - 磁盘管理与文件系统 | 超详细 | 附挂载教程及错误排查 | parted超大磁盘分区教程
  17. YYYY-MM-DD 的黑锅,我们不背!
  18. 用Java和Jquery实现了一个砸金蛋例子
  19. 何为对象python
  20. 大数据产业大有可为 得数据者的天下

热门文章

  1. 中国动力锂电池报废市场现状调研及投资潜力预测报告2022年版
  2. 微信小程序 最强连一连攻略 程序自动玩
  3. maven仓库中_remote.repositories的作用
  4. 我以为我对Vue很了解,直到我遇到了阿里的面试官
  5. BTS-LovelyFonts
  6. 浪潮十年:“云计算”中崛起,“智慧计算”中爆发
  7. Ubuntu Linux gcc的常用命令
  8. 4、焦点小组《数据收集工具与技术》
  9. APP渗透测试检查-checklist
  10. 口交换机睿易 RG-NBS1826GC 24 口