最近看到很多数据挖掘文章提到了发表在Nucleic Acids Research, 2019, 的文章:《CancerSEA: a cancer single-cell state atlas》,看了一下它这个癌症单细胞数据库资源里面给出来的文献列表:
癌症单细胞数据库资源
可以看到, 在这个CancerSEA发表之后,他们居然还更新了两个数据集,有意思,一般来说大家发文章后“逃之夭夭”了,很少会继续维护的。(也算是数据库资源网页工具领域的一股清流)
从这个列表来看,这个CancerSEA,确实只能说是一个上古时代的癌症单细胞数据库资源,因为里面的数据集都是2018或者之前的,那个时候10x技术还不发达,所以CancerSEA的作者只能说去下载smart-seq2技术的单细胞转录组数据从原始数据开始,所以可以看到其单细胞转录组数据处理上游流程:
这个流程,我们在CNS图表复现10—表达矩阵是如何得到的 系统性介绍过。
现在基本上大家拿到的都是10x单细胞转录组数据的表达量矩阵文件,很少需要从fastq文件开始的。
当然了,他从fastq开始,所以定量的时候,比较容易区分蛋白编码基因和非编码基因,protein-coding genes (PCGs) and lncRNAs , 也算是一个优点。一般来说我们现在有了基因名字也很容易通过下面的代码进行区分,介绍借助AnnoProbe包里面的gtf文件信息来区分 mRNA和lncRNA :
#BiocManager::install("airway")
suppressPackageStartupMessages( library( "GEOquery" ) )
suppressPackageStartupMessages( library( "airway" ) )
library("airway")
data(airway)
airway
as.data.frame(colData(airway))
summary(colSums(assay(airway))/1e6)
metadata(rowRanges(airway))
ensembl_matrix=assay(airway)
ensembl_matrix[1:4,1:4]
library(AnnoProbe)
gs=annoGene(rownames(ensembl_matrix),'ENSEMBL','human')
head(gs)
tail(sort(table(gs$biotypes)))
pd_genes=gs[gs$biotypes=='protein_coding',1]
non_genes=gs[gs$biotypes !='protein_coding',1]
pd_matrix=ensembl_matrix[rownames(ensembl_matrix) %in% pd_genes,]
non_matrix=ensembl_matrix[rownames(ensembl_matrix) %in% non_genes,]
save(non_matrix,pd_matrix,
file = 'input.Rdata')
在当时来说,他这个网页工具工作量还蛮不错的:
值得学习的是作者整理好的肿瘤细胞不同状态,14种功能状态分别为干性、侵袭、转移、增殖、EMT、血管生成、凋亡、细胞周期、分化、DNA损伤、DNA修复、缺氧、炎症和静止)
超级漂亮的封面图:
封面图很炫酷
至于网页工具如何使用,大家自己去摸索就好了:http://biocc.hrbmu.edu.cn/CancerSEA/home.jsp
我也看到了很多其它博客关于这个网页工具的介绍:哈尔滨医科大学的肖云老师和他的团队开发了CancerSEA数据库,旨在全面解码癌细胞在单细胞水平上的不同功能状态。
确实,过时了哦。
如果你确实觉得我的教程对你的科研课题有帮助,让你茅塞顿开,或者说你的课题大量使用我的技能,烦请日后在发表自己的成果的时候,加上一个简短的致谢,如下所示:
We thank Dr.Jianming Zeng(University of Macau), and all the members of his bioinformatics team, biotrainee, for generously sharing their experience and codes.
十年后我环游世界各地的高校以及科研院所(当然包括中国大陆)的时候,如果有这样的情谊,我会优先见你。