Problem 1: Marker Effects Model

Predict genomic breeding values using a marker effects model. The dataset is available from

https://charlotte-ngs.github.io/asmss2023/data/asm_geno_sim_data.csv 

Hints

  • The variance \(\sigma_q^2\) of the marker effect is \(3\).
  • The residual variance \(\sigma_e^2\) is \(36\)
  • The sex of each animal can be modelled as a fixed effect

Your Solution

  • Read the data
  • Setup mixed model equations to predict marker effects for all the SNP-loci
  • Compute predicted genomic breeding values based on the estimated marker effects

Problem 2: Breeding Value Based Model

Use the same dataset as in Problem 1 to predict genomic breeding values based on a breeding-value model. The dataset is available from

https://charlotte-ngs.github.io/asmss2023/data/asm_geno_sim_data.csv 

Hints

  • The genomic variance \(\sigma_u^2\) of the marker effect is \(9\).
  • The residual variance \(\sigma_e^2\) is \(36\)
  • The sex of each animal can be modelled as a fixed effect
  • Use the following function to compute the genomic relationship matrix \(G\) based on the matrix of genotypes
computeMatGrm <- function(pmatData) {
  matData <- pmatData
  # check the coding, if matData is -1, 0, 1 coded, then add 1 to get to 0, 1, 2 coding
  if (min(matData) < 0) matData <- matData + 1
  # Allele frequencies, column vector of P and sum of frequency products
  freq <- apply(matData, 2, mean) / 2
  P <- 2 * (freq - 0.5)
  sumpq <- sum(freq*(1-freq))
  # Changing the coding from (0,1,2) to (-1,0,1) and subtract matrix P
  Z <- matData - 1 - matrix(P, nrow = nrow(matData), 
                             ncol = ncol(matData), 
                             byrow = TRUE)
  # Z%*%Zt is replaced by tcrossprod(Z)
  return(tcrossprod(Z)/(2*sumpq))
}
  • If the genomic relationship matrix \(G\) which is computed by the function above cannot be inverted, add \(0.05 * I\) to \(G\) which results in \(G^*\) and use \(G^*\) as genomic relationship matrix.

Your Solution

  • Read the data
  • Compute the inverse genomic relationship matrix using the given function for the genomic relationship matrix
  • Setup mixed model equations to predict genomic breeding values

Latest Changes: 2023-05-14 09:14:12 (pvr)

LS0tCnRpdGxlOiBBcHBsaWVkIFN0YXRpc3RpY2FsIE1ldGhvZHMgLSBOb3RlYm9vayA3CmF1dGhvcjogUGV0ZXIgdm9uIFJvaHIKZGF0ZTogJzIwMjMtMDUtMTQnCm91dHB1dDogaHRtbF9ub3RlYm9vawpwYXJhbXM6CiAgZG9jdHlwZToKICAgIGxhYmVsOiBEb2N1bWVudCBUeXBlCiAgICB2YWx1ZTogc29sdXRpb24KICAgIGNob2ljZXM6CiAgICAtIGV4ZXJjaXNlCiAgICAtIHNvbHV0aW9uCiAgICAtIG5vdGVib29rCiAgaXNvbmxpbmU6CiAgICBsYWJlbDogT25saW5lICh5L24pCiAgICB2YWx1ZTogdHJ1ZQogICAgY2hvaWNlczoKICAgIC0gdHJ1ZQogICAgLSBmYWxzZQotLS0KCgoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgoKIyMgUHJvYmxlbSAxOiBNYXJrZXIgRWZmZWN0cyBNb2RlbApgYGB7ciBleDExcDAxLXNldHVwLCBlY2hvPUZBTFNFfQpzX2V4MTFfcDAxX2RhdGFfcGF0aCA8LSAiaHR0cHM6Ly9jaGFybG90dGUtbmdzLmdpdGh1Yi5pby9hc21zczIwMjMvZGF0YS9hc21fZ2Vub19zaW1fZGF0YS5jc3YiCgpzaWdtYV9xMiA8LSAzCnNpZ21hX2UyIDwtIDM2CmBgYAoKUHJlZGljdCBnZW5vbWljIGJyZWVkaW5nIHZhbHVlcyB1c2luZyBhIG1hcmtlciBlZmZlY3RzIG1vZGVsLiBUaGUgZGF0YXNldCBpcyBhdmFpbGFibGUgZnJvbQoKYGBge3IsIGVjaG89RkFMU0V9CmNhdChzX2V4MTFfcDAxX2RhdGFfcGF0aCwgIlxuIikKYGBgCgojIyMgSGludHMKCiogVGhlIHZhcmlhbmNlICRcc2lnbWFfcV4yJCBvZiB0aGUgbWFya2VyIGVmZmVjdCBpcyAkYHIgc2lnbWFfcTJgJC4KKiBUaGUgcmVzaWR1YWwgdmFyaWFuY2UgJFxzaWdtYV9lXjIkIGlzICRgciBzaWdtYV9lMmAkCiogVGhlIHNleCBvZiBlYWNoIGFuaW1hbCBjYW4gYmUgbW9kZWxsZWQgYXMgYSBmaXhlZCBlZmZlY3QKCiMjIyBZb3VyIFNvbHV0aW9uCgoqIFJlYWQgdGhlIGRhdGEKKiBTZXR1cCBtaXhlZCBtb2RlbCBlcXVhdGlvbnMgdG8gcHJlZGljdCBtYXJrZXIgZWZmZWN0cyBmb3IgYWxsIHRoZSBTTlAtbG9jaQoqIENvbXB1dGUgcHJlZGljdGVkIGdlbm9taWMgYnJlZWRpbmcgdmFsdWVzIGJhc2VkIG9uIHRoZSBlc3RpbWF0ZWQgbWFya2VyIGVmZmVjdHMKCgoKCgojIyBQcm9ibGVtIDI6IEJyZWVkaW5nIFZhbHVlIEJhc2VkIE1vZGVsCmBgYHtyIGV4MTFwMDItc2V0dXAsIGVjaG89RkFMU0V9CnNfZXgxMV9wMDJfZGF0YV9wYXRoIDwtICJodHRwczovL2NoYXJsb3R0ZS1uZ3MuZ2l0aHViLmlvL2FzbXNzMjAyMy9kYXRhL2FzbV9nZW5vX3NpbV9kYXRhLmNzdiIKCnNpZ21hX3EyIDwtIDMKc2lnbWFfdTIgPC0gMypzaWdtYV9xMgpzaWdtYV9lMiA8LSAzNgpgYGAKClVzZSB0aGUgc2FtZSBkYXRhc2V0IGFzIGluIFByb2JsZW0gMSB0byBwcmVkaWN0IGdlbm9taWMgYnJlZWRpbmcgdmFsdWVzIGJhc2VkIG9uIGEgYnJlZWRpbmctdmFsdWUgbW9kZWwuIFRoZSBkYXRhc2V0IGlzIGF2YWlsYWJsZSBmcm9tCgpgYGB7ciwgZWNobz1GQUxTRX0KY2F0KHNfZXgxMV9wMDJfZGF0YV9wYXRoLCAiXG4iKQpgYGAKCiMjIyBIaW50cwoKKiBUaGUgZ2Vub21pYyB2YXJpYW5jZSAkXHNpZ21hX3VeMiQgb2YgdGhlIG1hcmtlciBlZmZlY3QgaXMgJGByIHNpZ21hX3UyYCQuCiogVGhlIHJlc2lkdWFsIHZhcmlhbmNlICRcc2lnbWFfZV4yJCBpcyAkYHIgc2lnbWFfZTJgJAoqIFRoZSBzZXggb2YgZWFjaCBhbmltYWwgY2FuIGJlIG1vZGVsbGVkIGFzIGEgZml4ZWQgZWZmZWN0CiogVXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gY29tcHV0ZSB0aGUgZ2Vub21pYyByZWxhdGlvbnNoaXAgbWF0cml4ICRHJCBiYXNlZCBvbiB0aGUgbWF0cml4IG9mIGdlbm90eXBlcwoKYGBge3J9CmNvbXB1dGVNYXRHcm0gPC0gZnVuY3Rpb24ocG1hdERhdGEpIHsKICBtYXREYXRhIDwtIHBtYXREYXRhCiAgIyBjaGVjayB0aGUgY29kaW5nLCBpZiBtYXREYXRhIGlzIC0xLCAwLCAxIGNvZGVkLCB0aGVuIGFkZCAxIHRvIGdldCB0byAwLCAxLCAyIGNvZGluZwogIGlmIChtaW4obWF0RGF0YSkgPCAwKSBtYXREYXRhIDwtIG1hdERhdGEgKyAxCiAgIyBBbGxlbGUgZnJlcXVlbmNpZXMsIGNvbHVtbiB2ZWN0b3Igb2YgUCBhbmQgc3VtIG9mIGZyZXF1ZW5jeSBwcm9kdWN0cwogIGZyZXEgPC0gYXBwbHkobWF0RGF0YSwgMiwgbWVhbikgLyAyCiAgUCA8LSAyICogKGZyZXEgLSAwLjUpCiAgc3VtcHEgPC0gc3VtKGZyZXEqKDEtZnJlcSkpCiAgIyBDaGFuZ2luZyB0aGUgY29kaW5nIGZyb20gKDAsMSwyKSB0byAoLTEsMCwxKSBhbmQgc3VidHJhY3QgbWF0cml4IFAKICBaIDwtIG1hdERhdGEgLSAxIC0gbWF0cml4KFAsIG5yb3cgPSBucm93KG1hdERhdGEpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuY29sID0gbmNvbChtYXREYXRhKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnlyb3cgPSBUUlVFKQogICMgWiUqJVp0IGlzIHJlcGxhY2VkIGJ5IHRjcm9zc3Byb2QoWikKICByZXR1cm4odGNyb3NzcHJvZChaKS8oMipzdW1wcSkpCn0KYGBgCgoqIElmIHRoZSBnZW5vbWljIHJlbGF0aW9uc2hpcCBtYXRyaXggJEckIHdoaWNoIGlzIGNvbXB1dGVkIGJ5IHRoZSBmdW5jdGlvbiBhYm92ZSBjYW5ub3QgYmUgaW52ZXJ0ZWQsIGFkZCAkMC4wNSAqIEkkIHRvICRHJCB3aGljaCByZXN1bHRzIGluICRHXiokIGFuZCB1c2UgJEdeKiQgYXMgZ2Vub21pYyByZWxhdGlvbnNoaXAgbWF0cml4LgoKCiMjIyBZb3VyIFNvbHV0aW9uCgoqIFJlYWQgdGhlIGRhdGEKKiBDb21wdXRlIHRoZSBpbnZlcnNlIGdlbm9taWMgcmVsYXRpb25zaGlwIG1hdHJpeCB1c2luZyB0aGUgZ2l2ZW4gZnVuY3Rpb24gZm9yIHRoZSBnZW5vbWljIHJlbGF0aW9uc2hpcCBtYXRyaXgKKiBTZXR1cCBtaXhlZCBtb2RlbCBlcXVhdGlvbnMgdG8gcHJlZGljdCBnZW5vbWljIGJyZWVkaW5nIHZhbHVlcwoKCgoKCgpgYGB7ciwgZWNobz1GQUxTRSwgcmVzdWx0cz0nYXNpcyd9CmNhdCgnXG4tLS1cblxuIF9MYXRlc3QgQ2hhbmdlczogJywgZm9ybWF0KFN5cy50aW1lKCksICclWS0lbS0lZCAlSDolTTolUycpLCAnICgnLCBTeXMuaW5mbygpWyd1c2VyJ10sICcpX1xuJywgc2VwID0gJycpCmBgYAogCg==