初心者用Perl特訓講座 第二回 前回の復習 配列とハッシュの操作 [配列] push, pop, shift, unshift split 文字列 → 配列 join 配列 → 文字列 [ハッシュ] エントリー作成: $hash{key} = value; 要素抽出: keys, values, each 本日のテーマ ACGTGATGTCGTAGTCGATGCTAG…. という塩基配列があったとして ①各文字の文字数を知りたい →カウント法 ②あるパターンの文字列を含むか知りたい →マッチング,正規表現 カウント法 その一 置換演算子を用いる 置換演算子 [文字列] =~ tr/abc/xyz/; a → x b → y c → z -----------------------------$seq = ggggcccc; $seq =~ tr/ac/tg/; print “$seq\n”; 置換演算子 • もう一つの機能…置換した回数をカウント $count = [文字列] =~ tr/abc/xyz/; 置換した回数が入る カウント法 その二 ハッシュを用いる方法 正規表現 正規表現 • ようするに文字の拡張 • あくまでも“あいまいな表現”ではなく,表現法の厳 密な拡張 AはAを意味する文字 [AB]はAかBを意味する文字 [^A]はA以外を意味する文字 .は全ての文字を意味する文字 という具合 量指定子 A{1,3} →A, AA, AAAのどれか B A{1,3} → BA, BAA, BAAAのどれか B A{1,3}D → BAD, BAAD, BAAADのどれか A{1, } A{, 5} A{3} → A, AA, AAA,・・・のどれか → ・・・, AAAAAのどれか →AAAのみ 量指定子 + → {1, } * → {0, } <例> Ba*d → Bd,Bad,Baad,・・・ ? → {0,1} <例> Ba?d → Bd,Bad 本日の宿題 次に含まれる塩基の頻度と暗号を解読するプ ログラムを作りなさい cgtagctgactgctgatcgatgctagctgatgcgtgagAA AGCTGATGCCATTACTGCAAGTAGTGAAA TTCATGCCCCCCCATACgtcgatcgatcgtagct gatcgatgtcgagtctagt ・ヒントはコドン表です。 ・プログラムの中に正規表現とハッシュを利用し て下さい。
© Copyright 2024 ExpyDoc