Top Resources for Learning a NGS Programming Language

by

last updated: April 2, 2020

In my previous article ‘Choosing a scripting language for next gen sequencing: Python, Perl, and more’ I discussed several of the more common programming languages used for next generation sequencing and things to consider when picking which one to learn.  But now that you know WHAT you want to learn, HOW do you go about learning it? Here are some helpful suggestions to set you on your way. You may want to try a few methods to see what works best for you – different strokes for different folks!

Take a Class

Are you affiliated with a university? If so, you may want to learn a language by auditing a course or taking it for credit. Ask around. Languages like Python and R are becoming standard in many graduate bioinformatics classes. Not affiliated with a university? No problem! You can try a massive open online course (or MOOC). EdX, for example, offers an Introduction to Computer Science and Programming using Python. And if you are not ready to commit to a single language quite yet, consider trying out Python, JavaScript, or Ruby using Codecademy’s short and easy lessons.

Check Out Online Tutorials

Biopython has a great tutorial/cookbook available online. Same for BioPerl, which offers a very helpful beginner’s how-to tutorial as well as walkthroughs of more advanced topics. There are also BioRuby, BioJS, BioJava, and BioConductor tutorials, which beginners will find useful.

Read a Book

The O’Reilly series are great resources for those wanting to learn programming. In particular Beginning Perl for Bioinformatics and Mastering Perl for Bioinformatics by James Tisdall are classics. However, if it’s Python you are interested in, check out Bioinformatics Programming Using Python by Mitchell Model. Plenty of books on other languages are available as well.

Get Help from Peers and Share Your Own Knowledge Online

Online forums such as Biostars and SEQanswers are great for getting help with your coding problems.

Ask Your Colleagues!

All of the resources listed above are great, but often the simplest way to solve a pesky problem is to ask for help from someone you know. A friendly colleague with expertise in your language can respond to the questions you cannot find a simple answer for online or in a book, help you troubleshoot complicated problems, and share their strategies for overcoming scripting hurdles. Many people are happy to welcome a new programmer into the ranks, especially if it is clear that you are dedicated to learning. However, if someone spends a significant amount of time helping you, it can’t hurt to show your appreciation by treating them to a coffee or taking them out for lunch!

Don’t Forget to Have Fun

Check out websites like homolog.us and the bioinformatics sub-reddit for bioinformatics news and snark. Listen to this Science Friday about how coding is the language of the digital age – and feel a surge of pride that you’re learning how to code. You could also check out your local meetup groups in your city to see if there are any local coding groups you can join. Finally, there are some excellent articles on developing coding skills for bioinformatics. If you would like additional help with making a learning plan, consider reading Dudley and Butte’s Quick Guide for Developing Effective Bioinformatics Programming Skills. Good luck and happy coding!

Kristen has a PhD in Population Biology, Ecology, and Evolution, and a Master of Public Health in Global Epidemiology from Emory University.

More 'Genomics and Epigenetics' articles