2

我有一些蛋白质序列。我想计算每个序列中 A 和 L 残基的总数。

>p1
ALASDEKI
>p2
KLHMNA
>p3
GQMLAALM

期望的输出

ptn   A+L

p1     3
p2     2
p3     4

我怎样才能用 awk 做到这一点?

4

1 回答 1

2

文件中的记录跨越多行。所以你可以使用 awk-v RS=''选项。

命令

sed 's/>/\n/' input |
    awk -vRS='' -vOFS='\t' '
        BEGIN{
            print "ptn","A+L"
        }
        {
            gsub(/[^AL]/,"",$2)
            print $1,length($2)
        }'

输出

ptn A+L
p1  3
p2  2
p3  4
于 2012-09-02T09:27:08.207 回答