首页
学习
活动
专区
工具
TVP
发布

Python也可以抢网速,我下了十部电影,室友才一部

我们就用几个小例子来展示一下编程能给我们的工作生活带来怎样意想不到的便利。希望通过适当的引导,大家能体会编程的爽,乐在其中,享受编码的乐趣。

首先声明,我们的原则是,一切机械的重复性的工作都应该自动化,牢记这一条。

场景一

我们想研究某个基因家族,比如说人类的HSP家族,首先我们需要获取该家族的所有成员以及他们的序列。我们可以这样做,在NCBI上搜索“heat shock protein”,物种设置为“Homo Sapiens”,逐条记录点进去,将序列拷下来,粘贴到记事本中,整理成fasta格式。上期讲过,编程就是通过编程语言告诉计算机我们想怎么做,让机器替我们去干苦力,解放自己的双手和时间。现在我们把自己手动执行的过程转换成代码。我这里简化了,直接从refgene数据库提取HSP家族各成员相应的转录本编号,再利用这个编号去NCBI上获取序列。

场景二

我们需要对上一步得到的序列设计引物,用于后续的研究。从程序输出的log可以看到,一共有39条序列,一条一条拖进primer5,调整好参数,鼠标一点一点拖过去,吭哧吭哧埋头苦干一上午,眼睛都要瞎了(回想起自己当年一遍一遍重复这个操作,瑟瑟发抖。。。)。龟叔告诉我们,生活不应该是这个样子的。

Python之父Guido van Rossum

我们有primer3-py库啊,只需要适度的封装,别说39条,就算39万条都不带眨眼睛的。

示例代码比较糙,只为了说明问题。完全可以在这基础上优化,比如调整参数,结果过滤,筛选出最优的primer,使其成为实际可用的代码。

场景三

引物设计完了,需要送去合成,也可以用代码搞定。将上一步的结果发送给生物公司的销售,并抄送老师。

来看看是不是真的发送成功了

以上三个场景是一个连贯性的操作,完全可以整合到一起,实现完全自动化。只需要敲完命令,回车,剩下的就不用关心了。除了第一步比较耗时,因为要通过网络请求,需要62s,二三两步不超过5s,总耗时不过70s,节省了大量的时间精力。这么美好的时光,干点啥不好啊,看剧看文献,打球做实验,撩妹写文章都行啊。

当然编程的应用场景远不止这些,这里抛砖引玉。其实很多问题都有第三方的库,这也是python如此受欢迎的原因之一,Google一下,说不定就有你想要的,直接拿过来用就好了。还有些问题,不怕想不到,就怕实现不了。只要能力炉(lan)火(ai)纯(wan)青(qi),你用python煮咖啡也不是不可以噢。

其他的像什么自动下载小电影的技能我们就不传授了,身体受不了的,有兴趣的自己研究。初衷必须是为了锤炼技能,比方说同一个学习室,他一天下了100部,我一天能下500部,这也是真正的技术啊。

当然了,这种事还是在家干,在学习室这么抢网速会被怼的。但是在学习室,他的分析流程要跑12h,我就比他NB,我只要4h跑完,这种事情绝对是喜闻乐见的。我们后面会讨论如何构建一个高效的分析流程,请保持关注哦。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181227A1B2GI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券