送书 | 生物信息学习的一点体会

共 2282字,需浏览 5分钟

 ·

2020-07-08 23:23


作为本科学生物,后来转行生物信息的人,经常会被人问起,为啥学习生物信息了呢?这背后通常会带着一些困惑,生物信息分析好不好学?

我读书的时候,实验室纯计算机出身的人员只占很小比例,更多的是大学期间学生物的;特别的,有个做的挺好的师兄,本科是商科出身。从这来看,像我这样本科学生物转行生物信息还不算是有跨度的。这也从一个侧面说明,专业背景不是能否学好生信的决定因素。

想想自己大学开始自学生信的时候,可以说是一头雾水,只知道先学习编程,查了查资料,是要学习 perl语言,但是不知道要在什么地方写,怎么去运行。费了些劲,在windows上安装好perl,写个文本文件,改下后缀,发现文件的图标变成了perl的图标,双击就可以运行了,不会写命令行参数,不会输出重定向,一种傻呵呵的体验。

后来接触了Linux系统,体验到在终端输入命令的快意,才找到了编程的感觉。不过,深深印在脑海里的还是作为一个生信小白的时候,写一个程序不知道在哪写,在哪运行。看过不少的教程都默认学习者会打开终端,会使用终端,会在终端运行命令。而我却是个例外,什么都不会。程序可以照着教程写下来,却不知道怎么运行。所以在我后来写python教程的时候,第一部分就是介绍程序在哪儿写,在哪儿运行,怎么运行。(最开始学习perl,在研一时在QQ群一个同一大学学长的忽悠下,尝试了下python,那时有些编程基础,寒假在家看了遍《python简明教程》就可以写了,以后也就习惯了这个语言)。

我个人是个理解能力比较差的,尤其是在接触新的领域时,阅读不少教程,总觉得这些教程都是给有些基础的人写的,自己去学习时,需要多方尝试,多多综合,才能找到门路。为了方便自己学习,也为了记述学习过程,就开始写博客去记录,力争从一个小白的视角、从最基础的角度去写作,记述哪怕是最简单的一步操作,一个错误,提供一个近乎人人可以直接上手的教程

(比如虚拟系统Docker的使用教程和任务流控制管理的Airflow教程,这些文章被转载后,在同一平台相比于同类的教程阅读量多出10倍,我想这正是因为简单、可操作,为初学者接触这些工具提供了最大的便利)。

在初步知道程序语言怎么运行并能成功运行完示例后,就要系统地读一本简明教程;简明的教程不多见,因为一般的教程都涵盖的面比较广,而我们初期只需要关注最基本的就好

(所以我提取了我个人认为比较重要的基础内容,形成教程),可以找本经典书,请身边朋友划下重点,先从头到尾读一遍,不管理解多少,然后再读一遍。读不下去,就抄写一遍。最好的自学方式就是守住一本教材,一遍一遍地去读去熟悉,每看一遍都会有一些了解,从陌生到熟悉,慢慢就串起来了。然后就开始自己去写代码,代码就是我们思想的体现;我在教人写代码时,总会让他先描述下如果没有程序,我们自己是如何一步步的手动处理这个问题的,模拟的是程序运行的过程。理清一遍思路之后,怎么想的就怎么写,只要你敢写,就成功了。

当然这个时候一般会遇到初学者经常犯的错误,写完代码,觉得自己写的很对,但运行时却总是提示错误。绝大多数情况下,错误是我们自己写作的错误;起码在最开始时,要相信是自己的错误,不是程序语言设计的错误。错误的种类就这么几种,比如引号未配对、缩进不对、少了空格、文件名不对、变量名字不一致等。这时需仔细看屏幕提示的错误信息,在提示的错误行附近反复去查看。在之前的python教程和后续的文章中,都有或会提到经常出现的错误和解决办法。

能让程序提示的错误都算不上大的错误,而程序运行成功,不等同于程序的逻辑是对的,获得的结果是对的。程序是我们设计的,多数情况,我们对程序的输出结果是可以预估和判断的,不符合预期的结果是我们最应该慎重对待的。

