最近在学python

至于为什么最近在学python,主要是自己最近刚换了职业,现在主要是搞生信。还专门问了几个老同事,都建议说python,哪怕这些同事大部分都是perl玩的溜,其中一个同事就说,虽然你的R水平可以了,但是还是要专门学一个流程性的语言,要么学perl要么学个python。

什么叫做流程性语言呢
其实我也不是很懂,但是我的R在服务器上总觉不够胶水,就是说只能做某一件特定,或者几件特定的事情。如果想搞成那种从头到尾的流程,还差的很远。尤其是我最近在搞病毒片段整合人类基因组的分析。发现简简单单的几步软件,我竟然要写八九个shell脚本。输入文件和输出文件越来越混乱。

所以我想学个流程控制软件snakemake,得了,是python写的软件。好吧,我硬着头皮看别人在github上的snakemake脚本,真的是举步维艰,看的一知半解,没有任何效果。

所以想想还是从头学起吧。

其实我也不是第一次学习python,之前19年过年的时候,嗯,就是那个疫情爆发的一年,我其实专门买了一本《Python编程:从入门到实践》。这本书是我精挑细选的,大家都说好!我也仔细看了半本书,为什么是半本书呢,因为后面就开始开发项目,比如制作小游戏,做个小程序啥的。这些我不需要,而且后面会太吃力。遂放弃~,但别人要说我没还好好读,这个我是不承认的。因为我确实很仔细的读了,代码也认真敲了,就是效果其实不咋地。

现在想想:

  1. 一是自己没有完全脱离R的思维,总觉的:“靠,这么简单的功能,我R里面分分钟实现,mmp我竟然还要学这种简单的狗东西
  2. 二是自己初次接触,接受度有限。导致最后觉得:“嗯,不过如此嘛,老子会R,还用python干什么”

当然现在这种思维也没完全摆脱,但是自己是越来越清楚R语言的局限性了。总之自己学python断断续续,因为总是没认真当回事,所以时间和功夫也花了,但进步还是缓慢的。

但最近自己又去学了python(应该算第三次投入空闲时间去学习了,之前还有一段时间学python的panda数据处理)。感觉明显好太多了,认识到了python的强大之处。基本的概念也更清晰了一点。

写个爬虫

嗯,没错,上次疫情为啥突然学python,就是每天新冠疫情的数据更新,每天都会关注日增感染人数等。所以就在Github上fork了一个大佬的爬虫。人家是用python写的,牛逼,当时我看了几天,也搞了个不伦不类的爬虫,用R画了个感染人数的地图就over了。详情可以看另一篇文章——《地图可视化-新冠肺炎全球感染人数》

这次我又准备写个爬虫,原因是最近我在下载一个数据库,数据库骚的是用PubMed ID来作为数据来源文章的标识。额,我需要的是文章的标题,年份,链接,和期刊啊。所以我决定爬下PubMed的网站,把自己想要的数据down下来。

脚本已经写好了,其实用起来很简单。只需要点击这里,去Github上下载pubmedid2info.py文件。然后放在自己的目标文件下中,在python中设置好路径即可。如下

import sys
sys.path.append(r'E:\webdata\pubmedid2info.py')
"""需要安装requests和bs4、openpyxl"""
from pubmedid2info import pubmedid2info
"""需要输入列表格式的PubMed ID"""
pubmedid = ["26735580","25581428"]
pubmedid2info(pubmedid)
"""会自动生成一个test.xlsx的文件"""

今天就到此结束了,完结!