免费注册 查看新帖 |

Chinaunix

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

求一个统计数字的程序或者编写思路,谢谢! [复制链接]

论坛徽章:
3
2015亚冠之武里南联
日期:2015-07-29 12:14:352015年亚冠纪念徽章
日期:2015-08-12 14:28:272015亚冠之德黑兰石油
日期:2015-09-09 17:15:52
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-12 15:33 |只看该作者 |倒序浏览
我有一个原始统计数字的表:
统计表:
熊猫 1
老鼠 2
猫 3
小鸡 1

会有很多的新样本:
样本1:
熊猫

章鱼

执行样本1 以后会生成两个文件:
样本1带数据:(就是把原来的统计表格数据后一列放上去)
熊猫 1
猫 3
章鱼 NA
新的数据统计表格:
熊猫 2 (就是添加一些新的物种,原来有的动物个数加1)
老鼠 2
猫 4
小鸡 1
章鱼 1

………………………………………………………………………………………………
其实就是打算做一个统计
现在的问题是 我不会做统计表的更新!

论坛徽章:
3
2015亚冠之武里南联
日期:2015-07-29 12:14:352015年亚冠纪念徽章
日期:2015-08-12 14:28:272015亚冠之德黑兰石油
日期:2015-09-09 17:15:52
2 [报告]
发表于 2015-08-12 16:11 |只看该作者
我自己做了一个比较笨的程序,可以实现功能,大家有什么更好的思路,我也很想学一下!

真实的数据格式:
$pos:
chr11:10521764:T:C: 2
chr11:108183167:A:G: 2
chr11:10819364:T:C: 2
chr11:10822350:C:T: 2
chr11:10823079:T:C: 2
chr11:10828361:C:A: 2
.............

$txt:
11        654043        G        A        Exonic        DEAF1
11        674731        C        T        Exonic        DEAF1                               
11        822588        C        T        Exonic        PNPLA2
11        824428        G        T        Exonic        PNPLA2
11        824789        T        C        Exonic        PNPLA2
................

open(IN1,"$txt");
open(IN,"$pos");
open(OUT,">$haha");
my %hash_pos;
map{chomp;my @data = split/\t/,$_;$hash_pos{$data[0]}=$data[1];}<IN>;
close IN;
my @hash;
while (<IN1>) {
   chomp;
   next if $_=~/^$/;
   my $line=$_;
   my @data1 = split/\t/,$_;
   my $tmp = "chr"."$data1[0]".":".$data1[1].":".$data1[2].":".$data1[3];
   print $tmp."\t";
   if($hash_pos{$tmp}){
           print OUT "$line\t$hash_pos{$tmp}\n";
           $hash_pos{$tmp}=$hash_pos{$tmp}+1;
         
           }
   else {
           $hash_pos{$tmp}=1;
           print OUT "$line\t$hash_pos{$tmp}\n";
          
           }
  
}
open(IN,">$pos");
print IN ("$_: $hash_pos{$_}\n") foreach(sort keys(%hash_pos));
close IN;
close IN1;
close OUT;

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2015-08-12 16:48 |只看该作者
54red 发表于 2015-08-12 16:11
我自己做了一个比较笨的程序,可以实现功能,大家有什么更好的思路,我也很想学一下!


先从把问题描述清楚开始吧.

论坛徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之德黑兰石油
日期:2015-07-15 08:46:452015亚冠之平阳省
日期:2015-11-08 16:27:53白银圣斗士
日期:2015-11-14 09:58:12
4 [报告]
发表于 2015-08-13 09:06 |只看该作者
回复 3# MMMIX


    他这个目的应该是统计不同染色体上、不同位置、不同类型SNP的情况,描述的很混乱

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
5 [报告]
发表于 2015-08-13 09:42 |只看该作者
回复 4# b114213903


    其实我并不关心数据的意义, 这些对编程来说许多时候是没有意义的; 而对编程有意义的是输入的格式, 处理数据的规则, 输出的内容和格式.

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
6 [报告]
发表于 2015-08-13 13:45 |只看该作者
回复 2# 54red
问题是
LZ打算
print, + 1

  1. print OUT "$line\t$hash_pos{$tmp}\n";
  2. $hash_pos{$tmp}=$hash_pos{$tmp}+1;
复制代码
1+ 1, print

  1. $hash_pos{$tmp}=$hash_pos{$tmp}+1;
  2. print OUT "$line\t$hash_pos{$tmp}\n";
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP