<p id="z5vxz"></p>

    <p id="z5vxz"></p>

      <pre id="z5vxz"><ruby id="z5vxz"><mark id="z5vxz"></mark></ruby></pre>

      【GS課堂】基因組選擇中構建H矩陣需要設置哪些參數?

      來源: 發表日期:2019-04-10 瀏覽量:6

      GS系統課堂第四期

      基因組選擇中,H矩陣的構建至關重要,第二期GS課堂小編給大家展示了如何從頭構建H矩陣及H矩陣推導過程和代碼實現。今天小編又為大家帶來了H矩陣參數設置的方法,一起來看看吧。



      1.基因組選擇中H矩陣的構建


      這里的1為非測序個體, 2為測序個體.  A11, A12, A21, A22可以由系譜構建的A矩陣提取. G為基因組構建的矩陣. H矩陣構建的相關代碼見: 【GS課堂】全基因組選擇中如何構建H矩陣。

      2.直接構建H^{-1}矩陣


      一步法混合線性方程組中, 直接利的是H逆矩陣, 因此直接構建H逆矩陣更加方便。


      H逆矩陣構建方法:

      3.構建H矩陣需要考慮的參數

      3.1 G矩陣矯正到A22矩陣的尺度

      原因:

      G矩陣構建是由測序個體的基因頻率構建的,它的頻率可能與A矩陣的基因頻率(可以追溯到基礎群體base population)不一樣, 這導致G矩陣和A22矩陣存在尺度上的差異, 因此需要矯正。

      矯正方法是建立兩個方程組:

      • G矩陣對角線的平均值與A22對角線平均值一致。

      • G矩陣非對角線的平均值與A22非對角線平均值一致。

      3.2 調整G矩陣和A22矩陣的相對權

      原因:

      對于某些性狀, G矩陣可能無法解釋所有的變異, 這時可以設定A矩陣解釋的比例。

      3.3 設置tau 和omega

      對于某些性狀, 適當設置tau 和 omega, 可以矯正估算的無偏性。

      4.完整的H逆矩陣構建方法

      5.建H逆矩陣Julia代碼展示


      Julia是新一代的計算科學語言, 速度非??? 比R語言、Python要快很多, 內存占用也比較少。 比C語言、Fortran要簡單很多,是一門未來的明星語言. 是時候嘗試一下新東西了。


      代碼思路:

      • 依賴的包: NamedArray, 主要用于矩陣提取

      • 參數介紹:

        • id_full: 為所有的ID, A矩陣的id

        • id_geno: 為測序的ID, G矩陣的id

        • Amatrix: A矩陣

        • Gmatrix: G矩陣

        • a = 0.95, 表示G矩陣的比例, 默認0.95

        • b = 0.05, 表示A22矩陣的比例, 默認1-0.95=0.05

        • tau =1, 默認值為1

        • omega=1, 默認值為1

      • 首先定義一個函數diag, 因為julia中沒有diag函數.

      • 提取A11, A12, A21, A22

      • 根據對角線和非對角線方程組, 計算a和b

      • 將相關參數加進去, 構建H逆矩陣

      1. function hmatrix_julia_adjust(id_full,id_geno,Amatrix,Gmatrix,a =0.95,b=0.05,tau=1,omega=1)

      2. print("G* = a*G + b*A22, a is ",a,"; b is ",b,"\n")

      3. print("iG = tau*G - omega*A22, tau is ",tau,"; omega is ",omega,"\n\n")

      4.  

      5. function diag(mat)

      6. dd = [mat[i,i] for i in 1:size(mat,1)]

      7. return dd

      8. end

      9.  

      10. id1 = id_full

      11. idb = id_geno

      12. A = Amatrix

      13. G = Gmatrix

      14. ida = setdiff(id1,idb)

      15. A = NamedArray(A,(id1,id1))

      16. G = NamedArray(G,(idb,idb))

      17. reb = idb

      18. rea = ida

      19.  

      20. A22 = A[reb,reb]

      21. diagA22 = diag(A22)

      22. offdiagA22 = []

      23. for i in 1:size(A22,1)

      24. for j in 1:size(A22,2)

      25. if(i != j )

      26. push!(offdiagA22,A22[i,j])

      27. end

      28. end

      29. end

      30.  

      31. diagG = diag(G)

      32. offdiagG = []

      33. for i in 1:size(G,1)

      34. for j in 1:size(G,2)

      35. if(i != j )

      36. push!(offdiagG,G[i,j])

      37. end

      38. end

      39. end

      40. print("\n\nStatistic of Rel Matrix G\n","\t\t","N","\t","Mean","\t","Min","\t","Max","\t","\n",

      41. "Diagonal\t",length(diagG),"\t",round.(mean(diagG),digits=3),"\t",

      42. round.(minimum(diagG),digits=3),"\t",

      43. round.(maximum(diagG),digits=3),"\t",

      44. "\nOff-diagonal\t",length(offdiagG),"\t",

      45. round.(mean(offdiagG),digits=3),"\t",round.(minimum(offdiagG),digits=3),"\t",

      46. round.(maximum(offdiagG),digits=3),"\t","\n\n")

      47.    

      48. print("\n\nStatistic of Rel Matrix A22\n","\t\t","N","\t","Mean","\t","Min","\t","Max","\t","\n",

      49. "Diagonal\t",length(diagA22),"\t",round.(mean(diagA22),digits=3),"\t",

      50. round.(minimum(diagA22),digits=3),"\t",

      51. round.(maximum(diagA22),digits=3),"\t",

      52. "\nOff-diagonal\t",length(offdiagA22),"\t",

      53. round.(mean(offdiagA22),digits=3),"\t",round.(minimum(offdiagA22),digits=3),"\t",

      54. round.(maximum(offdiagA22),digits=3),"\t","\n\n")


      55. # 根據方程計算alpha和beta兩個參數值

      56. meanoffdiagG=mean(offdiagG)

      57. meandiagG=mean(diagG)

      58. meanoffdiagA22=mean(offdiagA22)

      59. meandiagA22=mean(diagA22)

      60. print("Means_off_diag\t","Means_diag:\n","G\t",meanoffdiagG,"\t",meandiagG,



      • 參考文獻:

      • 2018年山東泰安基因組時代的動物育種遺傳育種學術論壇: 康普森農業鄧飛匯報PPT :The Application Strategy of Genomic Selection.

        Meuwissen T H , Hayes B J , Goddard M E . Prediction of total genetic value using genome-wide dense marker maps[J]. Genetics, 2001, 157(4):1819-29.

        Vanraden P M. Efficient methods to compute genomic predictions[J]. Journal of Dairy Science, 2008, 91(11):4414-4423.

        Legarra A, Aguilar I, Misztal I. A relationship matrix including full pedigree and genomic information[J]. Journal of Dairy Science, 2009, 92(9):4656-4663.

        Aguilar I, Misztal I, Johnson D L, et al. Hot topic: a unified approach to utilize phenotypic, full pedigree, and genomic information for genetic evaluation of Holstein final score.[J]. Journal of Dairy Science, 2010, 93(2):743-752.

        Ishizaka A, Labib A. Review of the main developments in the analytic hierarchy process[J]. Expert Systems with Applications, 2011, 38(11):14336-14345.

      分享:
      人妻被按摩到潮喷中文字幕_人妻熟妇乱又伦精品视频APP_人妻少妇精品久久久久久 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>