2011年6月23日星期四

Re: [PerlChina] Re: 请教一个关于蛋白质序列的 perl语言程序

不用Bioperl,直接使用hash也很容易实现的。不过bioperl的普适性更好,毕竟bioperl的诞生就是为了解决大家都会遇到的问题。
如果学完perl,还不会用hash,那就无话可说了。

在 2011年6月23日 下午5:13,xiumu <yangyang445544@126.com>写道:
最好不要引用什么东西,就是单纯的程序就能实现。20种氨基酸比较多,写一个剩下的我自己补就好了。程序越容易理解越好

On 6月23日, 下午1时03分, jie liu <liujie....@gmail.com> wrote:
> 写的很乱,请参考。附件有序列文件和程序文件
>
> ###///////////////////////////////////////////////////////////////////////# ##
> ###//////////////程序名称:..
> ###//////////////作者:盛夏
> ###//////////////时间: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
> >     >:注释行
>
> > AQYEDGKQYTTLEKPVAGAPQVLEFFSFFCPHCYQFEEVLHISDNVKKKLPEGVKMTKYHVNFMGGDLGKDLTQA WAVAM
>
> > ALGVEDKVTVPLFEGVQKTQTIRSASDIRDVFINAGIKGEEYDAAWNSFVVKSLVAQQEKAAADVQLRGVPAMFV NGKYQ
> > LNPQGMDTSNMDVFVQQYADTVKYLSEKK
> > 数据内容
> > >1AAR:B|PDBID|CHAIN|SEQUENCE
>
> > MQIFVKTLTGKTITLEVEPSDTIENVKAKIQDKEGIPPDQQRLIFAGKQLEDGRTLSDYNIQKESTLHLVLRLRG G
> > >1AG2:A|PDBID|CHAIN|SEQUENCE
>
> > GLGGYMLGSAMSRPMIHFGNDWEDRYYRENMYRYPNQVYYRPVDQYSNQNNFVHDCVNITIKQHTVTTTTKGENF TETDV
> > KMMERVVEQMCVTQYQKESQAYY
> > >1AJ3:A|PDBID|CHAIN|SEQUENCE
>
> > AKLNESHRLHQFFRDMDDEESWIKEKKLLVSSEDYGRDLTGVQNLRKKHKRLEAELAAHEPAIQGVLDTGKKLSD DNTIG
> > KEEIQQRLAQFVDHWKELKQLAAARGQRLE
> > >1ARR:B|PDBID|CHAIN|SEQUENCE
> > MKGMSKMPQFNLRWPREVLDLVRKVAEENGRSVNSEIYQRVMESFKKEGRIGA
>
> > --
> > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> > 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> > 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@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 Scienceshttp://www.gibh.cas.cn/
>
>  Protein seq.fasta
> < 1K查看下载
>
>  1.pl
> 2K查看下载

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: