首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl:DNA序列翻译成氨基酸序列的若干方法,直接法,简并法,哈希法,以及perl中的uc和lc函数(下)

2012-11-16 
perl:DNA序列翻译成氨基酸序列的若干方法,直接法,简并法,哈希法,以及perl中的uc和lc函数(上)1.直接转换法#

perl:DNA序列翻译成氨基酸序列的若干方法,直接法,简并法,哈希法,以及perl中的uc和lc函数(上)


1.直接转换法

#第三种方法#也就是运用哈希#我们将所有的密码子作为hash的key,然后将代表的氨基酸作为hash的value#然后进行匹配# codon2aa # # A subroutine to translate a DNA 3-character codon to an amino acid #   Version 3, using hash lookup  sub codon2aa {     my($codon) = @_;      $codon = uc $codon;#uc=uppercase;lc=lowercase               #也就是大小写转换,uc表示将所有的小写 转换为大写       #lc将所有的大写转换为小写      my(%genetic_code) = (          'TCA' => 'S',    # Serine     'TCC' => 'S',    # Serine     'TCG' => 'S',    # Serine     'TCT' => 'S',    # Serine     'TTC' => 'F',    # Phenylalanine     'TTT' => 'F',    # Phenylalanine     'TTA' => 'L',    # Leucine     'TTG' => 'L',    # Leucine     'TAC' => 'Y',    # Tyrosine      'TAT' => 'Y',    # Tyrosine     'TAA' => '_',    # Stop     'TAG' => '_',    # Stop     'TGC' => 'C',    # Cysteine     'TGT' => 'C',    # Cysteine     'TGA' => '_',    # Stop     'TGG' => 'W',    # Tryptophan     'CTA' => 'L',    # Leucine     'CTC' => 'L',    # Leucine     'CTG' => 'L',    # Leucine     'CTT' => 'L',    # Leucine     'CCA' => 'P',    # Proline     'CCC' => 'P',    # Proline     'CCG' => 'P',    # Proline     'CCT' => 'P',    # Proline     'CAC' => 'H',    # Histidine     'CAT' => 'H',    # Histidine     'CAA' => 'Q',    # Glutamine     'CAG' => 'Q',    # Glutamine     'CGA' => 'R',    # Arginine     'CGC' => 'R',    # Arginine     'CGG' => 'R',    # Arginine     'CGT' => 'R',    # Arginine     'ATA' => 'I',    # Isoleucine     'ATC' => 'I',    # Isoleucine     'ATT' => 'I',    # Isoleucine     'ATG' => 'M',    # Methionine     'ACA' => 'T',    # Threonine     'ACC' => 'T',    # Threonine     'ACG' => 'T',    # Threonine     'ACT' => 'T',    # Threonine     'AAC' => 'N',    # Asparagine     'AAT' => 'N',    # Asparagine     'AAA' => 'K',    # Lysine     'AAG' => 'K',    # Lysine     'AGC' => 'S',    # Serine     'AGT' => 'S',    # Serine     'AGA' => 'R',    # Arginine     'AGG' => 'R',    # Arginine     'GTA' => 'V',    # Valine     'GTC' => 'V',    # Valine     'GTG' => 'V',    # Valine     'GTT' => 'V',    # Valine     'GCA' => 'A',    # Alanine     'GCC' => 'A',    # Alanine     'GCG' => 'A',    # Alanine     'GCT' => 'A',    # Alanine         'GAC' => 'D',    # Aspartic Acid     'GAT' => 'D',    # Aspartic Acid     'GAA' => 'E',    # Glutamic Acid     'GAG' => 'E',    # Glutamic Acid     'GGA' => 'G',    # Glycine     'GGC' => 'G',    # Glycine     'GGG' => 'G',    # Glycine     'GGT' => 'G',    # Glycine     );      if(exists $genetic_code{$codon})     {         return $genetic_code{$codon};     }else    {              print STDERR "Bad codon \"$codon\"!!\n";             exit;     } } 


当然这里面,hash的速度是最快的。

所以我们更推荐低三种方法。




热点排行