最近我们的学徒作业,都是以公众号推文的方式发布出来,希望更多人加入一起学习,前面两次的作业是:
- 写一个函数把基因集,写出成为gmt文件。详见: GSVA或者GSEA各种算法都是可以自定义基因集的
- 自行读取作者给出的Nanostring表达矩阵,做差异分析,然后跟作者的结果进行比较。 详见:Nanostring的表达矩阵分析也是大同小异
- 使用TCGA数据源,制作生存分析,看看显著与否!详见:并不是只有TCGA才有临床信息用来做生存分析
其中写一个函数把基因集,写出成为gmt文件,我看到学徒完成的作业惨不忍睹。
我给大家的参考答案
并不是最佳,但是够用了。
library(clusterProfiler)
data(gcSample)
names(gcSample)
file="sink-examp.txt"
gs=gcSample
write.gmt <- function(gs,file){
sink(file)
lapply(names(gs), function(i){
cat( paste(c(i,'tmp',gs[[i]]),collapse='\t') )
cat('\n')
})
sink()
}
write.gmt(gs,file)