Technical Skills for Animal Breeding

Essential programming languages, tools, and technologies for modern animal breeding and quantitative genetics research

Start Here

The command line underneath everything else

Foundation

Linux and Bash

Bash is the glue connecting data transformation, processing, statistics and reporting. It is the shell you will meet on every cluster, and the one skill that makes all the others compose.

  • Bourne Again Shell, the GNU rebuild of the original Unix shell
  • The default shell on most Linux systems
  • Essential for pipelines and any command-line work

Programming Languages

Core languages for statistical analysis, data science, and quantitative genetics

Statistics

R

The standard language for quantitative data science in animal breeding. Strong in both frequentist and Bayesian statistical modeling.

  • Most animal breeders trained since mid-2000s use R
  • Extensive statistical packages
  • Active community and support
General purpose

Python

Top-ranked language in the TIOBE rankings. Excellent for data science, machine learning, and general-purpose programming.

  • Versatile and widely adopted, with a strong ML/AI ecosystem
  • conda installs packages and manages environments; Anaconda is the distribution that bundles it with Python
  • Anaconda needs a paid licence at organisations of 200+ staff, with academic exemptions. Miniforge carries no such condition
Performance

Julia

Modern language designed for high-performance scientific computing. Addresses limitations of R and Python with native multi-core CPU and GPU support.

  • Multiple dispatch for efficient computation
  • Better performance without vectorisation tricks
  • Growing adoption in quantitative genetics
Compiled

C, C++ and Fortran

Compiled languages for high-performance computing and legacy code maintenance. Much of the software still running national evaluations is written in these.

  • Fortran historically important in animal breeding
  • C/C++ for performance-critical code
  • Useful for understanding legacy software

Reporting and Documentation

Tools for reproducible research and professional documentation

Typesetting

LaTeX

Document preparation system for high-quality mathematical typesetting. Handles formatting for you, and is the expected format for many journals, theses and CVs.

Posit

Quarto

The newest reporting tool from Posit (formerly RStudio). Weaves text together with embedded code and its results, so a report regenerates when the data changes.

Notebooks

Jupyter

Interactive computing environment that works with Julia, Python and R. Produces notebooks combining code, visualisations and narrative text.

Editors and IDEs

Where the code actually gets written. Any of these will do the job; pick one and learn it properly

Microsoft

VS Code

The default general-purpose editor, with extensions for R, Python, Julia and Fortran. Remote-SSH is the reason to learn it here: you edit files on the cluster as if they were local.

Posit

Positron

Posit’s newer IDE, built on the same open-source base as VS Code but aimed at data work. Treats R and Python as equals rather than one as a guest, and keeps a data explorer and variables pane alongside the editor.

Posit

RStudio

The long-standing R IDE, and still the most comfortable place to write R. Not strictly R-only: reticulate runs Python inside it, and Quarto is built in. Python is workable but second-class.

JetBrains

PyCharm

Python only, and the strongest of them at it: the best refactoring and debugger of the group. Worth it if you maintain a large Python codebase rather than write scripts.

AI-first

Cursor

A fork of VS Code with an AI agent built into the editor rather than bolted on. Familiar immediately if you already use VS Code.

Terminal

Neovim

A modal editor that runs in the terminal, so it works over SSH on any cluster with no GUI and no setup. A steep curve, but it is the one editor guaranteed to be there.

AI Coding Assistants

Terminal agents and desktop apps that read your code, run commands and write alongside you

Anthropic

Claude Code

Anthropic's coding agent, run from the terminal or an IDE. Strong at working across a whole project: reading code, editing files and running commands, as well as technical writing.

OpenAI

Codex

OpenAI's coding agent. The CLI runs in the terminal against your local repository, and the same models are available through the ChatGPT desktop app.

Google

Gemini CLI

Google's open-source terminal agent, with a large context window and multimodal input for code, analysis and documentation.

GitHub

Copilot CLI

GitHub’s agent for the command line, closely tied to repositories, issues and pull requests if your work already lives on GitHub.

AI Agents and Workflow Automation

Platforms for building agent pipelines and connecting services

Open source

n8n

Workflow automation platform for building agent pipelines and connecting services. Can be self-hosted, which matters when the data cannot leave your organisation.

Hosted

Zapier

No-code automation platform for connecting apps and building AI-powered workflows without running any infrastructure yourself.

Learning path. Start with Linux and Bash fundamentals, then choose R or Python based on your focus. Add reporting tools as you develop projects requiring documentation. Explore AI tools to enhance productivity and automate repetitive tasks.