搜索
查看: 2189|回复: 0

六框翻译

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-5-6 12:12:45 | 显示全部楼层 |阅读模式
密码子是按3个碱基翻译的,
所以从第一位开始翻译会得到一个氨基酸序列,
从第二位翻译会得到一个不同的氨基酸序列
从第三位开始又会得到一个不同的序列。
从第四位开始就会和第一个开始翻译的序列一样(因为这两个都是从序列里面的起始密码子开始翻译的),
所以相对于单链,会有3种翻译的方式,
同样的情况在互补链上也会有3种,所以就一共有六种翻译方式。读出六条序列,即6框翻译。
关于真核生物翻译的起始起始:
首先是核糖体40s小亚基以及一些真核翻译起始因子结合mRNA的5'帽结构形成复合体,之后就会向下滑动,找AUG,翻译起始还要受到AUG附近序列控制,比如Kozak序列:CCa/gCCAUGG,如果找到了AUG,而且附近的序列又比较适合起始,那么翻译就开始了。

我的perl代码是:(学python和R的可以补充一下自己的代码)
[Perl] 纯文本查看 复制代码
my(%codon) = ( 
     
    '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 
    ); 
$dna=shift @ARGV;
$protein="";
for(my $i=0; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "+1\t$protein\n"; 
$protein="";
for(my $i=1; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "+2\t$protein\n"; 
$protein="";
for(my $i=2; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "+3\t$protein\n"; 

$dna=reverse($dna);
$dna=~tr/ACGTacgt/TGCAtgca/;
$protein="";
for(my $i=0; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "-1\t$protein\n"; 
$protein="";
for(my $i=1; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "-2\t$protein\n"; 
$protein="";
for(my $i=2; $i < (length($dna) - 2) ; $i += 3)
        {$protein.=$codon{substr($dna,$i,3)} }
print "-3\t$protein\n"; 


运行如下:
[AppleScript] 纯文本查看 复制代码
perl dna2protein.pl TGTGCCAGCTCACCAAGGGCCAGCTCCTACGGGCAGTACTTC
+1        CASSPRASSYGQYF
+2        VPAHQGPAPTGST
+3        CQLTKGQLLRAVL
-1        EVLPVGAGPW*AGT
-2        KYCP*ELALGELA
-3        STARRSWPLVSWH




上一篇:免疫组库在疾病研究中几个应用
下一篇:批量下载并且加载R包
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-10-14 22:19 , Processed in 0.032657 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.