私はいくつかの DNA に取り組んでいます (A、T、C、および G で、U が投入される可能性があります)。
今、私は未定義の長さの DNA でいっぱいの非常に長い文字列を持っています。ヌクレオチド塩基のコードを完成させました。
%nucleotide_bases = ( A => Adenine,
T => Thymine,
G => Guanine,
C => Cytosine );
$nucleotide_bases{'U'} = 'This is a RNA base called Uracil';#T=U for RNA
あとは、なんらかのループを挿入して、文字列から各文字を読み取るだけです。このコードは学生向けなので、シンプルにする必要があります。私は数週間前に自分でperlを使い始め、その前にJavaを使い始めました。
文字列 ($string1 と呼ばれます) は、1 つの塩基対が (一度に 1 つずつ) 読み取られるときに、完全な名前を出力する必要があります。文字列が ATATCGCG と言うとき
画面への出力は次のように読み取る必要があります。 Adenine Thymine Adenine Thymine Cytosine Guanine Cytosine Guanine
文字列からこれを行うのが難しすぎる場合は、配列を出発点として使用できます。あなたの助けに感謝します。
優れた回答。これで準備完了です。
もう 1 つの質問は、ユーザーが DNA 塩基 (A、T、C、G) のみを入力できるようにすることでした。これは入力検証と呼ばれるものだと思います。
print "Please enter your first DNA sequence now: \n";
$userinput1=<>;
chomp $userinput1;
そこに入力検証をどのように追加しますか? 条件が満たされない限り、最初の print ステートメントは常に再確認する必要があります。
私は次のようなものが必要であることを知っています
if($userinput1 ne 'a' or 't' or 'c' or 'g') {
print "Please enter DNA only (A, T, C or G)";
}
元の印刷ステートメントに戻す方法がよくわかりません