perl のワンライナーに関しての、適当な解説 #1/#2/#3/#4
前提
single fasta を
$ perl -Mvars='$s' -lne 'next if />/ ; $s .= $_ }{ print $s' SOMETHING.fa
してパイプしたものとする。
塩基数カウント
総数
| perl -lne 'print length'
特定塩基の数
| perl -lne 'my $s = $_ ; print $s =~ tr/Aa// '
| perl -lne 'my $s = $_ ; print scalar ( () = $s =~ /A/gi )'
下はプログレッシブマッチなので、リストコンテキストで解釈してやらないと云々。
GC percent
| perl -lne 'my $s = $_ ; printf "%.2f",($s =~ tr/GCgc//) / ( length $s ) * 100'