搜索
查看: 2591|回复: 0

[software] 用RankProd包对芯片数据做差异分析

[复制链接]

7

主题

32

帖子

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2017-5-8 19:30:01 | 显示全部楼层 |阅读模式
[mw_shl_code=applescript,true]source("http://www.bioconductor.org/biocLite.R")
biocLite("RankProd")#安装程序包
library(RankProd)
setwd("工作目录")
data=as.matrix(read.csv("data.csv",header=T))#输入表达谱
cl=as.matrix(read.table("label.txt",header=F))#输入样本标签(0:正常;1:疾病)


X=RP(data,cl, num.perm=1000,logged=Ture)#计算RP值TRUE:数据经过了log2转换
#table=topGene(X,cutoff=0.05,method="pval") #筛选出P值0.05的差异基因
table=topGene(X,cutoff=0.05,method="pfp")#筛选出FDR0.05的差异基因
up-regulated<-table$Table1    #查看差异上调基因所在的行数(还需要根据行数匹配出geneid)
down-regulated<-table$Table2  #查看差异下调基因所在的行数还需要根据行数匹配出geneid)


write.table(table$Table1,file="nosig_up.txt",sep="\t",row.name=FALSE,quote=FALSE)
write.table(table$Table2,file="nosig_down.txt",sep="\t",row.name=FALSE,quote=FALSE)
#
#
#data.csv输入的数据行是基因,列是样本,第一列没有基因id
#label是样本标签,0是正常炎症,1是疾病
#num.perm后面的1000可以自己改,logged=F的F或者T看数据,如果是很大,则是F,如果是很小,则是T
#table=topGene(X,cutoff=0.05,method="pfp")#筛选出FDR0.05的差异基因(这里是通过卡fdr得到的结果)
#若fdr得到的基因数目比较少,可以选择table=topGene(X,cutoff=0.05,method="pval") #筛选出P值0.05的差异基因(卡p值的方法)
#输出的是差异基因对应的行号,所以要获取差异基因,需要自己根据行号写代码对应过去。[/mw_shl_code]

注意:RankProd在实际应用中存在一小部分的上调基因与下调基因重叠。这部分交叠基因需要进行删除
  • data.csv 是我们要输入的数据
  • label.txt 是根据样本信息做的标签
  • 其他参数见代码注释

学习更多关于RP的参数设置,请参看RankProd的帮助文档。

欢迎关注https://www.jianshu.com/u/4f5e357a6212
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-3-31 09:18 , Processed in 0.020667 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.