免费注册 查看新帖 |

Chinaunix

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

大家帮我看一下这个脚本有什么问题!多谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-27 12:44 |只看该作者 |倒序浏览

  1. #!/usr/bin/perl

  2. $xfile = $ARGV[0];

  3. $pri3input = $xfile.".pri3input";

  4. open (INPUT,$xfile);
  5. open (OUTPUT, ">;>;$pri3input");

  6. $seq = "";

  7. while ($line = <INPUT>;){
  8.         chomp ($line);
  9.         $line =~ s/\r//;
  10.         if ($line =~ m/^>;/){
  11.                
  12.                 $line =~ m/^>;(\S+)/;
  13.                 $seq_id = $1;
  14.                 if ($seq_id =~ /\|/){
  15.                         $seq_id =~ s/\|/_/g;
  16.                 }
  17. #                print "$seq_id\n";

  18.                 $line =~ /(\d+)\sbp/g;
  19.                 $extra_num = $1;
  20.        
  21.                 $line =~ /(\d+)\.\.(\d+)/g;
  22.                 $region = $2 - $1 + 1;
  23. #                print "$region\n";
  24.                 
  25.         }elsif($line ne ""){
  26.                 $line = uc($line);
  27.                 $seq = "$seq"."$line";
  28.                 if ($seq =~ /\s/){
  29.                         $seq =~ s/\s//g;
  30.                 }
  31. #                print "$seq\n";
  32.         }else{

  33.         }
  34.         print OUTPUT "$seq_id\n";
  35.         print OUTPUT "$extra_num\n";
  36.         print OUTPUT "$region\n";
  37.         print OUTPUT "$seq\n";
  38. }

  39. close INPUT;
  40. close OUTPUT;
复制代码

论坛徽章:
0
2 [报告]
发表于 2003-06-27 12:46 |只看该作者

大家帮我看一下这个脚本有什么问题!多谢

>;CRY1mRNA|exon1 #exon# with 300 bp at both ends #"1..744 in cDNA"
ctaagccttccctcacaaggggc
>;CRY1mRNA|exon2 #exon# with 300 bp at both ends #"745..853 in cDNA"#
tttaattgctttgatacttctttgtatgt
>;CRY1mRNA|exon3 #exon# with 300 bp at both ends #"854..996 in cDNA"
gtaagtatgagtaatttgaaaaagtaaagtgctctacaaacacatttagtataagagctggttttaagcatattgctttgctagattgttgcctagcataatgcctagaatctaatgggttatgcattcattacttatgtattttttaattgataaattgtttactttttcctgcatattcaaagtttgatttatgt
>;hcf2mRNA|exon1 #exon# with 200 bp at both ends #"1..175 in cDNA"#
gccagaggggcgggtcgtccccagcgggcccccgccgccacccacaagcccagtccccggctggtaggggcaccctcccctcgcagccccctctccacgcagctagccgcccccgccctaggtcagcccagtttcctgcccctccctcctgctctcctccctccagctgtttctctggctgagttctgtcccagtcc
>;hcf2mRNA|exon2 #exon# with 200 bp at both ends #"176..324 in cDNA"#
aagattcctctaaatgccttggctgctgaggtgagtgtgactgggtcattcaggcctctggtgcaggaggaggcagcttggccttttctttaacctaaaccagtggcactcaaatgatgatgtgtcatacacttgggaggtccacaggagagttatctcttgatgcacaggggccttctttggactccccc>;hcf2mRNA|exon3 #exon# with 200 bp at both ends #"325..485 in cDNA"#
ttgccctttgttcacactggggtcttgggttctttgctgcacaataaggtttcttttttcccttctaag

论坛徽章:
0
3 [报告]
发表于 2003-06-27 12:49 |只看该作者

大家帮我看一下这个脚本有什么问题!多谢

出来的结果中每个条目重复2次或3次
我希望是唯一的
哪里有问题?

论坛徽章:
0
4 [报告]
发表于 2003-06-27 17:53 |只看该作者

大家帮我看一下这个脚本有什么问题!多谢

这个程序是分析过滤什么的??干什么作用的?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-07-01 20:02 |只看该作者

大家帮我看一下这个脚本有什么问题!多谢

因為你的input可能長得向下面這種格式
>;abc\r\n
def\r\n
gfh\r\n
>;ccc\r\n

好..你照你的程序走一次就知道為什麼了..
每讀一行..都會執行到最下面的..
   print OUTPUT "$seq_id\n";
   print OUTPUT "$extra_num\n";
   print OUTPUT "$region\n";
   print OUTPUT "$seq\n";

所以當然會重複...
另外...有些程序碼看起來是重複的..
慢慢改進吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP