免费注册 查看新帖 |

Chinaunix

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

perl编程:关于bed文件制作求助 [复制链接]

论坛徽章:
1
处女座
日期:2014-12-12 10:55:00
21 [报告]
发表于 2016-09-14 13:33 |只看该作者
回复 18# sunzhiguolu

合并条件:在第一列都相等的情况下,上一行第三列的坐标与下一行第二列的坐标相差数值小于3,非常感谢!!!

论坛徽章:
1
处女座
日期:2014-12-12 10:55:00
22 [报告]
发表于 2016-09-14 13:38 |只看该作者
回复 20# sunzhiguolu

是的,最开始那个托您的福 已经能够跑通了,生成的就是刚才那个结果,这次是想处理这个结果文件,这个文件中每一行都是一段区域坐标,第一列是染色体名称,第二列是其实坐标,第三列是终止坐标,上次处理后的数据结果有得相邻区域的挨得很近, 我就是想将这些挨得很近的区域合并成一个区域 新生成的结果中 不要这些离得很近的区域(离得很近的都被合并了(上一行第三列和下一行第二列的数值差小于3 就可以 合并了)),谢谢谢。生成文件的格式依旧是这样的,只是修改了 这些区域的坐标

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
23 [报告]
发表于 2016-09-14 13:51 |只看该作者
回复 22# jiangphoenix
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my @aData = [split (' ', scalar <DATA>)];

  5. while (<DATA>){
  6.     my ($id, $start, $end) = split;
  7.     if ($aData[-1][0] eq $id){
  8.         $start - $aData[-1][-1] < 3 ? ($aData[-1][-1] = $end) : push (@aData, [$id, $start, $end]);
  9.         next;
  10.     }
  11.     push (@aData, [$id, $start, $end]);
  12. }

  13. print "@$_\n" for @aData;

  14. __DATA__
  15. chr1 11129265 11129312
  16. chr1 11132717 11132739
  17. chr1 11132741 11132745
  18. chr1 11132747 11132764
  19. chr1 11132766 11132818
  20. chr1 11132850 11132904
  21. chr1 11132906 11132939
  22. chr1 11139743 11139968
  23. chr1 11150021 11150225
  24. chr1 11172370 11172752
  25. chr1 11174848 11175076
  26. chr1 11175999 11176441
  27. chr1 11177029 11177309
  28. chr1 11177311 11177397
  29. chr1 11177453 11177683
  30. chr1 11181703 11182355
  31. chr1 11187182 11187371
  32. chr1 11193359 11193591
  33. chr1 11195078 11195149
复制代码



论坛徽章:
1
处女座
日期:2014-12-12 10:55:00
24 [报告]
发表于 2016-09-14 14:00 |只看该作者
回复 23# sunzhiguolu

谢谢!终于解决了 太感谢你了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP