跟着运来兄搭建自己的生物信息小书房。趁年轻,读几本硬书,到老了慢慢反刍。
或多或少,隐隐约约地我们都有自己出本书的念头。写一本书除了内容,还有一部分是这本书的结构:先写什么,后写什么。
我们以《单细胞数据科学实战》这本电子书为例,来讲一下编写一本书要经历的过程。
第一阶段是收集大量的素材。
提到单细胞数据科学,不得不提的是单细胞和数据科学,以及为什么要把二者联系到一起。
要收集单细胞的资料并不少,也不难找,但是要把单细胞讲清楚其实并不容易,难点在于:目标读者群比较多样。我们介绍单细胞一个基本的要求是:有高中生物的背景知识都可以搞懂,其实主要是几个概念:
- Barcode
- UMI
- 微流控
- 泊松分布
- 聚类
关于单细胞生物信息分析的资料也很多,多到需要我们作以甄别和筛选。有利的条件是:大部分分析工具都是一站式的,从质控到聚类到差异分析。这部分可以分为三类:上游的拆库定量,中游的探索性分析,下游的功能与调控分析。另一个有利条件是分析工具都是开源的。我们需要做的是在书中加上每一步自己的理解,在Bookdown中不中断地跑通。
- celescope
- Seurat
- monocle
- 富集分析
- 细胞通讯
- SCENIC
另一个挑战是一套数据在不同软件中转换数据格式,格式的转换其实是数据分析中时间占比较多的一部分。
在单细胞数据分析中,非线性、探索性的过程往往是有大量反复的。当我们以单细胞数据科学的角度来看单细胞数据分析的时候,第一个启发就是:把单细胞数据分为学习部分和实战部分,而不是拿自己的数据一边学习一边分析。把练功和打仗区分开来。
这本书的名字叫《单细胞数据分析实战》,但是定位还是在练习上,所以里面有代码和练习数据。
相比令人应接不暇的单细胞分析教程,数据科学作为一门学科的资料相对较少。大部分的读者或本书的潜在读者对数据科学的建立在《概率论与数理统计》,对如何看待数据,如何在数据中挖掘还知之甚少。这是这本书的挑战之一,讲解一门新的技术容易,要说清楚一个新的概念并不容易。
好在,有《R语言数据科学》在前,为我们省却不少口舌。而单细胞数据分析的渐近明晰特点,探索性这一特点是贯穿始终的。这时候我们如果有项目管理的基本概念,在这个过程中就会坦然许多,对整个过程有一个全局观,不至于每一步都要侧身向同桌问一下:哎,你看我这个正常不正常? 而本书的编写过程,本身也作为一个项目,有它的进度管理,成本管理,有启动-执行-收尾不同阶段。
至此,这本书的三大知识体系就勾勒出来了:
- 单细胞生信
- 数据科学
- 项目管理
在编写这本bookdown电子书的时候,我们还注意它的可拓展性,在每一个章节的最后,都加了一些扩展阅读的链接,以及名词解释。
第二阶段是对内容裁剪。
为了文本质量,需要对收集过来的内容做一定的裁剪,这一阶段懂得忽略什么和懂得重视什么一样重要。我们相信读者期待的不是一个大杂烩,也不是一个本地的浏览器。用bookdown编写的好处之一是,编写的内容既是内容也是过程。这也是书名中的实战另一层含义,以实战促实战。
这里的裁剪不仅仅是内容的裁剪,也是实战的裁剪,就是哪些工具可以去尝试,哪些工具不需要尝试。单细胞的分析工具有一千多了,如果每个工具都试一下,可能一个研究生学历三年时光就过去了。
代码语言:javascript复制昔在庖犠氏始画八卦,以通神明之德,以类万物之情,作九九之数,以合六爻之变。
暨于黄帝神而化之,引而伸之,于是建历纪,协律吕,用稽道原,然后两仪四象精微之气可得而效焉。
— —《九章算术》