关闭

GIF(genomic inflation factor)值的计算方法

标签: statisticsmatlabplotfunctionlistqq
3692人阅读 评论(0) 收藏 举报
分类:

GIF值通常用在GWA过程中,用来控制该过程质量;鉴别出那些低质量的基因标记;例如在统计学中,GIF值大于1.0表示结果有低质量数据的出现;

那么我们如何计算gwa中的GIF呢;在matlab中,我们使用qqplot()来生成QQplot图,但是这并不意味这我们能够很容易的计算并得到GIF值,我们生成QQplot以后才能从头计算GIF。

第一步就是,我们首先得到正态分布的期望顺序统计量;正态分布的第i次顺序统计量服从参数(i,n-i+1)的贝塔分布,期望值是:

E \left\{p_{(i)} \right\} = i / (n+1) \; \; \; \; (i=1,\ldots,n)

这个是比较容易计算的。下面是个简单的MATLAB程序来显示GWA分析的QQplot并计算GIF:

function gif=compute_gif(pvals)
 
% number of p-vals
n=length(pvals);
 
% expected order statistics
es=(1:n)' ./ (n+1);
 
% x-axis
x = -log10(es);
y = -log10(sort(pvals(:)));
 
% compute GIF
gif =(x'*y)/(x'*x);
 
% QQ-plot
figure;
hold;
grid;
maxh=ceil(log10(n));
xlim([0 maxh]);
ylim([0 maxh]);
plot(x,y,'bx');
plot(x,x,'r-');
xlabel('-log10(Expected Order Statistics)');                                      
ylabel('-log10(Observed Order Statistics)');
title('QQ Plot');
 
% done
return;
函数compute_gif() 只有一个参数,这是p值的list,对p值进行排序并使用该排序生成QQplot计算GIF。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:392076次
    • 积分:2548
    • 等级:
    • 排名:第14965名
    • 原创:9篇
    • 转载:31篇
    • 译文:2篇
    • 评论:66条
    文章分类
    最新评论