シーケンス内の文字の発生回数を計算します。

シーケンス内の文字の発生回数を計算します。

Gシーケンス内のcharの発生回数を計算するには、unixスクリプトを作成する必要があります。"GTCGTAATGCGGATCGGAATCGA"

出力が欲しいです。"number of nucleotide G is 8"

答え1

バッシュと

var='GTCGTAATGCGGATCGGAATCGA'
var="${var//[^G]}"
echo "Number of nucleotide G is ${#var}"

答え2

Awk解決策:

awk '{ print "Number of nucleotide G is "gsub("G", "") }' <<<"GTCGTAATGCGGATCGGAATCGA"
Number of nucleotide G is 8

grep+wc解決策:

printf "Number of nucleotide G is %d\n" $(grep -o 'G' <<<"GTCGTAATGCGGATCGGAATCGA" | wc -l)
Number of nucleotide G is 8

答え3

パールの使用:

echo 'GTCGTAATGCGGATCGGAATCGA' | perl -ne 'printf "number of nucleotide G is %d\n", ($_ =~ tr/G/G/)'

trこれはPerlの演算子を使ってGを計算します。置き換えられた回数を返し、GをGに置き換えます。

出力は次のとおりです

number of nucleotide G is 8

これを他の塩基の計算に一般化するには、次のようにします。いいえゲノムサイズのデータ​​に対して複数回実行しますが、次に進みます。生物情報学 StackExchange サイトそしてそこで答えを見つけてください。

関連情報