head 10字节_优秀了!10万系谱,计算近交系数,不到1秒!
今天我们看一下asreml如何根据系谱计算近交系数和亲缘关系系数,asreml计算的特点是:
1,运算速度特别快,对于10万的系谱,运算时间小于10s,是其它软件不可比拟的。
2,对于一些植物或者群体分组的系谱,有些个体(或者家系)可能做父本,可能做母本,asreml软件可以处理这种系谱。
3,asreml直接计算近交系数,所以数据量大时也可以直接计算出来。
这里,我们先用示例数据演示一下,然后我们使用模拟数据(10万系谱)计算一下结果,做一个测试,结果运行时间不到1秒。
1. 载入asreml4-R包
library(asreml)
2. 查看示例系谱数据
> data(harvey)> ped = harvey[,1:3]> head(ped) Calf Sire Dam1 101 Sire_1 02 102 Sire_1 03 103 Sire_1 04 104 Sire_1 05 105 Sire_1 06 106 Sire_1 0
3. 计算A逆矩阵
> ainv = ainverse(ped)> head(ainv) Row Column Ainverse[1,] 1 1 3.666667[2,] 2 2 3.666667[3,] 3 3 2.666667[4,] 4 4 3.666667[5,] 5 5 3.333333[6,] 6 6 3.000000
4. 提取近交系数
注意,提取Inbreeding,通过attr(ainv,"inbreeding")
进行提取。
> re = data.frame(Inbreeding = attr(ainv,"inbreeding"))> head(re) InbreedingSire_1 0Sire_2 0Sire_3 0Sire_4 0Sire_5 0Sire_6 0
5. 计算A矩阵
因为asreml计算的是A逆矩阵的三元组形式,需要首先转化为矩阵形式,然后求逆。asreml4-R中有相关转化的函数,简单快捷。
> mat_ainv > A_mat = zapsmall(solve(mat_ainv))> A_mat[1:10,1:10] Sire_1 Sire_2 Sire_3 Sire_4 Sire_5 Sire_6 Sire_7 Sire_8 Sire_9 101Sire_1 1.0 0 0 0 0 0 0 0 0 0.5Sire_2 0.0 1 0 0 0 0 0 0 0 0.0Sire_3 0.0 0 1 0 0 0 0 0 0 0.0Sire_4 0.0 0 0 1 0 0 0 0 0 0.0Sire_5 0.0 0 0 0 1 0 0 0 0 0.0Sire_6 0.0 0 0 0 0 1 0 0 0 0.0Sire_7 0.0 0 0 0 0 0 1 0 0 0.0Sire_8 0.0 0 0 0 0 0 0 1 0 0.0Sire_9 0.0 0 0 0 0 0 0 0 1 0.0101 0.5 0 0 0 0 0 0 0 0 1.0
6. 完整示例代码
# 近交系数library(asreml)data(harvey)ped = harvey[,1:3]head(ped)ainv = ainverse(ped)head(ainv)
re = data.frame(Inbreeding = attr(ainv,"inbreeding"))head(re)
mat_ainv A_mat = zapsmall(solve(mat_ainv))A_mat[1:10,1:10]
7. 十万系谱数据计算近交系数
> library(data.table)> library(asreml)> ped = fread("ped_test.ped")> dim(ped)[1] 96280 3> head(ped) Progeny Sire Dam1: 1 0 02: 2 0 03: 3 0 04: 4 0 05: 5 0 06: 6 0 0> system.time({ainv = ainverse(ped)}) 用户 系统 流逝 0.809 0.037 0.846 > dim(ainv)[1] 293068 3> head(ainv) Row Column Ainverse[1,] 1 1 61[2,] 2 2 61[3,] 3 3 61[4,] 4 4 61[5,] 5 5 61[6,] 6 6 61> inbr = data.frame(Inbreeding = attr(ainv,"inbreeding"))> head(inbr) Inbreeding1 02 03 04 05 06 0> tail(inbr) Inbreeding96275 0.0457145996276 0.0457145996277 0.0457145996278 0.0457145996279 0.0457145996280 0.04571459
结论:
系谱个数:96280
计算近交系数时间:0.864秒
head 10字节_优秀了!10万系谱,计算近交系数,不到1秒!相关推荐
- python循环10次_开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择...
开发一个循环 5 次计算的小游戏, 设置随机种子为10,每次随机产生两个 1~10的数字以及随机选择 "+.-.*"运算符,构成一个表达式, 让用户计算式子结果并输入结果,如果计算 ...
- head 10字节_创新创业协会|访字节跳动,品“字节范”
为加强创新创业协会的对外建设,进一步拓展创新创业协会与外界企业的联系.创新创业学院以"访字节跳动品字节范"为主题,2020年10月16日上午,在学校创新创业学院邱宇恒老师和崔袁廙老 ...
- python随机生成10个数_python得到一个10位随机数的方法及拓展
https://blog.csdn.net/qq_33324608/article/details/78866760 无意中看到一个写10位随机数的方法,很有想法,然后就从学了一下随机数,相关东西都记 ...
- c语言 -1%10等于多少,一个点指1%还是10%,比如销售总额为1000万的一点是多少?_-一个点是百分之几-数学-荣谌凡同学...
概述:本道作业题是荣谌凡同学的课后练习,分享的知识点是一个点是百分之几,指导老师为景老师,涉及到的知识点涵盖:一个点指1%还是10%,比如销售总额为1000万的一点是多少?_-一个点是百分之几-数学, ...
- 【MySQL 第10章_数据库的设计规范】
第10章_数据库的设计规范 1. 为什么需要数据库设计 2.范式 2.1范式简介 2.2范式都包括哪些 2.3 键和相关属性的概念 2.4第一范式(1st NF) 2.5 第二范式(2nd NF) 2 ...
- 小米10pro第二个摄像头下面_小米10至尊纪念版、小米10 Pro对比评测:至尊版“至尊”在哪里?...
在几天前的雷军十周年演讲中,小米10至尊纪念版正式面世,价格刚公布,就引起了不小轰动.在吃瓜群众看来,小米终于迈向了高端,毕竟最贵的版本,售价可以卖到6999元,和三星.苹果旗舰保持在一个水准.而对于 ...
- 你知道5分钟法则和10字节法则么?
如果一条数据每5分钟被访问一次,那么它应该常驻在内存中.类似的,如果想存储只有0和1两个值的标志位,相比于将8个标志位打包为1个字节,将1个标志位单独存储为1个字节是更节约的选择. 本文参考 Jim ...
- 大于或小于100万,1000万,1亿,10亿,1000亿,万亿,亿亿,10亿亿,100亿亿上下的10个质数(素数)...
2019独角兽企业重金招聘Python工程师标准>>> 大于或小于百万,千万,1亿,十亿,百亿,千亿,万亿,十万亿,百万亿,千万亿,亿亿,十亿亿,百亿亿上下的10个质数(素数). U ...
- 考研国家线罕见大幅上涨,12个学科涨幅10分以上,超300万人将落榜
金磊 博雯 发自 凹非寺 量子位 | 公众号 QbitAI 随着2022年研考国家线的发布,"考研"这一话题再次成为焦点. 据央视网报道,全国457万考研大军,院校计划招生人数约1 ...
最新文章
- 2021-2027全球与中国跨临界二氧化碳系统市场现状及未来发展趋势报告
- (转载)spring jar包详细介绍
- (0022)iOS 开发之@property的属性Weak Strong的深入学习
- Hibernate.cfg.xml配置文件结构详解
- Linux Centos6.5如何截图
- LINQ中判断日期时间段
- nth_element(a+1 , a + m, a + n+1);
- 20、查看帮助的命令--man,info,whatis,--help
- C#移除HTML标记
- java 心跳程序_Java实现心跳机制的方法
- 制作的LINUX安装软件,竟然导致系统无法启动
- 阿里云开发笔记01——CuteFTP使用方法
- 外贸出口管理系统亮点及重点
- 鼠标右键没有word、excel/右键不能新建word、ppt等office
- 使用Arduino+L298N控制光驱两项四线步进电机
- 大数据从入门到实战 --HDFS系统初体验
- 几何分布的期望和方差公式推导_算法数学基础-统计学最基础之均值、方差、协方差、矩...
- greenplum 历史拉链表
- PMP证书到期,有必要续证吗?
- ilove中文_iLovePDF中文版