免费注册 查看新帖 |

Chinaunix

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

求大神帮写一个去除交集的perl脚本!! [复制链接]

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
21 [报告]
发表于 2014-01-21 15:43 |只看该作者
回复 20# pitonas

1. strict
  use strict;
  use warnings;

2. Check it with open file
open my $one, 'doc1' or die "cannot open doc1 file\n";
open my $two, 'doc2' or die "cannot open doc2 file\n";

3. It's hard to know what you want
    would you please to tell us what you want to do or where the issue is?

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
22 [报告]
发表于 2014-01-21 15:49 |只看该作者


我尝试回答1楼的问题,
麻烦大神给看看,谢谢 {:2_172:}
回复 21# jason680


   

论坛徽章:
0
23 [报告]
发表于 2014-01-22 14:40 |只看该作者
回复 20# pitonas


大神,你的代码运行好像没有结果啊。是空的!!


   

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
24 [报告]
发表于 2014-01-22 15:14 |只看该作者
本帖最后由 pitonas 于 2014-01-22 08:23 编辑

{:2_172:} 找 大神 jason680 or 大神 yestreenstars or 大神 MMMIX
这程序只有他们能编写正确的代码
felix0608 发表于 2014-01-22 07:40
回复 20# pitonas

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
25 [报告]
发表于 2014-01-22 15:25 |只看该作者
本帖最后由 pitonas 于 2014-01-22 08:26 编辑

[18656   18756] doc 1
[18075   18656] doc 2

is overlay ?
or not overlay ?

论坛徽章:
0
26 [报告]
发表于 2014-01-22 15:27 |只看该作者
回复 21# jason680

大神你好:我陈述一下我的目的:
file1:
scaffold1       1       16439
scaffold1       18075   18656
scaffold1       22506   22691
scaffold1       53109   55597
scaffold1       64277   76351
scaffold1       84997   85240
scaffold1       91210   98127
scaffold1       98569   99022
scaffold1       101188  102851
scaffold1       105232  105249
scaffold1       113602  116343
scaffold1       124999  125184
scaffold1       125930  126558
scaffold1       134339  134668
scaffold1       141085  141482
scaffold1       141576  142066
scaffold1       142183  142295
scaffold1       142368  142817
scaffold1       143613  145919
scaffold1       146106  146119
scaffold1       146456  146501
scaffold1       147426  147715
scaffold1       148846  149512
scaffold1       149776  149813
scaffold1       150361  150747
scaffold1       158353  160761
scaffold1       165280  165383
scaffold1       165486  165737
scaffold1       166810  173128
scaffold1       174606  175266
scaffold1       176688  179222
scaffold1       183911  184183
scaffold1       186787  188238
scaffold1       190183  191560
scaffold1       192206  195941
scaffold1       202089  202265
scaffold1       202944  203048
scaffold1       208786  208979
scaffold1       211069  211420
scaffold1       212044  212069
scaffold1       217631  217813
scaffold1       218313  219423
scaffold1       222785  226870
scaffold1       235200  245644
scaffold1       258071  260210
scaffold1       260446  260450
scaffold1       260660  261439
……

file2:

scaffold1       1       244
scaffold1       291     675
scaffold1       719     1026
scaffold1       1113    1329
scaffold1       1332    1646
scaffold1       1653    1910
scaffold1       2034    2284
scaffold1       2511    2671
scaffold1       3006    3126
scaffold1       3845    3944
scaffold1       3947    4079
scaffold1       4173    4352
scaffold1       5020    5125
scaffold1       5130    5229
scaffold1       5968    6132
scaffold1       7599    7702
scaffold1       8314    8580
scaffold1       8657    8813
scaffold1       9156    9376
scaffold1       9725    11199
scaffold1       11206   13848
scaffold1       13881   13980
scaffold1       13986   14148
scaffold1       14173   14475
scaffold1       14759   15304
scaffold1       15429   15606
scaffold1       15692   15797
scaffold1       15898   16171
scaffold1       16863   16981
scaffold1       18656   18756
scaffold1       18845   18949
scaffold1       19167   19272
scaffold1       20314   20413
scaffold1       20431   20542
scaffold1       20692   20791
scaffold1       20810   20918
scaffold1       21789   21906
scaffold1       21945   22461
scaffold1       22526   22776
scaffold1       22846   23126
scaffold1       23162   23755
scaffold1       23882   24047
scaffold1       24714   24813
scaffold1       24974   25204
scaffold1       25293   25726
scaffold1       25729   25828
scaffold1       25833   26030
scaffold1       26105   26341
……


两个文件都是三列:第一列是ID,不止是scaffold1,还有100多个呢!第二列是坐标起点,第三列是坐标的终点。
我的目的是这样的:以第一个文件作为参考系。如果第二个文件中的坐标范围落在第一个相同ID的某一段的话,就把那一段坐标从第一个文件中去除。

比如前面几列的结果是这样的:
scaffold1 245 290
scaffold1 676 718
scaffold1 1027 1112
……
scaffold1 16172   16439(这个坐标是第一个文件第一列的终点,接下来的又以文件一的第二行作为坐标。)


实现起来好像挺麻烦的,谢啦!!






   

论坛徽章:
0
27 [报告]
发表于 2014-01-22 15:29 |只看该作者
回复 25# pitonas


我把目的又在楼下重复了一遍。你的代码我运行了。不是我想要的结果。。。。。


   

论坛徽章:
8
技术图书徽章
日期:2013-09-30 08:51:28技术图书徽章
日期:2013-12-11 09:26:39白羊座
日期:2013-12-27 15:27:13金牛座
日期:2014-01-06 09:13:05天蝎座
日期:2014-01-21 14:23:28酉鸡
日期:2014-05-09 16:51:12卯兔
日期:2014-08-11 16:49:1515-16赛季CBA联赛之八一
日期:2017-08-14 23:24:57
28 [报告]
发表于 2014-01-22 15:30 |只看该作者
为什么我的代码像石沉大海了···没测试么···

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
29 [报告]
发表于 2014-01-22 15:33 |只看该作者

{:2_172:}
如果第二个文件中的坐标范围落在
第一个文件相同ID的某一段的话
[18656   18756] doc2
[18075   18656] doc1

落在 ?
or not 落在 ?
回复 27# felix0608


   

论坛徽章:
0
30 [报告]
发表于 2014-01-22 15:46 |只看该作者
pitonas 发表于 2014-01-22 15:33
如果第二个文件中的坐标范围落在
第一个文件相同ID的某一段的话
[18656   18756] doc2

如果第二个文件中的坐标范围落在第一个文件的某段坐标里,就把它从第一个文件中去掉。相当于以第一个文件作为大集合,求第二个文件的补集。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP