查看原文
其他

视频课程: R语言中的批量操作,裂变你的技能。

果子 果子学生信 2023-06-15

发布这个课程,我的心情略显澎湃。
这个课程的主题就是:

R 语言中的批量操作。

我澎湃是因为这是我学习编程后,收获最大的技能。
而且,我十分钟爱批量操作。

任何一个已有技能,让他批量后就是一个新的技能。

几年前,我学会R语言的第一件事情就是完成生存分析的批量操作,
与其做完了实验再来查找基因的生存分析碰运气,为什么不在做实验之前就批量筛选一遍,增加成功的概率呢?
第一次分析2万个基因的生存分析用了50分钟,
技能提高后已经能够实现10s完成了。
8秒完成2万个基因的生存分析,人人都可以!

尝到了甜头后,我开启了上帝视角,甚至做起了批量模型构建的勾当,以结果为导向来做分析,
不过这种行为跟我的科研培训相悖,最终被我弃用。

而我能够实现50分钟到10s的跨越,得益于我写的一系列帖子,以及循序渐进的批量思维。

课程设计

第一,掌握for循环。
这是每一个批量操作的朋友都应该率先掌握的技能。
想好我们为什么要批量操作,每次批量的具体操作是什么。
把单次的操作转换成代码,for循环就实现了。
过程中,处理后报错,这个可以通过预先处理数据,或者增加if判断来实现。
每一个R语言初学者都应该掌握for循环!

第二,掌握apply+function的批量模式
学习这个模式的主要作用是为了提速,或者是让代码更加简洁。
新手在学习批量操作的时候,完成比完美重要,学会了for循环,就已经可以让不可能的操作变成可能了。
apply+function只是锦上添花。
神奇的lapply
迷人的多参数批量函数mapply

第三,使用future_apply模式让速度翻倍。
完成比完美重要,新手起步的时候速度不重要。
但是,当你进阶后,有些数据的处理,速度就是限速环节。
我举一个例子,
如果做2万个单基因的生存分析需要50分钟,那么做2万个双基因的生存分析需要多长时间?
答: 50分钟*2万=16666小时=694天=大概是研究生的2/3

如果能够把50分钟时间压缩成10s呢,
答: 10s*2万=3333分钟=55小时=2.3天

为什么要做这个分析,以及为什么没有人做这个分析?
要做是因为,这个方法可以初步筛选出两基因协同作用的组合,比如能有合成致死效应的基因。
2万乘以2万的组合就是4亿了,给科研,课题带来更多的可能性。

没有人做是因为,时间太长。

for循环的实际使用举例

除了生存分析之外,我觉得比较经典的使用就是批量相关性分析。
当我们不知道手上的基因A有什么作用的时候,或者你手上的基因是长链非编码RNA,没办法注释。
那么我们就可以在大样本中批量求他和其他编码基因的相关性,通过分析最相关的基因的功能来反推基因A的功能。
这个方法叫做guilt by association,协同犯罪
单基因批量相关性分析的妙用

如果把单基因批量相关性和GSEA联合起来,就可以充分发挥基因集的优势,更多维度探索所研究基因的功能。
我写过的教程如下。
又是神器!基于单基因批量相关性分析的GSEA
在今年的一篇Nature文章中,我看到了这个方法的应用。
Epigenetic silencing by SETDB1 suppresses tumour intrinsic immunogenicity

我在想这样的方法,很多人都能想得到,但是会因为缺少实现的能力而作罢。
面对当前生信技能傻瓜化的状态,批量,而且是任意操作的批量,绝对是一个无可替代的傍身技能。

鼓吹时间

如果你认真的看了以上的介绍,你也理解了为什么要批量操作,也想要实现批量操作。
这里还有一个免费课程可供参考:
视频小教程_R语言中的批量操作

下面就正式发布新课程啦。
注意两点!
1.GZ系列教程都需要R语言基础,零基础勿购!
2.批量操作是个技能,不产生特定的图,他只是增加或者拓宽你的技能。

本次课程的内容包括:
1.批量思维解析
2.定义一次操作的所有代码实现
3.写出第一个for循环
4.for循环改为function。
5.使用lapply+function来优化代码,提升速度
6.使用future_apply+function来并行化操作,速度翻倍
7.单基因批量相关性分析
8.单基因批量相关性GSEA分析
9.批量生存分析
10.批量画图以及导出
11.批量操作文件

课程支持长期更新,更新的视频在答疑群发放。
有兴趣的朋友,扫描下面的图片购买,课程设置一个星期的优惠。周五发货,在自己的微店收取。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存