likelet的专栏

new hand

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

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。

阅读更多
个人分类: 生物信息
上一篇Q-Q plot 在GWAS中的意思
下一篇jtable的鼠标事件监听
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