我想计算核苷酸的出现次数(字符串中的字母“A、T、G、C”)。我试图为此使用tr///
运算符,但它在下面的代码中每次都返回零计数。
仅当我在tr///
运算符中使用变量时才会发生这种情况。如果我单独输入单个字母,它就可以工作。我想知道我们是否可以在tr///
运算符中使用变量进行模式匹配(和计数)。如果可以的话,有人告诉我如何修改我的代码。
稍后我计划计算密码子的数量(~64)。因此麻烦。珍惜你的时间。谢谢!
#!/usr/bin/perl
use strict;
use warnings;
my $orf = "ATGCTAGCTAGCATAGAGCTAGCTA";
my @atgc = qw(A T G C);
my %hash = ();
foreach my $nt(@atgc) {
$hash{$nt} = ($orf =~ tr/$nt//);
}