分享

然后,需要掌握一门文本处理语言

 生信药丸 2021-07-26

    不少朋友一上来就是要整linux,要运行软件跑程序,其实...我觉得生物信息学软件的使用,更大程度上不是系统原因,也不是到底有没有看懂软件manual,反而,最大的问题是,明明软件都有,数据也有,可是软件就是不识别你的数据格式。

    关于数据格式的问题,R语言各种包的使用其实最直观,统计学大牛们各有各的想法,封装了各种统计分析,统计绘图的函数,但是每个人又有自己定义的数据输入格式,鼓捣一个R包,我觉得基本上,满足了输入格式,必然就会出结果...有道德修养的包开发者,已经考虑了各种问题,但是考虑不到的是,你千变万化的输入数据格式。

    所以第一步,应该是学一门文本处理语言。

    生物信息上,文本处理语言的争论一般在,到底是perl 还是 python

    (R也有很强大的文本处理功能....但是多用的人太少,就不提出。)

    这是一直在讨论的问题,也没有一个结论。

    总结一下大群群管会的观点:

  1. 如果课题组主要用什么,或者附近的人用什么,那么你就用什么,保持和集体的统一,有助于学习交流

  2. 如果是自己鼓捣,比如我这种,我个人是觉得,两门语言都看看,然后选择有感觉的一门...比如我看到perl之后,发现perl非常有趣,和我各种思维非常契合...当然那个时候我其实没看过python

     大概说一下我个人的看法:

    每一门语言都有人用,都流行,必然都有他的意义。

    perl是一个语言学家发明的,这门语言本身就是要来处理小事情,与此同时,要做一件相对大的事情的时候,虽然稍显繁杂,但也能完成。

    python是程序员发明的,这门语言从一开始就从程序的维护出发,每一个特性都和perl类似,灌输了作者的思想,目标就是简洁明亮,逻辑清晰,一看就懂。就像我在火车上看了一会python书,回来就能码....(前提是我已经用了一段时间的perl了)

    作为一个perl的忠实用户,我个人觉得python是一门优秀,好用,方便维护的语言,但是语言的特性决定了语言的应用场景。

    简单的序列提取,表格提取,在perl上面,只需要写一个小命令,而python上,需要导入模块,定义函数。

    但是如果要让你画一个图,或者写一个GUI工具,这个时候,python有各种优秀模块和包,写写脚本打包打包就出来了,而perl实现这个确实有点自虐。

    好的,所以问题就在于,你到底想怎么去面对你的数据,或者你手上主要用到的场景是什么?是和我一样各种繁杂的小文本,还是要开发工具?

 ===========================================================

    我个人现在基本情况是perl用来做文本处理,统计绘图用R,写稍微大的程序或者GUI用Java,绘图上一些部分也用Java,改别人的程序的时候用python,因为程序就是python的,一看就懂,不需要学。

最后,对于perl ,python 各推荐入门书籍一本

首先是Perl,小骆驼,不解释,足够你看了,我翻了很多遍,数不清了,反正非常有用实在


然后是python。。。我那次在火车上看的是python核心编程,然而这本书逻辑混乱,不认为好看,也不适合初学者,可能这就是为什么我对python没好感吧。。。

后面身边的朋友看了一本另外的书,我觉得也不错,是


    写了大半天...还说到几本结论...就是

   如果你附近都是perler,那么学perl,如果附近都是pyhoner,就学python

   如果你是'单身狗’,真的没想法,那么学perl或者python都可以,投个硬币

   如果你想用一门语言做很多很多事,那么你学python

   如果你就想学个做好文本处理的,那么就学perl,然后常见的其他任务,如统计绘图,用R,毕竟你几乎不可能不学R,哈哈哈哈哈....

   如果perl就是学不好,那么就学python,因为我见过好几个朋友就是这样过来的。

   如果python学不好,那么你学R,重点学好文本处理,然后你是我见过的第3个用R完成一切文本处理的人....

   如果上述的都不想学,恭喜你,你就是被上帝选中的人,你还有淘宝,淘宝上几乎什么都能买到,除此之外,你还有TBtools,这是一个能帮你完成各种常见生信数据下游利用的工具。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多