1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アライメント済みのFastaファイルからExcelファイルを作り作図しよう

1
Last updated at Posted at 2025-12-09

目的

アライメント済みのFastaファイルを整形して、エクセルに変換し、図にするPythonのスクリプトです。Google Colabから実行できます↓。
Open In Colab

マルチプルアライメントをMEGAなどを使い作成したのちに、よくあるアライメントの図を作ります。こんな感じ。
画像7.png

背景

アライメントの作図をするソフトどしてはGeneDocがありますが、Windows専用になっています。TexShadeはきれいな図を作るのにはよいですが、Texの環境がないPCではセットアップが大変です。

そこで、エクセル方眼紙にアライメントを出力してみましょう。DNAやタンパク質配列をいじるPCなら大抵エクセルか類似のソフトが入っているかと思います。GithubにあるスクリプトをそのままGoogle Colabで動かせるので、準備することは、Googleのアカウントを作るだけです!

アライメント済みのファスタファイル

アライメント済みの配列を記述したファスタファイルを用意します。アライメントを作成するソフトウエアは何でもよいです。
もし、Megaで配列アライメントをとった場合、以下のボタンからFastaをエクスポートできます。
mega.png

Google Colabで実行

↓のボタンを押して、Google ColabにJumpします。
Open In Colab

続いて、Fasta fileをアップロードします。
①左側のフォルダマークをクリックして、
②出てきたファイルブラウザー部分にドラックアンドドロップでアライメント済みのFastaファイルをアップロードします。
画像2.png

③入力ファイル名をアップロードしたファイル名に書き換えます。

画像3.png

④パラメーターをいじります。細かい設定は後述します。そのままでもOKです。初期設定ですと、相同性が50%から75%をグレー背景、75%以上で、黒背景になります。
⑤Run allを押します。
⑥出力されたエクセルをダウンロード。待ってもoutput.xlsxが出てこない場合は、エラーが出てないか確認してください。細かいころはエクセルでいじるか、パワポ等に張り付けていじってください。

画像4.png

パラメーターの設定内容

パラメーターについてです。

Colab: Cell_1
default_bgcolor = ""
Color_threshold = [0.50, 0.75]
bg_colors = ["lightgray", "black"]
font_colors = ["black", "white"]

・default_bgcolorは背景色で、相同性が低い部分などの背景色を指定します。
ここは、普段空の文字列のままでOKです。

・Color_thresholdは背景色を切り替える閾値です。
相同性が、0から、Color_threshold[0]の部分と、最も割合が高い残基以外の残基は、default_bgcolor で指定した色になります。

Color_threshold[0] と Color_threshold[1] の間は、bg_colors[0]、font_colors[0]が適用されます。
Color_threshold[1]以上の相同率の部分は、bg_colors[1]、font_colors[1]が適用されます。

使える色は、こちらのサイトを参照してください。
https://matplotlib.org/2.0.2/examples/color/named_colors.html

Color_threshold, bg_colors, font_colorsは配列の要素数をそろえてください。

・SNPsとIndelを見たい場合は、該当部分を以下に書き換えることで、逆に相同性がない部分がハイライトされます。

Colab: Cell_1 SNPsやindel等をハイライト
default_bgcolor = "red"
Color_threshold = [0.2] #ここは、適当な値に設定して下さい
bg_colors = ["white"]
font_colors = ["black"]

パラメーターの後半部分です。

Colab: Cell_1
Consensus_threshold = [0.50, 0.75] 
row_break_length = 60
font = "Courier New"

・Consensus_threshold は全遺伝子の一番下に出力されているコンセンサス配列のアルファベットを出力する際の閾値です。
1つ目の要素以上2つ目の要素未満なら、小文字を、2つ目の要素以上の相同性なら大文字を出力します。

・row_break_lengthは改行する際の一行当たりの文字数です。

Colab: Cell_1
start_res = 0    
end_res   = 10000

・一部だけを取り出したいときにここの数字を変えてください。
1番上の遺伝子の残基の番号で指定してください。スタートが0なら、最初から表示して、
end_resが配列長に対して十分に大きければ、最後まで表示します。

エクセルでの編集

・途中で配列を切り分けて、右側の残基番号を計算したい際は=COUNTIF(範囲, "<>-")とすれば、「-」以外の文字数がカウントできます。

・エクセルの置換機能は、セルの書式も置換や検索対象にできます。選択肢が出てこない場合は、オプション>>を押してください。

例えば、「-」のマスだけを黄色に塗りつぶす場合は、置換先の書式の部分をクリックして、塗りつぶしを選択します。そこで好きな色を選んでください。

画像5.png

同様に、黒く塗りつぶされているマスを青く塗りつぶすなどいろいろできます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?