在能独立写作程序后,一方面是学以致用,在解决问题中逐步学习;这时谷歌是你最好的帮手,把你遇到的错误或想解决的问题的关键字提取出,一键搜索,可以帮你解决大部分问题。另一方面,则是去学习别人的代码、学习初学时跳过的内容,利用社区中提供的优秀的模块或包来简化、加速自己的操作。入了门,就不需要像刚开始时,什么操作都自己去写了,俗语叫“自己造轮子”;可以用很多经验更丰富的开发人员做好的轮子解决我们的问题。

关于学习周期,如果能静下心去学习的话,1个月的时间是足够的。如果不时还能有人给你点播,2-3周就差不多了。关键的关键是去背、去抄,书读百遍其义自见。

下面放上3篇帖子,Linux、Python和R各一个,应该是可以链接到对应的一系列教程。

免费Linux系统和生信宝典原创学习教程

Python学习 - 可视化变量赋值、循环、程序运行过程

ggplot2高效实用指南 (可视化脚本、工具、套路、配色)

当然也有视频版,清仓促销!

ec2db4ea8b5c56ac5fe0ff80609f39fd.webp


送书在上期的留言送书活动中,恭喜下面这位读者获得书籍“Python:网络爬虫开发(从入门到精通),请及时与生信宝典编辑(shengxinbaodian)联系。

a44b9d5f8c45d9f9b8bc601f87d415a8.webp

高级教程和生信基础知识在生信宝典往期推文中都有,赠送的书籍可以作为一类延伸阅读扩展知识面。本期的留言主题是:您在生物信息学习过程中有哪些体会呢?欢迎转发朋友圈并留言评论。
因有读者反馈刷赞一事,因此更改送书规则为在留言中选择“有缘人”获得下面北京大学出版社赞助的书籍(联系小编时请附上分享截图),内容契合留言主题且实际留言得赞越高者越可能成为“有缘人,欢迎分享并互相监督,结果在下一期送书活动中公布:

1c5c426060771df6d3a98976d428592d.webp

往期精品(点击图片直达文字对应教程)

7395762338e186f7e76ab31f1b3ff240.webp

8aa247d6916f752b3a5d23acd1a88c00.webp

b7989a5a4aabfed5aaa42b317a57302b.webp

0de0fa3a3b73ebede9bf47a7816f54bd.webp

77191ac0a8e6b157a753480ffc8a43d0.webp

094a5ef43fcee45ca54bd1e7da99bc7a.webp

4d966b8bc489de43822d210cb3fcb64c.webp

8130a097aae4e43baed316411a61b38b.webp

1e58dfc56b46af56e540dd5ec5f5e13e.webp

1626851e48bdbaeb285e546a595c744e.webp

11430bfa8847b658fb2d7529cd849139.webp

603081fdcc38dcc27ebf73843e6f17b1.webp

1284e0bcfcf69d9963d4d226fe820d15.webp

51ccff5c7b6c136e7ee64a5b5fc19b00.webp

4ebb0cae9b14c8b82a247476efa66bb1.webp

1218819aa01777a7ba21f3afc740d7cc.webp

80715f45945965b571b3e4d193d1622c.webp

4f2dabccd6f2bffc0f2ddb72ba9ca5d2.webp

f2723f6cfb2700cd20f7a429ff857ed6.webp

2a2966514bea9c768ee856ca4539a21d.webp

6041d5ca4824483f330115818684ebd5.webp

09fa8e7885fc89e9566280f8e9698565.webp

30c4bfeebdf8e84cbdf9124336e8ec62.webp

a746944a396d880e6e09614e5286c695.webp

f78eec62e74eba7c0b635db9293b61a6.webp

457d6a5b714c6129475f8c835d41977b.webp

b7286888cfe82c045b7fd0c27407699a.webp

d75de03a6d364ad70e10e810322a4658.webp


后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

97c6c6df89fc25bde86a8a0c191a18be.webp


浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报