那个帖子被莫名其妙的删除了,现在已经恢复: http://yunbio.com/1262
在 2011年6月23日 下午1:08,yixf <yixf1...@gmail.com>写道: > 在云生物上曾经有一个人问了一个一模一样的问题,不知道是不是同一个人,还是同班同学。 > 我在上面用Bioperl给出了一种解决方案,但是不知道为什么好像那个帖子找不到了。 > > 在 2011年6月23日 下午1:03,jie liu <liujie....@gmail.com>写道: > > 写的很乱,请参考。附件有序列文件和程序文件 >> >> >> ###///////////////////////////////////////////////////////////////////////### >> ###//////////////程序名称:.. >> ###//////////////作者:盛夏 >> ###//////////////时间:2011/06/22 >> ###//////////////备注:序列处理部分的代码来源于 柳城 >> >> ###///////////////////////////////////////////////////////////////////////### >> >> #!/usr/bin/perl -w >> >> $dirname = "D:/xProject/Perl/3"; #指定Random DNA sequences所在目录 >> >> opendir( DIR, $dirname ) || die "Error in opening dir $dirname\n"; >> >> while ( ( $filename = readdir(DIR) ) ) { >> >> #print("$filename\n"); #循环输出该目录下的文件。 >> >> $num = 0; >> $/ = '>'; #输入记录分隔符,默认是/n >> >> open FASTA, "<$dirname/$filename"; >> open disc, ">disc_$filename"; ## 生成一个文件保存描述信息 >> open seq, ">seq_$filename"; ## 生成一个文件保存序列信息 >> open all, ">all_$filename"; ## 生成一个文件记录完整的信息 >> while (<FASTA>) { >> >> $seq_line = ''; >> s/>//g; >> @seq = split "\n"; >> if (@seq) { >> $desc = $seq[0]; ## 这是>后面的描述 >> chomp($desc); >> foreach $i ( 1 .. ( @seq - 1 ) ) {## '..'意思同'~' >> chomp( $seq[$i] ); >> $seq[$i] =~ s/\n//g; ## 把序列的换行符去掉 >> $seq_line .= $seq[$i]; ##把多行的Fasta序列转为一行 >> } >> @seq2 = split(//,$seq_line); >> foreach $i ( 1 .. ( @seq2 - 1 ) ) {## '..'意思同'~' >> if(($i+3)%3 != 0) { >> $seq_line2 .= $seq2[$i]; >> }else{ >> $seq_line2 .= $seq2[$i]." "; >> } >> } >> print disc ">$desc\n"; >> print seq ">\n$seq_line\n"; >> print all ">$desc\n$seq_line2\n"; >> } >> } >> close disc; ## 关闭文件 >> close seq; ## 关闭文件 >> close all; ## 关闭文件 >> >> } >> closedir(DIR); ## 关闭目录 >> >> >> 2011/6/23 xiumu <yangyang445...@126.com> >> >>> FASTA是生物信息数据库的常用存储方式,了解FASTA格式的含义,用perl编写程序分离注释行内容,分离蛋白质序列,并转变成氨基酸三字母表示 >>> 方式。说明使用的perl数据结构和程序的变量转换过程,解释含义。 >>> >>> 承认这是个作业・・・・・ 谢谢各位老大了・・・时间比较紧急 明天就交了・・・・・・ 程序于简单越好 >>> >>> >1A23:A|PDBID|CHAIN|SEQUENCE >>> >:注释行 >>> >>> AQYEDGKQYTTLEKPVAGAPQVLEFFSFFCPHCYQFEEVLHISDNVKKKLPEGVKMTKYHVNFMGGDLGKDLTQAWAVAM >>> >>> ALGVEDKVTVPLFEGVQKTQTIRSASDIRDVFINAGIKGEEYDAAWNSFVVKSLVAQQEKAAADVQLRGVPAMFVNGKYQ >>> LNPQGMDTSNMDVFVQQYADTVKYLSEKK >>> 数据内容 >>> >1AAR:B|PDBID|CHAIN|SEQUENCE >>> >>> MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRGG >>> >1AG2:A|PDBID|CHAIN|SEQUENCE >>> >>> GLGGYMLGSAMSRPMIHFGNDWEDRYYRENMYRYPNQVYYRPVDQYSNQNNFVHDCVNITIKQHTVTTTTKGENFTETDV >>> KMMERVVEQMCVTQYQKESQAYY >>> >1AJ3:A|PDBID|CHAIN|SEQUENCE >>> >>> AKLNESHRLHQFFRDMDDEESWIKEKKLLVSSEDYGRDLTGVQNLRKKHKRLEAELAAHEPAIQGVLDTGKKLSDDNTIG >>> KEEIQQRLAQFVDHWKELKQLAAARGQRLE >>> >1ARR:B|PDBID|CHAIN|SEQUENCE >>> MKGMSKMPQFNLRWPREVLDLVRKVAEENGRSVNSEIYQRVMESFKKEGRIGA >>> >>> -- >>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 >>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscr...@googlegroups.com。 >>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >>> >>> >> >> >> -- >> Best regards, >> Liu Jie >> >> 020-32015312 >> Guangzhou Institutes of Biomedicine and Health, Chinese Academy of >> Sciences >> http://www.gibh.cas.cn/ >> >> -- >> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 >> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 >> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscr...@googlegroups.com。 >> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >> > > -- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscr...@googlegroups.com。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。