# Modern Programming in Genomic Prediction ### Authors: Rohan Fernando, Hao Cheng ### License: GNU General Public License v2.0 The purpose of this short course is to help you develop skills in computer programming and algorithm development useful for research projects and applications in quantitative genetics, especially genomic prediction. Julia, which is a modern programming language, will be used for this course. It is assumed that you have some programming experience, and concepts in genomic prediction will be introduced through examples. The focus of this course is not Julia. Rather, it is the use of Julia for applications in quantitative genetics. These include: * Mixed effects models with polygenic, maternal and permanent environment effects * Use of pedigree information * Iterative methods for solving linear systems, e.g, Jacobi, ‎Gauss–Seidel * GBLUP and Bayesian alphabet * Variance component estimation * Single-step methods ```mermaid graph LR A[Phenotypes] -- CSV.read --> B((build_model)) E[Pedigree] -- get_pedigree --> B((build_model)) F[Genotypes] -- get_genotype --> B((build_model)) B -- set_random --> D{??} B -- set_covariate --> G{??} G -- runMCMC --> C(??) D -- runMCMC --> C(??) ``` ### Useful resources * [Matrix Cookbook](https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf) * [Julia Cheatsheet]([http://qtl.rocks/notes/JuliaCheatSheet.pdf](http://qtl.rocks/notes/JuliaCheatSheet.pdf)) <!--stackedit_data: eyJoaXN0b3J5IjpbMjUwNjM1MjUyXX0= -->