3

私は、DNAを読み取ってそのRNAを見つけるプロジェクト(Perlで実装する必要がありますが、得意ではありません)に取り組んでいます。そのRNAをトリプレットに分割して、同等のタンパク質名を取得します。手順を説明します。

1)次のDNAをRNAに転写し、遺伝暗号を使用してアミノ酸の配列に翻訳します

例:

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT

2)DNAを転写するには、最初に各DNAを対応するものに置き換えます(つまり、CをG、GをC、AをT、TをA)。

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT
AGTATTATGCAAAACATAAGCGGTCGCGAAGCCACA

次に、チミン(T)ベースがウラシル(U)になることを思い出してください。したがって、シーケンスは次のようになります。

AGUAUUAUGCAAAACAUAAGCGGUCGCGAAGCCACA

遺伝暗号の使用はそのようなものです

AGU AUU AUG CAA AAC AUA AGC GGU CGC GAA GCC ACA

次に、各トリプレット(コドン)を遺伝暗号表で調べます。したがって、AGUはSerとして記述できるSerineになるか、S。AUUはIとして記述されるIsoleucine(Ile)になります。このように続けると、次のようになります。

SIMQNISGREAT

タンパク質の表を示します。

ここに画像の説明を入力してください

では、どうすればそのコードをPerlで書くことができますか?質問を編集して、自分が行ったことのコードを記述します。

4

1 に答える 1

8

以下のスクリプトを試してください。STDIN(またはパラメーターとして指定されたファイル)への入力を受け入れ、行ごとに読み取ります。また、添付画像の「STOP」は停止状態だと思います。その写真からすべてをよく読んだことを願っています。

#!/usr/bin/perl
use strict;
use warnings;

my %proteins = qw/
    UUU F UUC F UUA L UUG L UCU S UCC S UCA S UCG S UAU Y UAC Y UGU C UGC C UGG W
    CUU L CUC L CUA L CUG L CCU P CCC P CCA P CCG P CAU H CAC H CAA Q CAG Q CGU R CGC R CGA R CGG R
    AUU I AUC I AUA I AUG M ACU T ACC T ACA T ACG T AAU N AAC N AAA K AAG K AGU S AGC S AGA R AGG R
    GUU V GUC V GUA V GUG V GCU A GCC A GCA A GCG A GAU D GAC D GAA E GAG E GGU G GGC G GGA G GGG G
    /;

LINE: while (<>) {
    chomp;

    y/GCTA/CGAU/; # translate (point 1&2 mixed)

    foreach my $protein (/(...)/g) {
        if (defined $proteins{$protein}) {
            print $proteins{$protein};
        }
        else {
            print "Whoops, stop state?\n";
            next LINE;
        }
    }
    print "\n"
}
于 2011-03-21T19:51:53.917 に答える