ボルケーノプロットの作図【python】

スポンサーリンク

ボルケーノプロットとは?

ボルケーノプロットは、遺伝子発現実験などで一般的に使用される視覚化手法です。これは、各遺伝子に対する統計的有意性と発現量の変化をプロットすることで、大規模なデータセットから有意な変化を示す遺伝子を簡単に特定するのに役立ちます。

以下に、Pythonを使用してボルケーノプロットを作成するサンプルコードを示します。

ボルケーノプロット作成サンプル

numpymatplotlibを使用します。

pip install numpy matplotlib

ランダムに生成されたサンプルデータセットを用いて、ボルケーノプロットを描画します。

import numpy as np
import matplotlib.pyplot as plt

# サンプルデータ生成
np.random.seed(0)  # 再現性のため
log2_fold_change = np.random.normal(0, 1, 1000)
p_values = np.random.uniform(0, 1, 1000)

# p値〜負の対数
neg_log10_p_values = -np.log10(p_values)

# プロットの設定
plt.figure(figsize=(10, 6))
plt.scatter(log2_fold_change, neg_log10_p_values, alpha=0.5)

# 閾値の描画(|ログ2倍変化量| > 1.5 と p値 < 0.05)
threshold = -np.log10(0.05)  # p値の閾値
plt.axhline(y=threshold, color='red', linestyle='--')
plt.axvline(x=1.5, color='green', linestyle='--')
plt.axvline(x=-1.5, color='green', linestyle='--')

# タイトル&ラベルの追加
plt.xlabel('Log2 Fold Change')
plt.ylabel('-Log10 p-value')
plt.title('Volcano Plot')

# PDFファイルの保存
plt.savefig('volcano_plot.pdf', format='pdf')

# リソース解放
plt.close()

サンプルプログラムの簡単な説明

  1. ライブラリのインポート
    • numpy, matplotlib
  2. サンプルデータの生成
    • ランダムなログ2倍変化量を生成。
    • ランダムなp値を生成。
  3. p値の負の対数の計算
    • p値を-np.log10関数で負の対数の計算。
  4. ボルケーノプロット
    • plt.scatterを使用して、ログ2倍変化量とp値の負の対数をプロット。
    • 統計的に有意な変化を示す閾値をプロットに追加。
  5. タイトルの追加
  6. プロットのPDFファイルとしての保存
  7. プロットの表示
タイトルとURLをコピーしました