【发布时间】:2014-04-30 09:36:46
【问题描述】:
所以我一直在研究这个 perl 脚本,它将分析和计算不同行空间中的相同字母。我已经实现了对哈希的计数,但是在从该哈希的输出结果中排除“-”字符时遇到了麻烦。我尝试使用 delete 命令或 next if,但没有摆脱输出中的 - 计数。
所以有了这个输入:
@extract = ------------------------------------------------------------------MGG-------------------------------------------------------------------------------------
以下代码:
#Count selected amino acids.
my %counter = ();
foreach my $extract(@extract) {
#next if $_ =~ /\-/; #This line code does not function correctly.
$counter{$_}++;
}
sub largest_value_mem (\%) {
my $counter = shift;
my ($key, @keys) = keys %$counter;
my ($big, @vals) = values %$counter;
for (0 .. $#keys) {
if ($vals[$_] > $big) {
$big = $vals[$_];
$key = $keys[$_];
}
}
$key
}
我希望最常见的元素是 G,与输出相同。如果元素之间存在平局,例如 G = M,如果有一种方法可以同时显示两者,那就太好了,但不是必需的。非常感谢有关如何删除或删除“-”的任何提示。我正在慢慢学习 perl 语言。
如果我的要求不清楚或需要更多信息,请告诉我,再次感谢所有 cmets。
【问题讨论】:
标签: perl hash bioinformatics