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
                                Current Approaches to Protein Sequencing
                                by seqadmin


                                Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
                                04-04-2024, 04:25 PM
                              • seqadmin
                                Strategies for Sequencing Challenging Samples
                                by seqadmin


                                Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
                                03-22-2024, 06:39 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, 04-11-2024, 12:08 PM
                              0 responses
                              33 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 04-10-2024, 10:19 PM
                              0 responses
                              37 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 04-10-2024, 09:21 AM
                              0 responses
                              31 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 04-04-2024, 09:00 AM
                              0 responses
                              53 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X