目的
アライメント済みのFastaファイルを整形して、エクセルに変換し、図にするPythonのスクリプトです。Google Colabから実行できます↓。
マルチプルアライメントをMEGAなどを使い作成したのちに、よくあるアライメントの図を作ります。こんな感じ。

背景
アライメントの作図をするソフトどしてはGeneDocがありますが、Windows専用になっています。TexShadeはきれいな図を作るのにはよいですが、Texの環境がないPCではセットアップが大変です。
そこで、エクセル方眼紙にアライメントを出力してみましょう。DNAやタンパク質配列をいじるPCなら大抵エクセルか類似のソフトが入っているかと思います。GithubにあるスクリプトをそのままGoogle Colabで動かせるので、準備することは、Googleのアカウントを作るだけです!
アライメント済みのファスタファイル
アライメント済みの配列を記述したファスタファイルを用意します。アライメントを作成するソフトウエアは何でもよいです。
もし、Megaで配列アライメントをとった場合、以下のボタンからFastaをエクスポートできます。

Google Colabで実行
↓のボタンを押して、Google ColabにJumpします。
続いて、Fasta fileをアップロードします。
①左側のフォルダマークをクリックして、
②出てきたファイルブラウザー部分にドラックアンドドロップでアライメント済みのFastaファイルをアップロードします。

③入力ファイル名をアップロードしたファイル名に書き換えます。
④パラメーターをいじります。細かい設定は後述します。そのままでもOKです。初期設定ですと、相同性が50%から75%をグレー背景、75%以上で、黒背景になります。
⑤Run allを押します。
⑥出力されたエクセルをダウンロード。待ってもoutput.xlsxが出てこない場合は、エラーが出てないか確認してください。細かいころはエクセルでいじるか、パワポ等に張り付けていじってください。
パラメーターの設定内容
パラメーターについてです。
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を見たい場合は、該当部分を以下に書き換えることで、逆に相同性がない部分がハイライトされます。
default_bgcolor = "red"
Color_threshold = [0.2] #ここは、適当な値に設定して下さい
bg_colors = ["white"]
font_colors = ["black"]
パラメーターの後半部分です。
Consensus_threshold = [0.50, 0.75]
row_break_length = 60
font = "Courier New"
・Consensus_threshold は全遺伝子の一番下に出力されているコンセンサス配列のアルファベットを出力する際の閾値です。
1つ目の要素以上2つ目の要素未満なら、小文字を、2つ目の要素以上の相同性なら大文字を出力します。
・row_break_lengthは改行する際の一行当たりの文字数です。
start_res = 0
end_res = 10000
・一部だけを取り出したいときにここの数字を変えてください。
1番上の遺伝子の残基の番号で指定してください。スタートが0なら、最初から表示して、
end_resが配列長に対して十分に大きければ、最後まで表示します。
エクセルでの編集
・途中で配列を切り分けて、右側の残基番号を計算したい際は=COUNTIF(範囲, "<>-")とすれば、「-」以外の文字数がカウントできます。
・エクセルの置換機能は、セルの書式も置換や検索対象にできます。選択肢が出てこない場合は、オプション>>を押してください。
例えば、「-」のマスだけを黄色に塗りつぶす場合は、置換先の書式の部分をクリックして、塗りつぶしを選択します。そこで好きな色を選んでください。
同様に、黒く塗りつぶされているマスを青く塗りつぶすなどいろいろできます。


