What programming languages do I need to learn?

What programming languages do I need to learn?#

This depends on the nature of your project.

If you need to do some big-data analysis, you will probably be using Python or R, which for whatever reasons, have a large number of packages for bioinformatics analysis.

If you are building your own software, you might want to do rapid prototyping in Python; but if speed is a concern, you might want to build it in, say C++. Previously, students have also used Rust.

If you are building a pipeline that ties together separate existing tools for your own bespoke analysis, then you might want to look at workflow management systems like Snakemake, WDL, and Nextflow.

The lab also has experience with web application development using Python- and-Javascript-based frameworks like Flask and Dash.

Here are some resources:

Python#

R#

Snakemake#

WDL#

Nextflow#