免费注册 查看新帖 |

Chinaunix

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

GFF合并加排序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-03 14:09 |只看该作者 |倒序浏览
有两个gff文件,将文件2的URT插入到文件1中,将同一个scaffold的中的第四列按从小到大的序列排列,并且满足插入的UTR文件的第4,5列与mrna的第4,5列相差在1000以内,输出按scaffold的名称排序(如scaffold1,scaffold2,scaffold3.。。)排序文件。
mRNA.gff
scaffold1        GLEAN        mRNA        1136652        1160869        0.998504        +        .        ID=AR_GLEAN_10004369;
scaffold1        GLEAN        mRNA        652321        654066        1        -        .        ID=AR_GLEAN_10004358;
scaffold1        GLEAN        mRNA        1787631        1790162        0.910098        +        .        ID=AR_GLEAN_10004372;
scaffold1        GLEAN        mRNA        729357        743691        0.869061        -        .        ID=AR_GLEAN_10004361;
scaffold1        GLEAN        mRNA        692896        714109        0.996397        -        .        ID=AR_GLEAN_10004359;
scaffold2        GLEAN        mRNA        665785        740472        0.696962        +        .        ID=AR_GLEAN_10003453;
scaffold2        GLEAN        mRNA        510390        558468        0.414427        -        .        ID=AR_GLEAN_10003449;
scaffold2        GLEAN        mRNA        193        16824        0.902009        -        .        ID=AR_GLEAN_10003436;
scaffold2        GLEAN        mRNA        837066        837386        0.999013        +        .        ID=AR_GLEAN_10003460;
scaffold1        GLEAN        mRNA        842800        845546        0.728297        -        .        ID=AR_GLEAN_10004362;
scaffold1        GLEAN        mRNA        2052740        2059479        0.998505        -        .        ID=AR_GLEAN_10004376;
scaffold1        GLEAN        mRNA        205036        251824        1        -        .        ID=AR_GLEAN_10004353;
scaffold2        GLEAN        mRNA        1348480        1350426        0.651022        -        .        ID=AR_GLEAN_10003470;
scaffold2        GLEAN        mRNA        55145        74491        0.694455        -        .        ID=AR_GLEAN_10003438;
scaffold1        GLEAN        mRNA        2079204        2087326        0.995474        -        .        ID=AR_GLEAN_10004378;
scaffold1        GLEAN        mRNA        15684        31704        0.499626        -        .        ID=AR_GLEAN_10004351;
scaffold1        GLEAN        mRNA        2200010        2231455        0.806929        -        .        ID=AR_GLEAN_10004381;
scaffold1        GLEAN        mRNA        879294        941576        0.999999        -        .        ID=AR_GLEAN_10004364;
scaffold1        GLEAN        mRNA        977815        983011        0.790595        -        .        ID=AR_GLEAN_10004365;
C26078333        GLEAN        mRNA        38        3519        0.999985        -        .        ID=AR_GLEAN_10000032;
C26088879        GLEAN        mRNA        511        4724        0.255876        -        .        ID=AR_GLEAN_10000036;
C25494756        GLEAN        mRNA        440        688        0.999963        +        .        ID=AR_GLEAN_10000006;
C25902867        GLEAN        mRNA        160        722        1        -        .        ID=AR_GLEAN_10000020;
C25973241        GLEAN        mRNA        227        830        1        +        .        ID=AR_GLEAN_10000024;
C25786066        GLEAN        mRNA        393        1107        1        +        .        ID=AR_GLEAN_10000016;
C25958551        GLEAN        mRNA        320        1185        1        -        .        ID=AR_GLEAN_10000023;
C26033497        GLEAN        mRNA        1421        2025        1        -        .        ID=AR_GLEAN_10000029;
C25522030        GLEAN        mRNA        160        672        1        -        .        ID=AR_GLEAN_10000007;
C25652603        GLEAN        mRNA        243        646        1        -        .        ID=AR_GLEAN_10000012;
C25482226        GLEAN        mRNA        183        658        1        -        .        ID=AR_GLEAN_10000004;

