Answers.Body: <p>Regading the perl vs python discussion, there is no final answer which language is better, but I have some advice for you:</p>
  
  <p><strong>Learn the language your colleagues or your advisor use</strong>. This way you are able to discuss your code with them and also get help if you run into problems.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-19T15:28:20.597Z
Answers.Text: I think that the question is more about the libraries than about the language itself.
Answers.UserDisplayName: Karel Břinda
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-13T08:12:58.063Z
Answers.LastActivityDate: 2017-06-13T13:09:37.473Z
Answers.LastEditDate: 2017-06-13T13:09:37.473Z
Answers.UserDisplayName: Wayne_Yux
Answers.Body: <p>Currently you could use either but a major question is which platform will others be using in the future. AFAIK Perl is only superior to Python for regex.</p>
  
  <p>Based on the trend I see for new programmers and new software being released: Perl is on the way out and Python is still growing.</p>
  
  <p><a href="https://trends.google.com/trends/explore?date=all&amp;q=bioperl,biopython" rel="noreferrer">https://trends.google.com/trends/explore?date=all&amp;q=bioperl,biopython</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-15T12:40:39.777Z
Answers.Text: “AFAIK Perl is only superior to Python for regex.” — Andy `use strict;`, which has absolutely no equivalent in Python. There are linters, but nothing substitutes the requirement — provided in Perl by `use strict` — to explicitly declare identifiers (via `my`). I like Python but it gives incredibly weak correctness guarantees; even JavaScript surpasses it in this regard.
Answers.UserDisplayName: Konrad Rudolph
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-13T09:49:44.683Z
Answers.LastActivityDate: 2017-06-13T09:49:44.683Z
Answers.UserDisplayName: story
Answers.Body: <p>This usually comes down to religious issues, so let me try and steer it back to more objective grounds:</p>
  
  <ul>
  <li>What language do you know (better)? Use the library for that one.</li>
  <li>If you know neither and will be learning a language to use the library, the majority opinion would be that Python is easier to learn.</li>
  <li>However, some people say that they "click" with Perl better</li>
  <li>Python is what the majority of bioinformaticians are using at the moment (about 60%). And there is a virtue and aid in using what everyone else is.</li>
  <li>What are your colleagues / collaborators going to be using?</li>
  <li>Broadly, newer libraries tend to be written in Python.</li>
  <li>Conversely, many sing the praises of regular expressions and string handling in Perl, citing speed and ease of use.</li>
  <li>I think the numerics support in Python may be markedly better than that in Perl.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-28T08:04:11.173Z
Answers.Text: Agree with agapow's breakdown (even though I'll probably always prefer Ruby over Python). Just as a comment you do find that alot of legacy projects at places like the Sanger use Perl. Depending on what you're aiming to to do initially I wouldn't discount R especially if your project is stats heavy. Later languages to pick up could include Java and other languages that run on the JVM like Clojure / Scala / Groovy which can use Biojava (via Java interop), or something like Rust with Rust-Bio if you want performance. Just make sure you don't start coding in Python 2.7...
Answers.UserDisplayName: Pasted
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-04T22:41:49.450Z
Answers.Text: I think your 60% number is about right, but I was wondering where you got it from. Do you have a source or is that just your impression?
Answers.UserDisplayName: terdon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-05T14:25:50.913Z
Answers.Text: The 60% is from a survey of published software from a few years a go. No, I don't have the reference.
Answers.UserDisplayName: agapow
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-13T08:44:30.520Z
Answers.LastActivityDate: 2017-06-13T08:44:30.520Z
Answers.UserDisplayName: agapow
Answers.Body: <p>I agree with @story and @agapow here. As it stands right now BioPerl is still much more mature than BioPython. If there's a tool or method that only exists in the BioPerl library then you should probably use BioPerl to accomplish what you need to accomplish. But it's undeniable that BioPython is progressing very quickly and will soon overtake BioPerl. That being said there are still a lot of plus side regarding Perl in the Bioinformatics realm and it will definitely help to be somewhat competent in it. </p>
  
  <p>So in short my answer is to use both! I find myself mostly using Python and BioPython but if I need to accomplish something using a tool that isn't available in the BioPython library or can be accomplished more quickly using Perl I will look towards BioPerl/Perl. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-13T14:59:54.690Z
Answers.LastActivityDate: 2017-06-13T14:59:54.690Z
Answers.UserDisplayName: quantik
Body: <p>Are there any advantages to learning Biopython instead of learning Bioperl?</p>
  
  <p>Ideally, we would learn both, but someone starting out in bioinformatics may have to choose what to learn first depending on the kind of problems actually encountered.</p>
  
  <p><strong>Are there problems for which Biopython is better than Bioperl (or vice-versa)?</strong></p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-13T05:36:24.610Z
