免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
1
处女座
日期:2014-12-12 10:55:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-09-13 17:12 |只看该作者 |倒序浏览
chr1    4589    76
chr1    4590    76
chr1    4591    76
chr1    4592    76
chr1    4593    76
chr1    4594    76
chr1    59497   168
chr1    59498   168
chr1    59499   168
chr1    59500   168
chr1    59501   168
chr1    59502   169
chr1    59503   169
chr1    1138915 38
chr1    1138916 38
chr1    1138917 38
chr1    1138918 38
chr1    1138919 38
chr1    1138920 38
chr1    1138921 38
chr1    1138922 38
chr2    3583635    21
chr2    3583636    21
chr2    3583637    21
chr2    3583638    20
chr2    3583639    20
chr2    3583640    20
chr2    3583641    20
chr2    3583642    20
chr2    3583705    20
chr2    3583706    20
chr2    3583785    22
chr2    3583786    22
chr2    3583787    22
chr2    3583788    22
chr2    3583789    22
chr2    3583790    22
chr2    3583791    22
chr2    3583792    22
chr2    3583793    22
chr2    3583794    22
chr2    3583795    22
chr2    3583796    22
chr2    3583797    22
chr2    3583798    22
chr2    3583799    22
chr2    3583800    22
chr2    3583801    22
chr2    3583802    22
chr2    3583803    22
chr2    3583804    22
chr2    3583805    22
chr2    3583806    22
chr2    3583807    22
chr2    3583808    22
chr2    3583809    22
chr2    3583810    22
chr2    3583811    22
chr2    3583812    22

我这里有一个depth深度的文件 我想把它制作成下面这个格式:
chr1 4589 4594
chr1  59497 59503
chr1 1138915 1138922
chr2 3583635 3583706
chr2 3583785 3583812

求各位大神们指导下啊,编程不太会,谢谢啦

论坛徽章:
0
2 [报告]
发表于 2016-09-13 17:53 |只看该作者
做生信的啊!

论坛徽章:
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
3 [报告]
发表于 2016-09-13 18:19 |只看该作者
本帖最后由 sunzhiguolu 于 2016-09-13 18:30 编辑
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my @aData = map {[@{$_}[0, 1, 1]]} [split (' ', scalar <>)];

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

  14. print "@$_\n" for @aData;
复制代码

perl abc.pl a
------------------------------------------------
chr1 4589 4594
chr1 59497 59503
chr1 1138915 1138922
chr2 3583635 3583642
chr2 3583705 3583706
chr2 3583785 3583812

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

真心没太看懂,不过还是谢谢啦,程序我照着写啦,但是跑不通

论坛徽章:
1
处女座
日期:2014-12-12 10:55:00
5 [报告]
发表于 2016-09-14 09:43 |只看该作者
回复 2# 华小飞_Perl

是的

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

真心没太看懂,不过还是谢谢啦,程序我照着写啦,但是跑不通

跑通啦 十分感谢!

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
7 [报告]
发表于 2016-09-14 10:21 |只看该作者
回复 6# jiangphoenix

不是有现成的工具吗?bedtools, samtools,。。。

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

bed文件出来后我还想处理下


我想文中类似于这三行的内容合并成一行 结果类似于 chr1 22061105 22061222,这我该怎么办啊
非常感谢=。= 我对perl对这种问题的处理不是很懂。。。

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

bedtools合并出来的bed文件overlap区域太多,重复的也太多,,,,

论坛徽章:
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
10 [报告]
发表于 2016-09-14 13:00 |只看该作者
回复 8# jiangphoenix
我对你提出的问题的不是很懂, 能否详细一点?

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP