如何使用awk计算生物信息学分析中的fpkm?

如何使用awk计算生物信息学分析中的fpkm?

这是我的代码:

awk -v "counts=170712" '{if(NR>1){print $1 "\t" 1000000*1000*$NF/($(NF-1)*counts)} else{print $1"\t"$NF}}' a.counts > a.fpkm.txt

但我收到这个错误:

awk: cmd. line:1: (FILENAME=BMXV02.counts FNR=2) fatal: division by zero attempted

我应该改变什么?

答案1

该错误准确地告诉您出了什么问题:您正在尝试除以零,这在数学上是非法的。这发生在文件的第 2 行BMXV02.counts。由于代码中唯一的划分是:1000000*1000*$NF/($(NF-1)*counts),那么显然$(NF-1)*counts会返回0

据推测,第$(NF-1)2 行倒数第二个字段 ( ) 是 a 0

相关内容