plink软件初体验3--计算样本杂合度和SNP位点杂合度_plink统计het-程序员宅基地

技术标签: GWAS  

这里,模拟一个plink文件的数据,8个样本,8个SNP位点,通过手动Excel计算样本杂合度和位点杂合度,比较plink计算杂合度的方法。

1. 模拟数据

ped数据:

$ cat a.ped
FAMILY1     ID1       0       0       0       -9      CC     CC     AA     GG     AG     GG     GG     GC
FAMILY1     ID2       0       0       0       -9      CC     GC     AG     GG     GG     AA     AG     CC
FAMILY1     ID3       0       0       0       -9      GG     CC     AG     GG     GG     GA     AG     GC
FAMILY1     ID4       0       0       0       -9      GG     CC     GG     GG     GG     AA     GG     GG
FAMILY1     ID5       0       0       0       -9      GG     CC     GG     GG     GG     AA     AG     GC
FAMILY1     ID6       0       0       0       -9      GG     CC     GG     GG     GG     AA     AA     CC
FAMILY1     ID7       0       0       0       -9      GG     CC     GG     AG     AA     AA     GG     CC
FAMILY1     ID9       0       0       0       -9      GG     CC     GG     AG     AA     AA     GG     CC

map数据:

$ cat a.map
1       snp1    0       55910
1       snp2    0       85204
1       snp3    0       122948
1       snp4    0       203750
1       snp5    0       312707
1       snp6    0       356863
1       snp7    0       400518
1       snp8    0       487423

2. 计算样本的杂合度--het

$ plink --file a --het

结果查看:

$ cat plink.het
      FID  IID       O(HOM)       E(HOM)        N(NM)            F
  FAMILY1  ID1            6         5.32            8       0.2536
  FAMILY1  ID2            5         5.32            8      -0.1195
  FAMILY1  ID3            4         5.32            8      -0.4927
  FAMILY1  ID4            8         5.32            8            1
  FAMILY1  ID5            6         5.32            8       0.2536
  FAMILY1  ID6            8         5.32            8            1
  FAMILY1  ID7            7         5.32            8       0.6268
  FAMILY1  ID9            7         5.32            8       0.6268

这里:

  • FID,家系ID
  • IID,个体ID
  • O(HOM):观察到的纯合个数
  • E(HOM):期望的纯合个数
  • N(NM):没有缺失的SNP个数
  • F:计算的值

其中F的计算方法:
F = O − E N − E F = \frac{O-E}{N-E} F=NEOE

  • O: O(HOM)
  • E: E(HOM)
  • N: N(NM)

可以这样认为,F值越小(包括负值),杂合度越高,F值越高,纯合度越高!

Excel对比
将ped文件,copy到Excel中,手动计算纯合和杂合的个数,进行统计:

3. 计算SNP位点杂合度

这里,使用参数--hardy,可以给出位点的纯合和杂合个数:

$ plink --file a --hardy

结果:

$ cat plink.hwe
 CHR  SNP     TEST   A1   A2                 GENO   O(HET)   E(HET)            P
   1 snp1  ALL(NP)    C    G                2/0/6        0    0.375      0.01538
   1 snp2  ALL(NP)    G    C                0/1/7    0.125   0.1172            1
   1 snp3  ALL(NP)    A    G                1/2/5     0.25    0.375       0.3846
   1 snp4  ALL(NP)    A    G                0/2/6     0.25   0.2188            1
   1 snp5  ALL(NP)    A    G                2/1/5    0.125   0.4297      0.07692
   1 snp6  ALL(NP)    G    A                1/1/6    0.125   0.3047          0.2
   1 snp7  ALL(NP)    A    G                1/3/4    0.375   0.4297            1
   1 snp8  ALL(NP)    G    C                1/3/4    0.375   0.4297            1

  • GENO,2/0/6,第一个是次等位基因纯合个数,第二个是杂合个数,第三个是主等位基因纯合个数
  • O(HET),是杂合所在的比值

对比Excel结果:

4. 计算SNP位点的基因频率

$ plink --file a --freq

结果查看:

$ cat plink.frq
 CHR  SNP   A1   A2          MAF  NCHROBS
   1 snp1    C    G         0.25       16
   1 snp2    G    C       0.0625       16
   1 snp3    A    G         0.25       16
   1 snp4    A    G        0.125       16
   1 snp5    A    G       0.3125       16
   1 snp6    G    A       0.1875       16
   1 snp7    A    G       0.3125       16
   1 snp8    G    C       0.3125       16

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yijiaobani/article/details/110073694

智能推荐

从0开始用python实现神经网络 IMPLEMENTING A NEURAL NETWORK FROM SCRATCH IN PYTHON – AN INTRODUCTION...-程序员宅基地

文章浏览阅读150次。code地址:https://github.com/dennybritz/nn-from-scratch文章地址:http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/ Get the code: To follow along, all the code is also available as a..._nerual networks from stratch in python

【element-ui】el-form-item 内的 el-select如何自适应宽度_el-form-item 宽度-程序员宅基地