Comments.Text: This question is almost entirely opinion based, and therefore generally discouraged on Stack Exchange sites. This is easier to see if you replace 'Biopython' with 'python' and 'Bioperl' with 'perl'.
Comments.UserDisplayName: gringer
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-13T08:41:49.520Z
Comments.Text: The only possible objective answer is - advantage of biopython is that it is module in python, on the other hand bioperl has an advantage of being module of perl. So you can reduce your question to "python or perl?" and that's a holy war, not question.
Comments.UserDisplayName: Kamil S Jaron
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-13T15:14:03.457Z
Comments.Text: If you can, learn both, and even learn R.
  
  But prefer Python if you are to write code that others will need to read, understand and eventually modify. In my (admittedly biased) experience, Python code tends to be easier to understand.
Comments.UserDisplayName: bli
Tags: <python><perl>
Title: For what bioinformatics tasks is Biopython more adapted than Bioperl?
ThreadText: # For what bioinformatics tasks is Biopython more adapted than Bioperl?
  
  (Asked by: username_0 on 2017-06-13)
  
  Are there any advantages to learning Biopython instead of learning Bioperl?
  
  Ideally, we would learn both, but someone starting out in bioinformatics may have to choose what to learn first depending on the kind of problems actually encountered.
  
  **Are there problems for which Biopython is better than Bioperl (or vice-versa)?**
  
  **Tags:** python, perl
  
  > **Comments:**
  > **username_1**: This question is almost entirely opinion based, and therefore generally discouraged on Stack Exchange sites. This is easier to see if you replace 'Biopython' with 'python' and 'Bioperl' with 'perl'.  
  > **username_2**: The only possible objective answer is - advantage of biopython is that it is module in python, on the other hand bioperl has an advantage of being module of perl. So you can reduce your question to "python or perl?" and that's a holy war, not question.  
  > **username_3**: If you can, learn both, and even learn R.  But prefer Python if you are to write code that others will need to read, understand and eventually modify. In my (admittedly biased) experience, Python code tends to be easier to understand.  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_4 on 2017-06-13. Score: 5
  
  Regading the perl vs python discussion, there is no final answer which language is better, but I have some advice for you:
  
  **Learn the language your colleagues or your advisor use**. This way you are able to discuss your code with them and also get help if you run into problems.
  
  > **Comments:**
  > **username_5**: I think that the question is more about the libraries than about the language itself.  
  
  ---
  
  ### Answer by username_6 on 2017-06-13. Score: 5
  
  Currently you could use either but a major question is which platform will others be using in the future. AFAIK Perl is only superior to Python for regex.
  
  Based on the trend I see for new programmers and new software being released: Perl is on the way out and Python is still growing.
  
  <https://trends.google.com/trends/explore?date=all&q=bioperl,biopython>
  
  > **Comments:**
  > **username_7**: “AFAIK Perl is only superior to Python for regex.” — Andy `use strict;`, which has absolutely no equivalent in Python. There are linters, but nothing substitutes the requirement — provided in Perl by `use strict` — to explicitly declare identifiers (via `my`). I like Python but it gives incredibly weak correctness guarantees; even JavaScript surpasses it in this regard.  
  
  ---
  
  ### Answer by username_8 on 2017-06-13. Score: 4
  
  This usually comes down to religious issues, so let me try and steer it back to more objective grounds:
  
  * What language do you know (better)? Use the library for that one.
  * If you know neither and will be learning a language to use the library, the majority opinion would be that Python is easier to learn.
  * However, some people say that they "click" with Perl better
  * Python is what the majority of bioinformaticians are using at the moment (about 60%). And there is a virtue and aid in using what everyone else is.
  * What are your colleagues / collaborators going to be using?
  * Broadly, newer libraries tend to be written in Python.
  * Conversely, many sing the praises of regular expressions and string handling in Perl, citing speed and ease of use.
  * I think the numerics support in Python may be markedly better than that in Perl.
  
  > **Comments:**
  > **username_9**: Agree with username_8's breakdown (even though I'll probably always prefer Ruby over Python). Just as a comment you do find that alot of legacy projects at places like the Sanger use Perl. Depending on what you're aiming to to do initially I wouldn't discount R especially if your project is stats heavy. Later languages to pick up could include Java and other languages that run on the JVM like Clojure / Scala / Groovy which can use Biojava (via Java interop), or something like Rust with Rust-Bio if you want performance. Just make sure you don't start coding in Python 2.7...  
  > **username_10**: I think your 60% number is about right, but I was wondering where you got it from. Do you have a source or is that just your impression?  
  > **username_8**: The 60% is from a survey of published software from a few years a go. No, I don't have the reference.  
  
  ---
  
  ### Answer by username_11 on 2017-06-13. Score: 1
  
  I agree with @username_6 and @username_8 here. As it stands right now BioPerl is still much more mature than BioPython. If there's a tool or method that only exists in the BioPerl library then you should probably use BioPerl to accomplish what you need to accomplish. But it's undeniable that BioPython is progressing very quickly and will soon overtake BioPerl. That being said there are still a lot of plus side regarding Perl in the Bioinformatics realm and it will definitely help to be somewhat competent in it.
  
  So in short my answer is to use both! I find myself mostly using Python and BioPython but if I need to accomplish something using a tool that isn't available in the BioPython library or can be accomplished more quickly using Perl I will look towards BioPerl/Perl.
  
  
  ---
  
  