如何获得次要等位基因频率?

如何获得次要等位基因频率?

我的 Linux 机器上有一个这样的:如下。

AF.Cases AF.Controls
0.0044 0.00159
0.0018 0.00315
0.3920 0.38898

现在我想获得次要等位基因频率(maf)。

因此,如果AF.Cases大于 0.5,则公式为

1-AF.Cases = MAF

所以,综上所述,公式可以是

MAF = min(AF.Cases 1-AF.Cases)

在Linux中,我无法通过下面的代码从文件中提取maf,因为它说“致命:函数'min'未定义”

awk 'NR>1{print min($1 1-$1)}' file > outfile

谁能教我如何从文件中获取MAF?

答案1

你可能会使用

awk 'NR > 1 { maf = ($1 > 0.5 ? 1 - $1 : $1); print maf }' file

要不就

awk 'NR > 1 { print ($1 > 0.5 ? 1 - $1 : $1) }' file

$1或者,使用和的最小值的计算1 - $1( 中没有min()函数awk):

awk 'NR > 1 { print ($1 < 1 - $1 ? $1 : 1 - $1) }' file

该表达式($1 > 0.5 ? 1 - $1 : $1)的结果是1 - $1if $1 > 0.5,否则结果是$1。同样,($1 < 1 - $1 ? $1 : 1 - $1)将导致$1if $1 < 1 - $1is真的,以及1 - $1其他情况。

对于给定的数据,这将产生

0.0044
0.0018
0.3920

相关内容