文章浏览阅读1.6w次,点赞8次,收藏10次。问题:想让el-select自适应宽度,即 label宽度 + el-select宽度可以填满一行,想要实现这样的效果详细描述:项目中的代码如下,给 el-select 设置了 style=“width:100%” 没有作用,不论布局是变大变小,el-select 的宽度都不会有变化,就像下图所示我只有在el-select中设置固定的值如 style="width:100px"才有作用。下面是我的代码,不知道是不是我对width的设置方法有错<el-form :inline=“true” _el-form-item 宽度

渗透攻防Web篇-SQL注入攻击初级_class=1 攻击-程序员宅基地

文章浏览阅读498次。前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动。在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问,我们真的了解SQL注入吗?看完本篇文章希望能让你更加深刻的认识SQL注入。目录 第一节 注入攻击原理及自己编写注入点 1.1、什么是SQL? 1.2、什么是SQL注入? 1.3、SQL注入是怎么样产生的? 1.4、编写注入点 第二节 寻找及确认SQL注入 2.1、推理测试法 2.2、a_class=1 攻击

未解析成员“MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyT-程序员宅基地

文章浏览阅读3.3k次。不知道为毛,Windows10突然乱码了。。。于是重新装了一下系统,然后打开一个基于CodeFirst连接mysql的项目文件。。。 然后Update-Database 我曹。。。。。。System.Runtime.Serialization.SerializationException: 未解析成员“MySql.Data.MySqlClient.MySqlException,MySql.Data_mysql.data, version=6.9.9.0

【HTTP】Fiddler(二) - 使用Fiddler做抓包分析_3)使用fiddler分析http请求-程序员宅基地

文章浏览阅读262次。转载:https://blog.csdn.net/ohmygirl/article/details/17849983上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面。本文主要针对Fiddler的抓包处理。Fiddler抓取HTTP请求。抓包是Fiddler..._3)使用fiddler分析http请求

Ceres 详解(一) Problem类_对‘ceres::problem::addparameterblock(double*, int, -程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏55次。引言Ceres 是由Google开发的开源C++通用非线性优化库(项目主页),与g2o并列为目前视觉SLAM中应用最广泛的优化算法库(VINS-Mono中的大部分优化工作均基于Ceres完成)。Ceres中的有限边界最小二乘问题建模为以下形式:Ceres的求解过程包括构: 建最小二乘和求解最小二乘问题 两部分,其中构建最小二乘问题的相关方法均包含在Ceres::Problem类中,涉及的成员函数主要包括 Problem::AddResidualBlock()和 Problem::AddP_对‘ceres::problem::addparameterblock(double*, int, ceres::localparameteriza

随便推点

Java——List.forEach()实现continue与break功能_java foreach continue-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏3次。问题:java中List.forEach()无法实现continue和break功能。代码:package com.ziling.mianshi;import java.util.ArrayList;import java.util.List;/** * @Author: yipeng * @Date: 2021/7/21 11:34 */public class ForEachTest { public static void main(String[] args_java foreach continue

MSE(均方误差)函数和RMSE函数-程序员宅基地

文章浏览阅读10w+次,点赞41次,收藏141次。 _rmse函数

模糊搜索数组_可搜索的下拉菜单,你见过吗?2步搞定,不要太简单!-程序员宅基地

文章浏览阅读370次。秋叶 PPT 双 12 大促年终盛典全场精品课享年度超值价买课赠书最高立省 801本文作者:小爽本文审核:玛奇鹅本文编辑:竺兰大家好,我是继续挖掘 Excel 各种技巧的小爽~在工作中,我们经常需要在 Excel 中填写一些固定选项的数据。对于「懂点 Excel」的小伙伴来说,一般会选择用【数据验证】的功能制作下拉列表。不过一旦数据选项过多,用下拉列表选择还是会显得比较麻烦,手还很累。..._isnumber(find(cell("contents")

学习笔记|按键原理|消抖|按键点灯的4种模式|STC32G单片机视频开发教程(冲哥)|第七集:按键点灯_stm32定时器实现一个按键切换四个模式-程序员宅基地

文章浏览阅读888次。学习笔记|按键原理|消抖|按键点灯的4种模式|STC32G单片机视频开发教程(冲哥)|第七集:按键点灯_stm32定时器实现一个按键切换四个模式

旧服务器如何虚拟化,4个步骤教你如何重复利用旧虚拟化主机-程序员宅基地

文章浏览阅读1.2k次。VMware ESX 3.0已经发布了三年多时间,目前有很多用户希望升级到VMware最新的vSphere 4.0虚拟化平台,而大量运行ESX 3.0的服务器也到了需要更新换代的时刻。这些运行了三年ESX 3.0的老旧服务器虽然已经不能完全满足未来快速增长的负载需求,但还是具有不小的性能空间,将这一大批当时非常昂贵的服务器关闭弃之不用,确实显得有些浪费。为了不将老旧的虚拟化主机丢弃在角落,很多企业..._旧服务器虚拟化

(js) 字符串和数组的常用方法-程序员宅基地

文章浏览阅读132次。JS中字符串和数组的常用方法JS中字符串和数组的常用方法 js中字符串常用方法 查找字符串 根据索引值查找字符串的值 根据字符值查找索引值 截取字符串的方法 字符串替换 字符串的遍历查找 字符串转化为数组 ..._js根据索引查找字符串

推荐文章

热门文章

相关标签