2011年6月23日星期四

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

On 06/23/2011 11:12 AM, xiumu wrote:
> 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
>
下面是我写的一个程序,经测试无误,需补齐其他氨基酸的三字母表示形式
#!/usr/bin/perl
#===============================================================================
#
# FILE: fasta.pl
#
# USAGE: ./fasta.pl
#
# DESCRIPTION: in response
#
# AUTHOR: ocrack
# CREATED: 06/23/2011 09:23:54 PM
#===============================================================================

use strict;
use warnings;

my $desc;
my $seq = '';

while (<DATA>) {
next, unless (chomp);
if (/^>(.+)/) {
&process_seq($seq), unless ($seq eq '');
$seq = '';
&process_desc($1);
}
else {
$seq .= uc;
}
}
&process_seq($seq);

sub process_desc() {
my @desc = split /\|/, shift;
print "seqence annotation is:\n", join( "\t", @desc ), "\n";

}

sub process_seq() {
my %triples = qw(M Met C Cys);#need to add others triple aa
my $seq = shift;
$seq =~ s/[\s\t]//g;
print "triple aa sequence is:\n";
foreach ( split // , $seq ) {
print $triples{$_};
}
print "\n";

}
__DATA__
>a|b
MCM
>c|d
CCM

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

没有评论: