First steps

The target audience of this site is trainees at NIH wanting to improve their computational skills. This could be to make a career change, to boost your marketability, to know what skills to hire for when you start your own lab,

For many trainees, it can be difficult to find the time to improve your computational skills while also trying to maintain productivity in the lab. Learning R or Python is literally learning a new language, requiring practice and repeated exposure to pick it up.

Persistence and patience will be very important!

Start here

The following three articles introduce general concepts and terminology, give great advice for how to learn and ask questions, and get you in the right mindset for learning bioinformatics and programming in general. They are about learning how to learn, which is probably the most important single skill you can have.

  1. Ten simple rules for biologists learning to program, a PLOS Computational Biology article. It has the following rules:

    • begin with the end in mind

    • baby steps are steps

    • immersion is the best learning tool

    • phone a friend

    • learn how to ask questions

    • don’t reinvent the wheel

    • develop good habits early on

    • practice makes perfect

    • teach yourself

    • just do it

    Make sure you read Fig 2 through Fig 5 carefully – this is exactly the sort of puzzle you will encounter thousands of times throughout your programming career!

  2. So you want to be a computational biologist?, published in Nature Biotechnology. This is advice from two computational biologists on starting out on computational projects.

  3. How to be a wizard (at programming). This one is about how to ask experts the right kinds of questions, how to build expertise, and gaining the confidence to figure out answers that nobody knows. The illustrations take some getting used to, but the content is excellent and very important.

Next steps

The next steps you take will depend on your learning goals.

Start with Command line if any of the following are true:

  • you plan to run any sort of command-line bioinformatics tools

  • you plan to use NIH’s Biowulf high-performance computing cluster

  • you would like to get experience using Linux

  • you want to have a strong foundation before moving on to other topics

Start with Choosing R or Python if you don’t know which programming language to learn first.

Start with Python or R if you know what language you want to learn first.

Start with Biology if you are a computer scientist looking to learn more biology.