Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Computing GC Content: Parsing FASTA and Analyzing Sequences

nkimoto
January 29, 2022

Computing GC Content: Parsing FASTA and Analyzing Sequences

2022/01/14 (金) 【第7回】ゼロから始めるゲノム解析(Python編) 資料

nkimoto

January 29, 2022
Tweet

More Decks by nkimoto

Other Decks in Programming

Transcript

  1. 環境構築 - 必要パッケージ群のインストール # 公開されているレポジトリからファイル群を取得 $ git clone https://github.com/kyclark/biofx_python $

    cd biofx_python # requirements.txt に記載のパッケージをインストール $ pip3 install -r requirements.txt # pylintの設定ファイルをホームディレクトリに移動 $ cp pylintrc ~/.pylintrc # mypyの設定ファイルをホームディレクトリに移動 $ cp mypy.ini ~/.mypy.ini
  2. 文字列スライスを使った3-merごとの抽出 リスト内包表記を使うことで全配列に渡って3-merごとに抽出することができる >>> rna = 'AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA' # STEP1. スライスstartの取得 >>>

    list(range(0, len(rna), 3)) [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48] # STEP2. スライス(start, end)の取得 >>> [(n, n + 3) for n in range(0, len(rna), 3)][:5] [(0, 3), (3, 6), (6, 9), (9, 12), (12, 15)] # STEP2. スライス結果の取得 >>> [rna[n:n + 3] for n in range(0, len(rna), 3)][:5] ['AUG', 'GCC', 'AUG', 'GCG', 'CCC']
  3. (参考)K-merの抽出 同様の処理でK-mer全てを抽出することができる >>> rna = 'AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA' >>> [rna[n:n + 3]

    for n in range(0, len(rna)-2)] ['AUG', 'UGG', 'GGC', 'GCC', 'CCA', 'CAU', 'AUG', 'UGG', 'GGC', 'GCG', 'CGC', 'GCC', 'CCC', 'CCA', 'CAG', 'AGA', 'GAA', 'AAC', 'ACU', 'CUG', 'UGA', 'GAG', 'AGA', 'GAU', 'AUC', 'UCA', 'CAA', 'AAU', 'AUA', 'UAG', 'AGU', 'GUA', 'UAC', 'ACC', 'CCC', 'CCG', 'CGU', 'GUA', 'UAU', 'AUU', 'UUA', 'UAA', 'AAC', 'ACG', 'CGG', 'GGG', 'GGU', 'GUG', 'UGA']
  4. 辞書型を用いたコドン→アミノ酸への変換 コドン→アミノ酸への変換は辞書型で実装できる。 終止コドンは「*」で示すことが多い。 >>> rna = 'AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA' >>> aa =

    [] >>> for codon in [rna[n:n + 3] for n in range(0, len(rna), 3)]: ... aa.append(codon_to_aa[codon]) ... >>> aa ['M', 'A', 'M', 'A', 'P', 'R', 'T', 'E', 'I', 'N', 'S', 'T', 'R', 'I', 'N', 'G', '*']