CPTAC蛋白质差异分析详细步骤
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蛋白质差异分析详细步骤相关推荐
- 360浏览器如何保存html文件夹下,在360浏览器中将书签保存的详细步骤
软件大小: 68.6MB 软件版本: 12.2.1812.0 软件类型: 浏览器 查看详情 直接下载 很多用户都选择使用360浏览器,那么你们知道在其中怎样保存书签吗?下文就是在360浏览器中将书签保 ...
- Cacti安装详细步骤
Cacti安装详细步骤 前提LNMP或LAMP架构已搭建完成 一.cacti概述 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据 ...
- android系统的iphone,iPhone上安装Android系统详细步骤。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在iphone安装android系统的详细步骤 首先,准备好iphone的多点触屏和wlan固件.因为法律的缘故,我们不能分享这些文件,你可以去ipsw文 ...
- Windows Server 2003 AD升级到Windows Server 2008 AD的方法及详细步骤
前言: Windows Server 2008 是现在企业比较流行的服务器操作系统,安全性高,配置灵活.方便,集成了Hyper-V虚拟化功能,能够充分发挥硬件的性能.Windows Server 20 ...
- HTML用乘法函数,Excel乘法函数的使用方法和详细步骤
Excel是一款非常强大的办公软件,其应用非常广泛.我们在日常工作中经常都要用到Excel,使用Excel进行处理大型数据的表格,要在数据上计算就会使用到数据上相乘,这时候我们就需要使用乘法的函数,那 ...
- 联想笔记本Ideapad(flex 2)进入BIOS设置U盘启动的详细步骤
2019独角兽企业重金招聘Python工程师标准>>> (设置以ideapad S210进入BIOS设置U盘启动盘为例) 1.按下联想笔记本的电源键,看到联想图标的时候按住键盘左下角 ...
- oracle归档模式教程,Oracle从归档模式变成非归档模式详细步骤
更改Oracle数据库的非归档模式需要重新启动数据库,在mount模式下修改,简要步骤1 以shutdown immediate方式关闭数据库2 启动实 Oracle从归档模式变成非归档模式详细步骤 ...
- VS2012/13本地发布网站详细步骤(可带数据库)
VS发布网站详细步骤 要在本地(自己的额电脑上)发布网站,首先你必须要搭建一个IIS服务器(具体搭建方法可参考我的上一篇博客).下面是具体步骤: 1.打开你的VS2012网站项目,右键点击项目> ...
- win7怎么修改oracle登陆密码,win7账户密码如何修改|win7修改账户密码的详细步骤...
今天本教程和大家分享win7修改账户密码的详细步骤,为了系统的安全最好经常修改系统的密码,从而保护好我的电脑,保护好我们的资料.还是有很多用户不知道win7账户密码如何修改?网上有很多关于修改账户密码 ...
最新文章
- Pytorch笔记(python--类与对象(class and module))
- 9.9学python靠谱吗-9成以上老师都不会告诉你的,关于编程的秘密,看完以后恍然大悟...
- tensorflow神经网络拟合非线性函数与操作指南
- Javascript快速排序
- Advanced User Administration
- css文件内容的组织
- 从项目、产品、运营型看发展
- 兄弟j220怎么清零_兄弟Brother全系列打印机清零大全
- ESP8266 WIFI模块学习基础入门
- O(lg m + lgn)时间复杂度求两个有序序列合并后第K大的数
- java选择,智力,数量,推理
- 【LuoguP2466】[SDOI2008] Sue的小球
- scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
- Tableau实用小技巧之——红绿色字体颜色设置
- omapl138移植uboot系列之添加MTD分区(第七篇)
- CentOS7 运维 - 磁盘管理与文件系统 | 超详细 | 附挂载教程及错误排查 | parted超大磁盘分区教程
- YYYY-MM-DD 的黑锅,我们不背!
- 用Java和Jquery实现了一个砸金蛋例子
- 何为对象python
- 大数据产业大有可为 得数据者的天下