- 论坛徽章:
- 0
|
小弟才学perl不久,下面这个代码是实现每个字符在每个位置上出现的次数,主要用在生物信息中的氨基酸频率统计
用hash完成的,写完后,发现跟我在C#里写的思路完全一样,貌似没有找到perl的感觉啊,所以请大虾帮忙看看,怎么写能更好呢?谢谢啦~- use strict;
- use warnings;
- my @testSet = ("ACDE","ADEF","DEFG","EFGH");
- my %hashTable ;
- foreach my $seq(@testSet){
- for(my $i=0;$i<length($seq);$i++){
- my $aminoAcid= substr($seq,$i,1);
- my $tempKey=$aminoAcid."$i";
- if(exists $hashTable{$tempKey}){
- $hashTable{$tempKey} +=1;
- }
- else{
- $hashTable{$tempKey}= 1;
- }
- }
- }
- while ((my $key,my $value) = each %hashTable) {
- print "$key=$value\n";
- }
复制代码 |
|