GIF值通常用在GWA过程中,用来控制该过程质量;鉴别出那些低质量的基因标记;例如在统计学中,GIF值大于1.0表示结果有低质量数据的出现;
那么我们如何计算gwa中的GIF呢;在matlab中,我们使用qqplot()来生成QQplot图,但是这并不意味这我们能够很容易的计算并得到GIF值,我们生成QQplot以后才能从头计算GIF。
第一步就是,我们首先得到正态分布的期望顺序统计量;正态分布的第i次顺序统计量服从参数(i,n-i+1)的贝塔分布,期望值是:
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。