In the field of bioinformatics, who is more powerful, easy-to-use, and represents the direction of future development in Python and Perl?

Source: Internet
Author: User
Tags perl script learn perl

Reply content:

Laxatives.
    1. First of all, my personal proposition is: Python!
    2. 3 years of experience in bioinformatics application development and data analysis show that I chose Python and recommended that my colleagues and friends around me try and choose Python, which is very efficient, at least to overcome some of the drawbacks of previous Perl.
    3. The empty language dispute in the procedural ape is a violation of professional conduct, but put in a particular scene may be beneficial to the novice also triggered others thinking. In the case of biological information, language is a secondary problem, the most important of which is modeling and solving rather than tool selection, and sometimes it is not possible to select languages when using other people's programs.
    4. In particular, the Python code itself is easier to read and understand than Perl, which is less controversial, and for non-disposable programs, especially the pipeline class, there is a higher requirement for "easy to change", and we don't want a lengthy Perl script to be read after three months ... And the sense of awe of those weird symbols >=< another aspect, because of historical reasons, previously accumulated bioinformatics databases and open source programs/public programs (for some reason, people just share their own programs, without any open source licenses) Mostly Perl builds, And later generations to learn and reproduce also continue to study Perl; But in fact it is not necessary, do not need to use Perl for this, but in practice people have limited energy, learning a language is better than learning two easy.
    5. For the bioxxx aspect, actually very similar, only the Community activity degree is different. At least I have seen and used many of the procedures and analysis process, Perl is mainly used for small scripts, Python is often used for pipeline concatenation and some analysis method implementation, R is mainly statistical and results visualization (with Bioconductor), as for the output of SVG, It is basically language-independent, to see their preferences. Other Web classes of tools, or workbench, and so on, Java-based building is also a few, such as solid part of the tool, CLC Workbench, seemingly swt? Wait a minute. Even Broad's IGV browser uses the Java Web Start technology (less), perhaps it can consider JavaFX in the next version!!
In summary, Perl and Python each have their own advantages and disadvantages, in order to learn and reproduce the achievements of predecessors, learning Perl is understandable, in order to develop and analyze data in practice, it is preferred to recommend Python.

By the way, we recommend the foreigner's discussion for reference:
    • / http biostar.stackexchange.com /questions/2742/perl-or-python-for-comparative-genomics
    • / http Network.nature.com/grou ps/bioinformatics/forum/topics/1611
    • http://www. quora.com/bioinformatic S/how-did-perl-start-off-as-the-dominant-language-in-bioinformatics
As a user of both languages, Python is really the first choice for scripting, beautiful and understandable. But one of the reasons I can't keep up with Perl is that it's powerful at handling text, because most of the bioinformatics work is all about formatting and text processing, and Perl is powerful enough to do the python dozens of-line script with a single line of command, and it's about the same as writing the shell command line, But it can be better than the shell command line, because these processing tasks are generally used only once, so there is no maintenance of the problem, but it is very time-saving to write in Perl. So generally write large programs I will use Python, other text processing tasks with Perl.
Here's a good tutorial for teaching Perl single-line commands, learn to benefit.
http://www. Catonmat.net/blog/intro duction-to-perl-one-liners/ Agree that the language itself is not strong or weak points, but the overall python is more powerful, on the one hand Google in support, the use of more active people, on the other hand, Python is more rich, can do text processing, statistical analysis, and even drawing, learn a door, for Perl can only do text processing, Statistics and mapping have to learn R again. There is a long history of the dispute between Perl and Python. Here, look at what I've collected, what everybody says.

There is a long history of comparison and controversy between Perl and Python about bioinformatics, and here I give only a few links:

Do bioinformatics: Python or perl?
Powerful yet easy-to-learn programming language Python_ has a blog
Please expert pointing: Bioinformatics Application, learn Perl or learn python better?
Recommended Python for students ' material information


2013 I was in the China Unix Forum Perl and Python version, did a survey on this issue, and now there are a lot of people involved, to the end of 2014 about 200+150 people to participate, you can also refer to:

Perl usage Survey for Python-python-chinaunix.net python version

Perl usage Survey for Python-perl-chinaunix.net perl version

Perl's interface is a huge piece of Shi: it forces you to write interfaces in the Perlxs language, and the name of the API is a piece of shi.
Casually look at the Python interface, as if to be much cleaner.

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

Recently, in order to learn python, a simple code generator was written in Python. It feels like Python is still a lot less convenient than Perl to build everyday scripts:
    • There can be only one statement in the LABMDA. For a little bit of trouble (but not so troublesome) of the sort, mapping, you have to open the function, and not directly placed here.

    • Regular expressions are not as easy to use as Perl. Perl, for example, can be simply written as:
$foo =~ /Some(Reg)Exp/ or die "failed to parse foo for XXX";my $wanted_part = $1;
With Perl for nearly 10 years, there is no place to find what is not to Python, language is a tool, is that you use, as with the PC or Mac, proficiency is different, but the language is not strong or weak, but Python open source packages and update frequency may be faster than Perl.
In addition, I personally think that the Python learning curve is relatively flat. At least I've been in touch with Perl for years, and I still can't write it ... Daniel door can be photographed. Perl and Python and the relationship between the letter is not good or bad ~ because you can skip the study of Perl and Python, the direct application of Bioperl and biopython~ doge~ Moreover, until the language is eliminated, we are old ~ awk how old Ah, Now is not always very powerful to use ~ Letter so many text, you have to use Java to deal with ... Sometimes simple does not mean that the elimination, but in a specific situation means strong ~ for the future development-github~ above the first tide of all ~python bar, not only can do experiments, but also directly out of industrial-grade code, Biopython is good to learn better, Unless in the future the advantages of each other to absorb all, then you can not learn.
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.