生信故事会之中年大妈的自我救赎
上一期是: 跨越了6个阶段,我仍然是生物信息学初学者
这一期的故事差点看哭我了,希望也能触动你!
背景介绍
坐标:湖北省会,对,就是那个全世界都在给她加油、现在仍然在喊加油的地方,上半年抗疫,下半年抗洪。
本人03年参加高考(“非典”那年、数学特难……),10年临床专业硕士毕业(没错,七年制的,算是高考中的“学霸”吧)。08年进实验室,接触一代测序,之后一直从事遗传病的基因诊断工作。12年二代测序兴起,还怀揣着大宝跑北京去学二代测序的原理和实验,结果一直没机会上手,始终在一代耕耘。工作一直不愠不火,除了完成基本的临床检测任务以外,一直无所出,离领导的期望总是很有差距,在领导要把我调岗的时候,二宝不期而遇,然后就在一片厌恶之中又休了个产假。产假结束就被调岗了,不再从事一代测序临床检测,总算告别了没完没了的标本和接不完的催报告电话,也告别了以前的收入,下一步就差跟饭碗也告别了。
中年大妈也要养家糊口,不能坐以待毙,我必须自救!
调岗之后收入减少,时间相对多了,可以好好规划一下自己的事情。我曾经一直很羡慕不用做实验,光对着电脑就能跑出结果的事情,希望有一天自己也能轮上这样的好事。现在机会来了,才发现的确很难,从上大学了连电脑开机键都不晓得在哪里、计算机基础课差点挂掉,到对着黑白屏跑代码,除了佩服自己的勇气和毅力、感谢师兄的指引和鼓励以外,还要感恩现在的学习环境,B站上Jimmy老师大把的免费资源,简书上热心同学分享的各种debug经验,CSDN论坛上各种关于IT的技术交流…………基本上我在学习过程中遇到的任何一条报错都可以在网上找到相应的解决方案,我最大的感触就是“我不是一个人在战斗”!
七月初,距离我敲下人生第一行代码“Hello World!”整整一年,从啥都不会,到能跑下地转录组分析以及RNA-seq、ChIP-seq、ATAC-seq联合分析,并涉猎单细胞的一般流程,自认为已经入门生信,现将这一年的学习成果和踩过的坑整理出来分享给大家,也算是对自己这一年的总结。我始终坚信:我这个中年大妈,边带娃边敲代码,从零开始,都能学会的,大家都可以学得会,加油!
一些称手的小工具
Visual Studio Code 简称Vscode,是最开始学Python的时候老师推荐的一款编辑器,之后被我用作打开各种稀奇古怪后缀文件名的“万能钥匙”。学代码之前知道的后缀只有.doc、.xls、.ppt、.exe这些,在Linux上跑了一些代码之后发现可以用你喜欢的任何字母作后缀,甚至不加后缀,拖到本地就是各种无图标无法打开的文件,用这款编辑器都可以打开。对于十几M几十M的数据表,用excel打开很慢的话用这个速度稍微快一些,当然也只限于查看,好像没有excel其他的一些数据处理功能。该工具其他一些更强大的功能我暂时还没用到。
Xshell 连接本地电脑windows系统和云端Linux的神器,可以编辑发送代码操控服务器执行命令,可以打开多个窗口,方便执行命令的同时进行别的操作和查看。对于一些只能单核运行的命令譬如fastq-dump的CPU利用率很低、很耗时的情况下可以多开几个窗口同时运行处理不同的文件。Tips:1、Tab键补全命令;2、工具→选项→键盘和鼠标:设置鼠标左键复制选定的文本、右键粘贴剪贴板内容,尽情享受让代码飞的爽快!Linux下Ctrl+C是强行停止,不是复制不是复制不是复制!
Xftp 在本地电脑windows系统查看云端Linux文件的神器,就像习惯了查看“我的电脑”、C盘、D盘各种文件夹操作一样,各种新建、删除、重命名、复制、移动文件夹等命令都可以像在Windows系统一样进行操作。Linux系统去可视化的各种不适应都可以被这款神器治愈。不过在这个软件下进行Linux上比较大的文件的删除和移动会比较慢,不如在Xshell里面输入相应的命令执行的快。
Xshell和Xftp这两款软件都可以提供“仅供非商业用途”的免费版本,可用.edu结尾的邮箱申请。我一般需要使用服务器的时候都会同时把这两个打开,进行实时的查看和管理。
RStudio 和前面Vscode一样,也是一款很好用的IDE(集成开发环境,说白了就是编辑器),可以很方便运行、管理R,因为R自带的环境操作起来可能不方便,Rstudio可以很好地解决这个问题,而且它还具有调试、可视化等功能。前提是你得正确安装R。
Markdown 早就听说这款神器,一直没有下狠心去学,一直在word里面傻兮兮的复制粘贴调整格式记录跑代码的笔记,现在为了整理我的总结并便于分享,稍微学习了一下,简直好用到飞起,强烈推荐!
你可能真的绕不过去R
在风变编程花八块九体验了一个星期的Python,打破了我心中的对于编程的畏惧,看似高深莫测的计算机语言也可以和我们平时生活中熟悉的场景进行类比,了解计算机语言的基本规矩,按照它的规矩告诉计算机你想干什么,我觉得这就是在学习编程。(即便已经学习了一年,编程对我来说还是遥不可及,我现在的水平仅限于能够大致看懂别人代码是什么意思,稍微进行调整之后可以运行自己想要处理的文件和数据,没有从头自己写过代码编过程。)
门推开了,之后就是恶补R,事实证明,以及我这一年的生信学习体会到,生信主要分为两大块:云平台服务器上Linux对原始测序数据的处理得到表达矩阵,之后就是在R里面对数据框进行各种操作和画图,所以R和Linux是绕不过去的两到坎儿。
R我是跟着**《R语言实战(第2版)》**教材学习的,把“关于本书”中介绍的第1~6章、第11章和第19章老老实实地看完,并将示例代码一行行敲进去运行。(注意Tab键补全命令,数据表格$Tab键补全列名这些小技巧可以让你在练习的时候不那么“寂寞”。)这些是最基本的,绕不过去的,后续再遇到问题可以现学,也可以自己学着debug,否则真的很难起步。
详见生信技能树阿里云生信配置攻略,网址见生信技能树公号链接,麻烦补上,谢谢!(PS:明天才在生信技能树发布她的教程笔记,所以链接暂无)
后记
后续有功夫我会再总结一些自己学生信的体会和经验。
学而时习之,不亦说乎?
时值高考结束,很多学子在等待分数的同时也在规划自己以后的专业,作为一名“老师”,从我个人的经历体会来看,专业学什么,真的不是那么重要,我以及我周围的人,很多现在从事的工作跟自己大学学的专业并不那么对口,有的甚至相距很远。**学什么不重要,但是保持学习的能力很重要!**所谓的读个好大学、选个好专业、找个好工作其实都不是那么重要。
我从小到大一直都是“别人家的孩子”,也考了好大学、读了好专业、找了好工作(甚至嫁了好人家、生了好孩子……),但是这个世界不是一成不变的,**反而我们所处的这个时代瞬息万变,新事物层出不穷,昨天所谓的金饭碗明天就有可能被人工智能打破,所以我觉得保持学习的能力尤其重要!**只有不断学习,才能在被后浪拍si在沙滩上的时候si xiang不那么难看。
子君的这句台词,可以当做中年大妈的遮羞布、挡箭牌,换个角度,中年大妈们连生孩子、养孩子都熬过来了,还有什么比不上在办公室做的?
后记的后记
这是一个把我看哭了的生信故事,最后的她给初学者的建议其实也是我一直强调的生物信息学数据分析学习过程的计算机基础知识的打磨,我把它粗略的分成基于R语言的统计可视化,以及基于Linux的NGS数据处理:
把R的知识点路线图搞定,如下:
了解常量和变量概念 加减乘除等运算(计算器) 多种数据类型(数值,字符,逻辑,因子) 多种数据结构(向量,矩阵,数组,数据框,列表) 文件读取和写出 简单统计可视化 无限量函数学习
Linux的6个阶段也跨越过去 ,一般来说,每个阶段都需要至少一天以上的学习:
第1阶段:把linux系统玩得跟Windows或者MacOS那样的桌面操作系统一样顺畅,主要目的就是去可视化,熟悉黑白命令行界面,可以仅仅以键盘交互模式完成常规文件夹及文件管理工作。 第2阶段:做到文本文件的表格化处理,类似于以键盘交互模式完成Excel表格的排序、计数、筛选、去冗余,查找,切割,替换,合并,补齐,熟练掌握awk,sed,grep这文本处理的三驾马车。 第3阶段:元字符,通配符及shell中的各种扩展,从此linux操作不再神秘! 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。 第5阶段:任务提交及批处理,脚本编写解放你的双手。 第6阶段:软件安装及conda管理,让linux系统实用性放飞自我。