免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7726 | 回复: 23
打印 上一主题 下一主题

求助:刚入门,想请教一个挺简单的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-29 15:37 |只看该作者 |倒序浏览
各位大侠 我刚接触PERL 也没学过C 各种不懂呀
我想计算一条序列上各种氨基酸的数量 然后这个写的 很多错误呀
希望大家帮我改改
谢啦 本人在线等
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my $seq = 'ACLKRASFAKSVIGTPEFMAP';
  5. my %AA;
  6. foreach  $seq {
  7.         for( $i=0;$i<length($seq);$i++) {
  8.                 my $aminoAcid= substr($seq,$i,1);
  9.                 my $Key=$aminoAcid."$i";
  10.                 if(exists $AA{$Key}){
  11.                         $AA{$Key} +=1;
  12.                 }
  13.                 else{
  14.                 $AA{$Key}= 1;
  15.                 }
  16.         }
  17. }
  18. while (( $key, $value) = each %AA) {
  19.         print "$key=$value\n";
  20. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-06-29 15:41 |只看该作者
本人在线等呀

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
3 [报告]
发表于 2011-06-29 15:47 |只看该作者
$seq =~ /(.)(?{$AA{$1}++})/g;

%AA 中就包含所有计数了

论坛徽章:
0
4 [报告]
发表于 2011-06-29 15:51 |只看该作者
回复 3# zhlong8


      能写一下不

论坛徽章:
0
5 [报告]
发表于 2011-06-29 15:52 |只看该作者
额 上面那个表情居然这么谄媚
其实  我都跪谢了T T

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
6 [报告]
发表于 2011-06-29 15:57 |只看该作者
use Data::Dumper;

()= $seq =~ /(.)(?{$AA{$1}++})/g;

print Dumper \%AA

论坛徽章:
0
7 [报告]
发表于 2011-06-29 16:00 |只看该作者
大师 那个没学过
T T
如果是用一个哈希
key是单词 value是出现次数
每读进一行 判断哈希中是否包含这个key 包含的话对应的value+1 否则将这个单词作为key加到哈希中 value初始化为1
这样做呢?

论坛徽章:
0
8 [报告]
发表于 2011-06-29 17:58 |只看该作者
楼主能先解释一下怎样 计算一条序列上各种氨基酸的数

论坛徽章:
0
9 [报告]
发表于 2011-06-29 18:13 |只看该作者
本帖最后由 sellie 于 2011-06-29 18:18 编辑

楼主不用解释了. 我看懂你的代码了. 我觉的你的代码写的蛮好的,我一眼看不出来什么问题.
你用哈希判断键值是否存在的思路很正确的.估计有什么语法错误.
这个foreach 大循环应该不需要的
foreach  $seq {

}

论坛徽章:
0
10 [报告]
发表于 2011-06-29 18:59 |只看该作者
回复 9# sellie


    FOREACH这个循环 我想的是 因为我想统计$seq上所有字母出现的频率 所以就用foreach了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP