免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: aids260
打印 上一主题 下一主题

求个perl程序,生物信息方面的! [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-03-26 10:53 |显示全部楼层
本帖最后由 conn2011 于 2011-03-26 11:00 编辑
  1. #!/usr/bin/perl -w
  2. use strict;
  3. use Data::Dumper;

  4. my %in;
  5. open(IN, "file2path") || die "Cannot open file int.txt\n";
  6. while(<IN>){
  7.             chomp;
  8.             my @line = split(' ',$_);
  9.             $in{$line[1]}{'text'} = $line[3];
  10.             push @{$in{$line[1]}{'value'}},$line[5];
  11.         }
  12. close IN;

  13. my %info;
  14. open(INFO,"file1path") || die "Cannot open file info.txt\n";
  15. while(<INFO>){
  16.             chomp;
  17.             my @line = split(' ',$_);
  18.             $info{$line[0]} = $line[2];
  19.         }
  20. close INFO;

  21. foreach my $key (keys %in){
  22.             my $sum = 0;
  23.             foreach my $value (@{$in{$key}{'value'}}){
  24.                         $sum += $value;
  25.                     }
  26.             $in{$key}{'avg'} = $sum/scalar(@{$in{$key}{'value'}});
  27.             $in{$key}{'time'} = scalar(@{$in{$key}{'value'}});
  28.             my $tot = $info{$key} ? $info{$key} : 0;
  29.             my $margin = $tot - $in{$key}{'avg'};
  30.             printf "+ %s\t%s\t%10s\t%10s\t%s\n",($key,$in{$key}{'text'},$in{$key}{'avg'},$margin,$in{$key}{'time'});
  31.         }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP