質問

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

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

例:

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT

2)DNAを転写するには、最初に各DNAを対応物に置き換えます(すなわち、cの場合はg、g、aはt、t for a):

TCATAATACGTTTTGTATTCGCCAGCGCTTCGGTGT
AGTATTATGCAAAACATAAGCGGTCGCGAAGCCACA

次に、チミン(T)塩基がウラシル(U)になることを忘れないでください。したがって、私たちのシーケンスは次のようになります。

AGUAUUAUGCAAAACAUAAGCGGUCGCGAAGCCACA

遺伝コードを使用することはそのようなものです

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

次に、遺伝コードテーブルで各トリプレット(コドン)を調べます。したがって、Aguはセリンになります。これはSerとして書くことができます。

SIMQNISGREAT

タンパク質のテーブルを渡します:

enter image description here

それでは、どうすればそのコードをPerlで書くことができますか?質問を編集し、私がしたことをコードを書きます。

役に立ちましたか?

解決

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

#!/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"
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top