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

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

学习Python中有不明白推荐加入交流裙
                                            号:735934841
                                            群里有志同道合的小伙伴,互帮互助,
                                            群里有免费的视频学习教程和PDF!

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

场景一

我们想研究某个基因家族,比如说人类的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跑完,这种事情绝对是喜闻乐见的。我们后面会讨论如何构建一个高效的分析流程,请保持关注哦。

学习Python中有不明白推荐加入交流裙
                                            号:735934841
                                            群里有志同道合的小伙伴,互帮互助,
                                            群里有免费的视频学习教程和PDF!

原文地址:https://www.cnblogs.com/52lmx/p/10185294.html

时间: 2024-08-30 12:19:39

Python也可以抢网速,我下了十部电影,室友才一部的相关文章

夺命雷公狗---CMS---14-dedecms(实例之电影网8-取出最新的四部电影)

取出最新的四部电影,将要完成的是下图红色框的部分 (一般都是更具实际情况来决定取出多少个) 使用的标签是:{dede:arclist},是否取出附加表里面的数据, {dede:arclist channeled=”17” row=”4” addfields=”yuyan,pfz”/} {/dede:arclist} 使用如下代码:则输出如下结果: 这里的class本来是从c1----c4,在dede双标签中可以使用一个字段标签[field:global.autoindex/],该标签是一个自增的

Linux下如何测网速

Linux下测网速可以使用speedtest的命令,它是由Python语言编写,适用于Python2.4-Python3.4等版本.具体操作如下: 1.下载这个文件 wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py (注:以前的是speedtest-cil,本文以centos7为例) 2.修改文件名,增加执行权限,移动到默认路径 mv speedtest.py speedtest chmo

使用Python根据网速自动切换网关

公司里装了两条不同的宽带,根据使用的情况,比如拨VPN,或者使用人数过多,网速不行了就要切换下.每次手动去切换很不方便,而且网速也很难判断.这里分享下如何用Python检测网速,然后自动切换网关. 参考原文:How to Change Windows Gateway by Broadband Speed in Python 作者:Xiao Ling 翻译:yushulx 使用speedtest-cli测试网速 相信很多人都用过speedtest.net来测试网络速度,speedtest-cli是

linux环境下,利用tc限制两台服务器间的网速,非常简单。

最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速. ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定. 这里分享一个简单好用的脚本,只要设置一下目标ip和需要限制的速率,执行下就可以了: #!/bin/bash # # tc uses the following units when passed as a parameter. # kbps: Kilobytes per second # mbps: Megabyt

Linux下使用Speedtest测试网速

Speedtest是用来测试网络性能的开源软件,在Linux下面安装Speedtest可以用来测试网络出口的上传和下载速度,帮助排查网络方面导致的故障. Speedtest介绍 由于公司几个项目用户访问的时候响应较慢,项目本身没问题,服务及调用的接口返回信息都比较正常,猜想是网络方面造成的瓶颈,导致用户请求的时候网络响应堵塞,拉长了响应时间. Speedtest.net是比较广泛的用来测试宽带速度的网站,Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并

测试网站页面网速的Python脚本

一.测试网站页面网速脚本 [[email protected] ~]# cat check_url.py #!/usr/bin/python # coding: UTF-8 import StringIO,pycurl,sys,os,time class idctest: def __init__(self): self.contents = '' def body_callback(self,buf): self.contents = self.contents + buf def test_

使用Linux命令行测试网速

使用Linux命令行测试网速http://www.linuxde.net/2014/01/15561.html 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带速度的网站中,Speedtest.net也许是使用最广泛的. Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and P

Ubuntu 14.04 标题栏实时显示上下行网速、CPU及内存使用情况

首先当然是用wget下载indicator-sysmonitor,终端执行命令:wget -c https://launchpad.net/indicator-sysmonitor/trunk/4.0/+download/indicator-sysmonitor_0.4.3_all.deb .下载好后,先不要急于安装,因为软件有些依赖关系还没解决.终端执行:sudo apt-get install python python-psutil python-appindicator 安装依赖.sud

ubuntu14.04标题栏显示上下网速

首先当然是用 wget 下载 indicator-sysmonitor,终端执行命令: wget -c https://launchpad.net/indicator-sysmonitor/trunk/4.0/+download/indicator-sysmonitor_0.4.3_all.deb 下载好后,先不要急于安装,因为软件有些依赖关系还没解决.终端执行: sudo apt-get install python python-psutil python-appindicator 然后安装