错误的问题:医学生零基础学生信是先学Python还是先学R语言?
正确的问题:零基础的医学生该如何做一个合格的调包侠?
临床专业的学生亲自作答。
既已零基础,又非专业所学,个人认为重点应是从实践中学习——如果你手里有本实验室/课题组的生信数据,你自然会顺着实验目的去学会相应的分析手段。
R和python在处理生信问题方面都依赖对应的package,你需要的应该是:知道什么问题需要什么package来解决。例如bulk RNAseq用deseq2,edgeR;scRNAseq用Seurat、monocle等;能找到各自的github主页
弄懂作者的示例vignette,基本理解其中的函数及其参数。遇到不理解的学会自行去Rdocumentation查
在作者给的vignette的基础上更改参数满足自己的需求
以R为例,你只要学会最基本的如何用代码处理表格(筛选、排序这些)——说得再明白些,学会使用tidyverse这个包——就可以上手上面我说的这三步。
并且不要对代码感到畏惧,要有调包侠的基本素养:你不必理解细节,只需知道这段代码的意义是什么,以及哪些参数可调即可。以我个人的例子,我原来只会R,做单细胞测序下游的时候用cellphoneDB分析细胞互作,发现需要调用python,但原作者的代码有bug,当时我不懂python,但还是硬着头皮去比对提示的错误,不断调试,最终解决了——而反复调试的过程中,我也就熟悉了python的基本语法和结构。
个人的两个建议。在实践中学习,这样目的性更强
少看公众号/云课堂等。建议直接看各个包的主页下,作者自己写的vignette。个人经验是这些一手材料其实讲解得远比二道贩子清晰