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
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
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
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
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
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
LaTeX
Document preparation system for high-quality mathematical typesetting. Handles formatting for you, and is the expected format for many journals, theses and CVs.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
Gemini CLI
Google's open-source terminal agent, with a large context window and multimodal input for code, analysis and documentation.
AI Agents and Workflow Automation
Platforms for building agent pipelines and connecting services
n8n
Workflow automation platform for building agent pipelines and connecting services. Can be self-hosted, which matters when the data cannot leave your organisation.
Zapier
No-code automation platform for connecting apps and building AI-powered workflows without running any infrastructure yourself.