心有感而小结

从事生信这个行业一年有余,在毕业前夕初知二代测序的蓬勃发展,作为生物硕士狗,决定将工作定为生信相关行业,有幸寻得工作,开启生信学习之旅。

在那时,我先翻遍所有招聘网站上关于生信相关岗位的介绍,发现其中必有两项技能要求:

  • 熟练掌握perl/python/R/等编程语言中的一种
  • 能在Linux上进行操作
自学的开始

那时我就开始在自己的笔记本上装虚拟机,安装ubuntu系统,跟着网上的教程以及书籍一步一步的学习着。对于编程语言,我各种百度、知乎,得知python非常火热,使用的人很多,因而也买了书籍,看着网上的教程,跟着敲着代码。

结果。。。还是写不了简单的脚本。。。也不懂在ubuntu上如何安装软件,可能由于那时只是死看书,看了就忘的原因吧。

步入工作了,入职的第一天,突然发现自己当初的决定是如此的幼稚,因为那时我还是一点都不懂。看着同事给我代码,一头雾水。

学习perl

由于公司的主要代码都是用perl写的,因而我决定赶紧将perl的基本语法补起来。一边看着perl语言入门这本书,一般看着公司的脚本。脚本看不懂的地方就去翻书,书上没的就百度,百度没的就谷歌。可能是由于工作上需求的压力以及实践的结果,在一个月内我看完了书并且也看完了公司的perl相关脚本(那时公司的脚本还不多),这是我第一次对perl系统的学习。后来看的脚本多了,网上一些大神的脚本也看了不少,慢慢的就会形成自己独特的代码风格。

Perl是一种很简洁的语言,搬照perl语言入门这本书中的一句话:

Perl很适合在三分钟内写出 “虽然很难看但是能用” 的一次性程序,Perl也很适合用来编写用处广泛,需要十几个程序员花三年时间才能完成的大型程序

因而我也从写简单的perl脚本到模仿其他用perl编写的软件及流程的脚本,从而学习如何用perl来搭建一个可流程化操作的脚本。一边模仿一遍修改着自己的代码,使之越来越合理以及简洁(也就是如何减少BUG)

现在很多人在纠结如果要处理生信相关数据,到底是先学perl还是python,我觉得其实都一样,只要学习后会一直使用某个语言,那就学那个语言吧。比如像我,最开始学的是python,但是由于没有实践的机会,马上就遗忘了。。。有些人还会问,perl易学还是phthon易学,我觉得应该说如果只是单纯的处理数据而言,都应该易学。一个编程语言都能成为工作or学习的障碍,那是不现实的。

学习R

只要入了这个门,过了这个槛,后面的事情就水到渠成了。工作上需要什么技能就学什么,比如我想看懂作图R脚本是怎么实现的,我后来就学了R。首先看的是R语言实战,看了一半后发现后续跟R语言数据分析统计相关较多,而自己统计学基础过于薄弱,并且跟自己的需求不一致,因为又转学习R这本书。这本书我觉得写的很好,非常适合初学R的人看,能满足一般R基本语法的学习需求,内容比较贴近实际使用。

看完R语言基本语法,接着我觉得可以看看R作图,这也是生信必备的一个的技能。我是看R语言可视化手册这本书,基本上是教我们如何使用ggplot2进行作图,简单易学的一种作图方法,图片也比R基本画图工具更加美观

学习ubuntu以及shell命令

生信的绝大部分软件都是在linux上进行操作的,因而不可避免的需要接触linux相关知识。最开始我并没有直接在服务器上进行操作,我先在自己电脑上安装了一个虚拟机,然后又装了ubuntu系统以及我想学习使用的软件。由于虚拟机的不确定性以及自己对linux操作的不熟悉,导致了我一次次的重装ubuntu系统。那时还好是在虚拟机上进行操作,可能无所忌惮的随意操作,不懂的就上网搜索,结果也慢慢摸索出了结果,至少比之前自己只看书和教程高效的多了。

在linux上操作的多了,shell命令是不可缺少的一部分技能,其能有效的帮你减少一些小脚本的次数,一个简单的命令+上管道可能就能抵得上你几十行的脚本。shell还可以调用外部软件以及处理一些简单的流程化任务,是一个非常值得学习的编程语言

写博客

当初入某个领域的时候,可能只能看到这个领域的冰山一角的东西。比如我刚开始幼稚的以为生信主要就会编程就好了,所以最开始我也是从学习编程语言开始的。但是随着接触的越来越深,了解的越来越多,发现其实生信所要学习的东西可不只是编程而已。最开始我是以在本子上记录为主,但在网上搜索的过程中发现博客给我帮助很大,因而我也想通过博客的方式来给予想我一样的新手一点我的心得,从而帮助解决我在初学时遇到的问题以及一些思路。所以这个博客也就成立了,从网上看如何搭建博客,到购买域名和主机,最后用wordpress进行搭建。

学而无止尽,在工作上学到的东西毕竟是有限的,所以需要不断的开拓自己的视野,增加自己的技能方能在不断变化的社会中找到自己的位置。我的观点是:面对在不断进步的社会,想靠一门技术从头吃到尾是不可能的,单单想靠公司所能给予的技术也是不够的,只有自身进步比公司快,紧追社会进步的脚步,才能获得更好的发展。。。。

博客不仅当我一个分享自身心得的窗口,也是自我督促学习的动力。保证自己在下班后必须花一定时间来学习工作以外的知识,从而完成自我的成长,毕竟技多不压身。

每周保证2篇,写着写着刚好快要半年了,发现博客的点击量也逐步上升,说明还是有人能看到我的博客的。一点一点的积累,就是经验的积累,学习的效率也会随之而提升,跟大家一起共勉!