Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Preferred languages to work in?

    Hello everybody,

    My rather limited bioinfromatics skills come from having done some microarray data analysis in R (following a template code) and some minor coursework. So, I consider myself quite a newbie to the subject. I will quite soon be shaking hands with some sequencing data (from a Helicos machine) and need to prepare myself for this.

    Being of a younger generation, I would say I can handle computers pretty well. So far I have, as recommended in this nice thread, started to take a look at the Unix and Perl for Biologist tutorial and installed Ubuntu in Virtual PC on my Windows computer.

    What I'd like to ask you, SEQanswers community, is whether you can suggest me anything helpful. Am I starting out in the right way? I will get some bioinformatics help along the way, though I am unsure to what extent. Also, I see this as a part of my future career, so I am not just doing this for one particular project.

    Edit: I have just realized that the Helicos software package uses Python.
    Last edited by Calico; 04-20-2010, 08:07 AM.

  • #2
    learn Java for now and Python for later. Many of the startup companies are looking for these skills combined with bioinformatics analysis skills.

    Comment


    • #3
      I think the oposite is better

      I think it's better to learn python first because it's software development is easer to use, you just need the interpreter and a text editor, java on the other hand needs eclipse, maven, ant, XML files, etc, etc.

      Learn the basic concepts in phyton quick and them go to Java.

      Comment


      • #4
        Maybe so, the reason I recommended Java first was it would open up more career opportunities, and Python is still relatively new but growing in demand.

        Comment


        • #5
          Maybe there is more jobs for java programmers, but learn python will not hurt and will be faster them learn java.

          PS: Python is 4 years older than java:


          Comment


          • #6
            I'd go for perl :-)

            Comment


            • #7
              Learning PERL is very easy:I have taught college student in 7 days using exercises from this awesome bible of mine: http://oreilly.com/catalog/9780596001322
              if you have never programmed before, after you can write PERL scripts (~3 months regular practise), you can start python as the transition is easy -> it will also give you a lot of confidence which is really what biologists' biggest problem is.

              People, what do you all think about C++ versus Java, which is more sought after in industry?

              Comment


              • #8
                Originally posted by Calico View Post
                Hello everybody,

                My rather limited bioinfromatics skills come from having done some microarray data analysis in R (following a template code) and some minor coursework. So, I consider myself quite a newbie to the subject. I will quite soon be shaking hands with some sequencing data (from a Helicos machine) and need to prepare myself for this.

                Being of a younger generation, I would say I can handle computers pretty well. So far I have, as recommended in this nice thread, started to take a look at the Unix and Perl for Biologist tutorial and installed Ubuntu in Virtual PC on my Windows computer.

                What I'd like to ask you, SEQanswers community, is whether you can suggest me anything helpful. Am I starting out in the right way? I will get some bioinformatics help along the way, though I am unsure to what extent. Also, I see this as a part of my future career, so I am not just doing this for one particular project.

                Edit: I have just realized that the Helicos software package uses Python.
                If you're looking to leverage the Bio* libraries (BioPerl, BioJava, BioPython, BioRuby etc.) just be aware they are not all equally mature, nor equally good as each other for certain tasks.

                Depending on what your likely use case is, I would check to see what is mature and developed in your area. I've run into issues a couple of times recently with BioRuby that have been easily solved by switching to BioPython.

                As an ex-Perlist, I can really only suggest that for a nice balance of language design and tooling maturity - Python is a good way to go. I'd still love to get some competency in Java however, but if you want things to work, and work fast, let's face it you will get much more traction in Python first.

                Comment


                • #9
                  I taught myself Perl as well, its very easy and I'd say a good introductory language.

                  Comment


                  • #10
                    I was hoping for a uniform answer. This leaves me with some thinking to do.

                    Thanks for the input.

                    Comment


                    • #11
                      just to add my 2 cents:

                      a) threading in JAVA is easy! if you plan to work with huge datasets on multicore processors this is an important issue. i managed to reduce computation times in orders of magnitude by exporting my data let's say from R and do multicore processing in java.

                      b) programming is very easy when you have powerful IDE's that allow for easy variable/method renaming and other fancy stuff. I use intellij IDEA and coding is a charm. if you plan to do a lot of coding this might be a relevant issue as well.

                      Comment


                      • #12
                        Originally posted by Calico View Post
                        I was hoping for a uniform answer. This leaves me with some thinking to do.

                        Thanks for the input.
                        I suggest you make an evidence-based decision. Go to monster.com, careerbuilder.com, and job sections for various organizations/companies seeking bioinformatics people, do a search for "bioinformatics", find the job listings that sound like what you want to do, and see what languages they are looking for. Based on what I've seen, they look for Java, Python, and Perl and a few others.

                        Comment


                        • #13
                          Another vote for python, especially when you are dealing with data in various custom formats. Java is more appropriate when you develop algorithms or when modules are available for tedious format parsing. Between perl and python, it seems that most people who know both perl and python like python better, although I know perl only.

                          Comment


                          • #14
                            My opinion from a biologist point of view...
                            I've tried two times to learn Java and finally gave up, maybe because my brain is not made up for understanding so much of classes attributes etc. I taught myself Perl and R (with help from userlists, of course!) with some good results (I would say). My next steps: continue improving Perl and start Python.

                            HTH

                            Comment


                            • #15
                              One more vote for Python. I spent my grad career developing in Perl and C++. For some reason, I always wrote Perl code as "one-off" scripts. Moreover, the syntax and code structure made it difficult for me to make sense of even my most well-documented Perl scripts.

                              On the other hand, from the moment I began using Python, I started developing more in the style I do when writing C++ tools: that is, with an emphasis on code "reusability" and clarity. For some reason, Python just "feels" good and lends itself to clean, simple and reusable code. The best part is that its approach to object orientation is rather well done and allows one to think the same way as when writing Java or C++ code.

                              Therefore, I think learning Python first with a concerted effort towards learning objects, iterators, inheritance and developing modules, would be best. It will make a transition to Java or C++ much easier.

                              Comment

                              Latest Articles

                              Collapse

                              • seqadmin
                                Recent Developments in Metagenomics
                                by seqadmin





                                Metagenomics has improved the way researchers study microorganisms across diverse environments. Historically, studying microorganisms relied on culturing them in the lab, a method that limits the investigation of many species since most are unculturable1. Metagenomics overcomes these issues by allowing the study of microorganisms regardless of their ability to be cultured or the environments they inhabit. Over time, the field has evolved, especially with the advent...
                                09-23-2024, 06:35 AM
                              • seqadmin
                                Understanding Genetic Influence on Infectious Disease
                                by seqadmin




                                During the COVID-19 pandemic, scientists observed that while some individuals experienced severe illness when infected with SARS-CoV-2, others were barely affected. These disparities left researchers and clinicians wondering what causes the wide variations in response to viral infections and what role genetics plays.

                                Jean-Laurent Casanova, M.D., Ph.D., Professor at Rockefeller University, is a leading expert in this crossover between genetics and infectious...
                                09-09-2024, 10:59 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, 10-02-2024, 04:51 AM
                              0 responses
                              8 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 10-01-2024, 07:10 AM
                              0 responses
                              14 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 09-30-2024, 08:33 AM
                              0 responses
                              18 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 09-26-2024, 12:57 PM
                              0 responses
                              16 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X