シーケンスロゴは、DNA、RNA、タンパク質の配列の生物学的特性を視覚的に説得力のある方法で説明するが、Pythonプログラミング環境内でそのようなロゴを生成してカスタマイズすることは現在のところ困難である。ここでは、公開品質のシーケンスロゴを作成するためのPython APIであるLogomakerを紹介する。Logomakerは、行列のような数値の配列や複数の配列のアラインメントから、標準的なロゴと高度にカスタマイズされたロゴの両方を生成することができる。ロゴはネイティブのmatplotlibオブジェクトとしてレンダリングされ、スタイリングが簡単で、複数パネルの図に組み込むことができる。
Logomaker は pip パッケージマネージャを使ってインストールでき、Python 2.7 と Python 3.6 の両方と互換性がある。ドキュメントは http://logomaker.readthedocs.io に、ソースコードは http://github.com/jbkinney/logomaker にある
Document
インストール
#bioconda(link)
conda create -n logomaker -y
conda activate logomaker
conda install -c bioconda logomaker -y
#pipにも対応
pip install logomaker
テストラン
jupyter notebookでテストする。
1、ライブラリのインポート
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#matplotlibの出力をNotebook内に描画する
%matplotlib inline
#logomakerをインポート
import logomaker
2、ロゴの描画
サンプルデータとしてLogomakerに含まれている大腸菌主要転写因子CRPの特異的なDNA結合能を表すロゴを作成する。このデータはサンプルデータとして含まれており、logomaker.get_example_matrixを引数'crp_energy_matrix'で呼び出すことで読み込まれる。
ww_df = logomaker.get_example_matrix('ww_information_matrix',
print_description=False)
ww_logo = logomaker.Logo(ww_df,
font_name='Stencil Std',
color_scheme='NajafabadiEtAl2017',
vpad=.1,
width=.8)
追加で様々なスタイリングが可能になっています。詳細はexampleとチュートリアルで確認して下さい。
引用
Logomaker: beautiful sequence logos in Python
Ammar Tareen, Justin B Kinney
Bioinformatics, Volume 36, Issue 7, 1 April 2020, Pages 2272–2274
参考