UTR.gff文件
C24784771 Cuff  UTR_5        38        51        1000        +        .        Parent=CCG000001.1;support_id=CUFF1.812.1;
C24784771 Cuff  UTR_3        202        251        1000        +        .        Parent=CCG000001.1;support_id=CUFF1.812.1;
C24896436 Cuff  UTR_5        168        286        1000        -        .        Parent=CCG000002.1;support_id=CUFF1.944.1;
C24896436 Cuff  UTR_3        1        8        1000        -        .        Parent=CCG000002.1;support_id=CUFF1.944.1;
C24997733 Cuff  UTR_5        1        81        1000        +        .        Parent=CCG000004.1;support_id=CUFF1.1043.1;
scaffold1 Cuff  UTR_3        206538     206553        686        -        .        Parent=CCG000069.1;support_id=CUFF2.68.2;
scaffold1 Cuff  UTR_5        603061     603068        1000        -        .        Parent=CCG000074.1;support_id=CUFF2.92.1;
scaffold2 GLEAN  UTR_5    405421    412922        .        -        .        Parent=CCG008314.2;support_id=CUFF33.735.2;
scaffold2 GLEAN  UTR_3    400011    400856        .        -        .        Parent=CCG008314.2;support_id=CUFF33.735.2;
C24988015 Cuff  UTR_5        2        7        1000        +        .        Parent=CCG000003.1;support_id=CUFF1.1023.1;
C24988015 Cuff  UTR_3        323    346     1000        +        .        Parent=CCG000003.1;support_id=CUFF1.1023.1;
scaffold1 Cuff  UTR_3      876039     879293        1000        -        .        Parent=CCG000081.2;support_id=CUFF2.167.1;
scaffold1 Cuff  UTR_5      1058862   1058900      1000        -        .        Parent=CCG000083.1;support_id=CUFF2.155.1;




论坛徽章:
8
技术图书徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
2 [报告]
发表于 2015-02-03 23:02 |只看该作者
本帖最后由 huang6894 于 2015-02-03 23:14 编辑

回复 1# Li_0817

我直觉告诉我你的问题是有问题的~

  1. #!/usr/bin/perl -w

  2. my ($mrna, $utr) = @ARGV;
  3. my %hash;
  4. open MRNA,"< $mrna" or die "$!";
  5. while(<MRNA>){
  6.         chomp;
  7.         my @all = split;
  8.         push @{$hash{$all[0]}},[@all];
  9. }
  10. close MRNA;
  11. open UTR,"< $utr" or die "$!";
  12. while(<UTR>){
  13.                 chomp;
  14.                 my @all = split;
  15.                 next unless exists $hash{$all[0]};
  16. FOR:        foreach my $all_data(@{$hash{$all[0]}}){
  17.                         if((abs($all[3] - $all_data->[3]) <= 1000) and (abs($all[4] - $all_data->[4]) <= 1000) and ($all_data->[2] eq 'mRNA')){
  18.                                 push @{$hash{$all[0]}},[@all];
  19.                                 last FOR;
  20.                         }
  21.                 }
  22. }
  23. close UTR;

  24. foreach my $key(sort keys %hash){
  25.             my @all_data = sort{$a->[3]<=>$b->[3]}@{$hash{$key}};
  26.                 print join("\t",@$_),"\n" for(@all_data);
  27. }
复制代码

  1. => perl hh.pl mrna.gff utr.gff

  2. C25482226        GLEAN        mRNA        183        658        1        -        .        ID=AR_GLEAN_10000004;
  3. C25494756        GLEAN        mRNA        440        688        0.999963        +        .        ID=AR_GLEAN_10000006;
  4. C25522030        GLEAN        mRNA        160        672        1        -        .        ID=AR_GLEAN_10000007;
  5. C25652603        GLEAN        mRNA        243        646        1        -        .        ID=AR_GLEAN_10000012;
  6. C25786066        GLEAN        mRNA        393        1107        1        +        .        ID=AR_GLEAN_10000016;
  7. C25902867        GLEAN        mRNA        160        722        1        -        .        ID=AR_GLEAN_10000020;
  8. C25958551        GLEAN        mRNA        320        1185        1        -        .        ID=AR_GLEAN_10000023;
  9. C25973241        GLEAN        mRNA        227        830        1        +        .        ID=AR_GLEAN_10000024;
  10. C26033497        GLEAN        mRNA        1421        2025        1        -        .        ID=AR_GLEAN_10000029;
  11. C26078333        GLEAN        mRNA        38        3519        0.999985        -        .        ID=AR_GLEAN_10000032;
  12. C26088879        GLEAN        mRNA        511        4724        0.255876        -        .        ID=AR_GLEAN_10000036;
  13. scaffold1        GLEAN        mRNA        15684        31704        0.499626        -        .        ID=AR_GLEAN_10004351;
  14. scaffold1        GLEAN        mRNA        205036        251824        1        -        .        ID=AR_GLEAN_10004353;
  15. scaffold1        GLEAN        mRNA        652321        654066        1        -        .        ID=AR_GLEAN_10004358;
  16. scaffold1        GLEAN        mRNA        692896        714109        0.996397        -        .        ID=AR_GLEAN_10004359;
  17. scaffold1        GLEAN        mRNA        729357        743691        0.869061        -        .        ID=AR_GLEAN_10004361;
  18. scaffold1        GLEAN        mRNA        842800        845546        0.728297        -        .        ID=AR_GLEAN_10004362;
  19. scaffold1        GLEAN        mRNA        879294        941576        0.999999        -        .        ID=AR_GLEAN_10004364;
  20. scaffold1        GLEAN        mRNA        977815        983011        0.790595        -        .        ID=AR_GLEAN_10004365;
  21. scaffold1        GLEAN        mRNA        1136652        1160869        0.998504        +        .        ID=AR_GLEAN_10004369;
  22. scaffold1        GLEAN        mRNA        1787631        1790162        0.910098        +        .        ID=AR_GLEAN_10004372;
  23. scaffold1        GLEAN        mRNA        2052740        2059479        0.998505        -        .        ID=AR_GLEAN_10004376;
  24. scaffold1        GLEAN        mRNA        2079204        2087326        0.995474        -        .        ID=AR_GLEAN_10004378;
  25. scaffold1        GLEAN        mRNA        2200010        2231455        0.806929        -        .        ID=AR_GLEAN_10004381;
  26. scaffold2        GLEAN        mRNA        193        16824        0.902009        -        .        ID=AR_GLEAN_10003436;
  27. scaffold2        GLEAN        mRNA        55145        74491        0.694455        -        .        ID=AR_GLEAN_10003438;
  28. scaffold2        GLEAN        mRNA        510390        558468        0.414427        -        .        ID=AR_GLEAN_10003449;
  29. scaffold2        GLEAN        mRNA        665785        740472        0.696962        +        .        ID=AR_GLEAN_10003453;
  30. scaffold2        GLEAN        mRNA        837066        837386        0.999013        +        .        ID=AR_GLEAN_10003460;
  31. scaffold2        GLEAN        mRNA        1348480        1350426        0.651022        -        .        ID=AR_GLEAN_10003470;

复制代码

论坛徽章:
0
3 [报告]
发表于 2015-02-04 09:46 |只看该作者
1       GLEAN   mRNA    15684   31704   0.499626        -       .       ID=AR_GLEAN_10004351;
1       Cuff    UTR_3   56424   56702   803     -       .       Parent=CCG000067.1;support_id=CUFF2.53.2;
1       GLEAN   mRNA    56703   75159   1       -       .       ID=AR_GLEAN_10004352;
1       Cuff    UTR_5   80357   80441   803     -       .       Parent=CCG000067.1;support_id=CUFF2.53.2;
1       GLEAN   mRNA    205036  251824  1       -       .       ID=AR_GLEAN_10004353;
1       Cuff    UTR_3   206538  206553  686     -       .       Parent=CCG000069.1;support_id=CUFF2.68.2;
1       Cuff    UTR_5   270514  271058  686     -       .       Parent=CCG000069.1;support_id=CUFF2.68.2;
1       GLEAN   mRNA    498935  500111  1       +       .       ID=AR_GLEAN_10004354;
这是我自己弄出来的结果,像图中标红的部分就是应该舍弃的,因为他们与前后的mRNA距离已经大于1000了(根据第3,4列判断),我想要的是在结果文件中显示全部的mRNA和与mRNA距离相差在一千以内的UTR
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP