免费注册 查看新帖 |

Chinaunix

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

求助,一个特别复杂的perl比对数据,求修改。输出不对。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-02-27 11:44 |只看该作者 |倒序浏览
本帖最后由 yanglc2013 于 2013-02-27 12:09 编辑



如果图A中>ENST.... 和图B中开头的>ENST....相同 则输出图B的的行 并且每行下面加上图A每行下面的序列。
例如

输出:少了A图中其他数据
  1. #!/usr/bin/perl
  2. open(IN,$ARGV[0]);
  3. open(SE,$ARGV[1]);
  4. open(OUT,">$ARGV[2]");

  5. while(<IN>){

  6.     my ($row1_1);

  7.     ($row1_1,$row)=split /_/,$row1;
  8. }
  9. while(<SE>){

  10.   ($row2_2,$row)=split /\t/,$row;

  11.    if($row1_1==$row2_2){       
  12.     }
  13. print OUT "$_\n$row";
  14. }
  15. close IN;
  16. close SE;
  17. close OUT;
复制代码

论坛徽章:
0
2 [报告]
发表于 2013-02-27 11:55 |只看该作者
求高人指点。。。。

论坛徽章:
0
3 [报告]
发表于 2013-02-27 12:17 |只看该作者
有人知道吗?急啊!

论坛徽章:
0
4 [报告]
发表于 2013-02-27 15:37 |只看该作者
有高手吗??小弟真心求助、、、、

论坛徽章:
0
5 [报告]
发表于 2013-02-27 15:46 |只看该作者
文件大不大?
有多少行?
第一和第四幅图是同一个文件么?

论坛徽章:
0
6 [报告]
发表于 2013-02-27 16:09 |只看该作者
我猜你是想做這件事
  1. open(IN,$ARGV[0]);#圖A
  2. open(SE,$ARGV[1]);#圖B
  3. open(OUT,">$ARGV[2]");

  4. while(<IN>){
  5.         chomp;
  6.        
  7.         if(/^>/){
  8.                 $gene=$_;
  9.         }
  10.         else{
  11.                 $gene_seq{$gene}=$_;
  12.         }
  13. }
  14. while(<SE>){
  15.         chomp;
  16.        
  17.         ($gene,$info)=split/_/;
  18.        
  19.         if($gene_seq{$gene}){
  20.         print OUT "$_\n$gene_seq{$gene}\n";
  21.         }
  22. }
  23. close IN;
  24. close SE;
  25. close OUT;
复制代码

论坛徽章:
0
7 [报告]
发表于 2013-02-28 10:07 |只看该作者
回复 6# afukada
你真是太有才了。谢了啊。

论坛徽章:
0
8 [报告]
发表于 2013-02-28 11:29 |只看该作者
回复 6# afukada
如果匹配则输出不匹配的 应该怎么改啊


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP