王英珍

不积硅步,无以至千里;不积小流,无以成江河

Rosalind-Open-Reading-Frames

08 Jul 2017 »

Rosalind perl

###[ORF]Open Reading Frames

perl script

#!/usr/bin/perl -w
use strict;
use warnings;
open(IN,"<",$ARGV[0]) or die $!;
my $seq=<IN>;
my $i=index($seq,"ATG");
my $protein="";
for (my $i;$i<length($seq);$i+=3){
    my condon=substr($seq,$i,3);
    $protein.=&trans($condon);
    last if(&trans($condon)eq "_");
}
print $protein;
sub trans{
    my ($condon)=@_;
    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{$condon}){
            return $genetic_code{$condon};
    }
    else{return "*";}
}

Author: 王英珍
qq: 296085360
email:wangyingzhen91@163.com