paplot documentation¶
Contents:
はじめに¶
作成できるグラフ¶
- QC (Quality Control) グラフ
bamファイルの品質をグラフに表示します。
- CA (Chromosomal Aberration) グラフ
Structural Variation (SV) 等、Chromosome間の変異を円形のplotで可視化し、棒グラフでその分布を表示します。
- mutation-matrix グラフ
検出したmutation について縦軸を遺伝子(Gene), 横軸をサンプル(Sample) として、変異タイプ別に表示します。
- signature
検出したmutation についてsignatureとその集積を積み上げグラフで表示します。
pmsignature を使用した表現も可能です。
quick start¶
- paplotをインストール
- testサンプルでコマンドを実行
- 結果ファイルを表示
1. paplotをインストール¶
qlogin
してください。git clone -b master https://github.com/Genomon-Project/paplot.git
cd paplot
python setup.py build install --user
installの確認
paplot conf
**********************
hello paplot !!!
**********************
config file:/usr/lib/python2.7/site-packages/{paplot-versoion}-py2.7.egg/config/paplot.cfg
(このあとにデフォルト設定の内容が表示されます)
2. サンプルデータでコマンドを実行¶
サンプルデータを用意していますので実行します。
cd {paplotをインストールしたディレクトリ}
# create bar graphs of qc
paplot qc "example/qc/*.csv" ./tmp demo --config_file example/example.cfg
# create bundle graphs of Structural Variation (SV)
paplot ca "example/sv/*.txt" ./tmp demo --config_file example/example.cfg
# create matrix graphs of mutation
paplot mutation example/mutation/sample_merge.csv ./tmp demo --config_file example/example.cfg
# create signature graphs
paplot signature "example/signature/Nik_Zainal_2012.full.*.json" ./tmp demo --config_file ./example/example.cfg
# create signature graphs (pmsignature)
paplot pmsignature "example/pmsignature/Nik_Zainal_2012.ind.*.json" ./tmp demo --config_file ./example/example.cfg
3. 結果ファイルを表示¶
HTMLファイルができていますか?
{paplot をインストールしたディレクトリ}
└ tmp
├ demo
│ ├ graph_ca.html <--- ca グラフ
│ ├ graph_mut.html <--- mutation-matrix グラフ
│ ├ graph_pmsignature2.html <--- pmsignature グラフ (数字はsignature数)
│ ├ graph_pmsignature3.html
│ ├ graph_pmsignature4.html
│ ├ graph_pmsignature5.html
│ ├ graph_pmsignature6.html
│ ├ graph_qc.html <--- qc グラフ
│ ├ graph_signature2.html <--- signature グラフ (数字はsignature数)
│ ├ graph_signature3.html
│ ├ graph_signature4.html
│ ├ graph_signature5.html
│ └ graph_signature6.html
│
├ js <--- この4つのディレクトリはHTMLファイルを表示するために必要です。消さないでください。
├ layout
├ lib
├ style
│
└ index.html <--- このファイルを web ブラウザで開いてください。
tmp
ディレクトリを丸ごとコピーしてください。

QC グラフ¶
CA グラフ¶
- 棒グラフでは全サンプルでbreakpointを集計した数を表示します。
- 円形のplotでは、サンプルごとにbreakpoint1と2を線でつないで表示します。
mutation-matrix グラフ¶
mutation-matrix グラフでは検出したmutation について縦軸を遺伝子(Gene), 横軸をサンプル(Sample) として、変異タイプ別に表示します。
横長の棒グラフ(Sample): | |
---|---|
サンプルごとに検出されたmutationの数を表示します。 |
|
縦長の棒グラフ(Gene): | 遺伝子ごとのmutation数をサンプル数における割合(%)で表示します。
|
functions: | 変異タイプ(func)別に色分けして表示します。表示したくない変異タイプがある場合、functions のチェックボックスからチェックを外すことで除外できます。 |
sub plot: | mutationとは別にサンプルに対するデータがある場合、subplotとして表示することができます。このファイルは |
操作方法
1. axis-X sort¶
横軸の並び順を変更します。
- none ソートしない
- ASC 昇順
- DESC 降順
以下の要素でソートでき、複数ソート可能です。
SampleID: | サンプルの名前順 |
---|---|
Mutation num.: | サンプルごとのmutation数 |
Genes: | 遺伝子ごとの変異数。ASC/DESCどちらかを選択したのち、横のリストボックスからGene名を選択し、[add sort key] ボタンをクリックしてください。 |
automatic Gantt-chart: | |
自動的にGantt-chartを作成します。 と、いっても技術者におなじみのガントチャートではありません。次で説明します。 使用する遺伝子の数を横のエディットボックスに入力したのち、[Gantt-chart] ボタンをクリックしてください。 |
Gantt-chart
2. axis-Y sort¶
縦軸の並び順を変更します。
- none ソートしない
- ASC 昇順
- DESC 降順
以下の要素でソートでき、複数ソート可能です。
Mutation num.: | 遺伝子ごとのmutation数 |
---|---|
Gene name: | 遺伝子の名前順 |
3. sample filter¶
フィルター適用前と適用後
4. genes filter¶
縦軸に表示する遺伝子に対してフィルタを設定します。
Rate: | 検出された遺伝子のサンプル数における割合(%)。初期値は0%(フィルタリングなし) |
---|---|
Display maximum: | |
表示する遺伝子の最大数。 |
いずれも横のエディットボックスに入力したのち、[update filter] ボタンをクリックしてください。
signature グラフ
¶
signature グラフでは検出したmutation についてsignatureとその集積を積み上げグラフで表示します。
signature: | signatureを表示します。 |
---|---|
積み上げグラフ: | サンプルごとmutationについて、signatureの割合を表示します。 |
また、積み上げグラフの下のリストボックスにより表示モードを切り替えることができます。
view mode: |
|
---|---|
sort by: |
view modeがintegralの場合のみ、ソート方法を選択できます。 |
view mode 「integral」, sort by 「mutation count」の表示例
pmsignatureについても同様です。
install¶
- Linux系サーバ (HGCスパコン含), Linux ディストリビューション
- MacOS X
- Windows
Linux系の場合 (HGCスパコン, cygwin含)¶
1. paplot のインストール¶
cd {install したいディレクトリ}
# v0.5.3の場合
wget https://github.com/Genomon-Project/paplot/archive/v0.5.3.zip
unzip v0.5.3.zip
cd paplot-0.5.3/
python setup.py build install
# 上のコマンドでエラーが出る場合
export PATH=~/.local/bin/:$PATH
export LD_LIBRARY_PATH=~/.local/lib/:$LD_LIBRARY_PATH
python setup.py build install --user
paplot conf
**********************
hello paplot !!!
**********************
(デフォルト設定値が表示される)
注釈
PATH設定を忘れないようにする
~/.bashrc
もしくは ~/.bash_profile
ファイルに次の2行を記入してください。export PATH=~/.local/bin/:$PATH
export LD_LIBRARY_PATH=~/.local/lib/:$LD_LIBRARY_PATH
MacOS Xの場合¶
1. ソースファイルのダウンロード¶
Source code (zip)
をダウンロードします。https://github.com/Genomon-Project/paplot/releases/
git
コマンドが使える方は git clone -b master https://github.com/Genomon-Project/paplot.git
でもよいです。2. paplot のインストール¶
whoami
コマンドで確認できます。cd {downloadしたディレクトリ}
# 大抵は以下でOKです。
# cd /Users/<user name>/Downloads/paplot-devel
python setup.py build install --user
3. PATHの設定¶
paplot
がどこにあるかわからないので、インストールされているところにPATHを通します。/Users/<user name>/Library/Python/2.7/bin
注釈
find / -name paplot
とコマンドを入力してインストールされているところを探します。{installしたディレクトリ}/bin/paplot <--- ココです
{installしたディレクトリ}/lib/python2.7/site-packages/paplot-0.2.6devel-py2.7.egg/EGG-INFO/scripts/paplot
{downloadディレクトリ}/paplot-devel/paplot
{downloadディレクトリ}/paplot-devel/build/scripts-2.7/paplot
export PATH={installしたディレクトリ}/bin:$PATH
export LD_LIBRARY_PATH={installしたディレクトリ}/lib:$LD_LIBRARY_PATH
# 大抵は以下でOKです。
# <user name>は自分のユーザ名に置き換えてください。
# export PATH=/Users/<user name>/Library/Python/2.7/bin:$PATH
# export LD_LIBRARY_PATH=/Users/<user name>/Library/Python/2.7/lib:$LD_LIBRARY_PATH
paplot conf
**********************
hello paplot !!!
**********************
(デフォルト設定値が表示される)
注釈
PATH設定を忘れないようにする
export PATH=...
コマンドを入力する必要があります。vi ~/.bash_profile
i
と入力して編集モードにします。↓
キーで最後の行に移動します。export PATH=/Users/<user name>/Library/Python/2.7/bin:$PATH
export LD_LIBRARY_PATH=/Users/<user name>/Library/Python/2.7/lib:$LD_LIBRARY_PATH
ESC
キーを押して、編集モードから抜けます。その後、:wq
と入力して保存して終了します。Windows系の場合¶
1. Pythonのインストール¶
- winPython http://winpython.github.io/
- Python(x,y) http://python-xy.github.io/
2. paplot のインストール¶
Source code (zip)
をダウンロードします。https://github.com/Genomon-Project/paplot/releases/
C:\\Program Files\\\WinPython-64bit-2.7.10.2\\WinPython Command Prompt.exe
cd {zipを解凍したフォルダ}
python setup.py build install
paplot
コマンドにパスが通っていないのでバッチファイルを使用します。paplot.cmd
がありますので、ノートパッド等テキストエディタで開いて編集します。set paplot="C:\Program Files\WinPython-64bit-2.7.10.2\python-2.7.10.amd64\Scripts\paplot"
>paplot.cmd conf
**********************
hello paplot !!!
**********************
(デフォルト設定値が表示される)
paplot
コマンドは paplot.cmd
と読み替えてください。Genomon データを使用する¶
Genomon-pipeline の解析結果に関して、各バージョンの設定ファイルを用意しています。
※カスタマイズする場合は 自分のデータを使用する を参照して変更してください。
{paplotをインストールしたディレクトリ}/config_template
file name | version |
---|---|
genomon_v2_0_0.cfg | Genomon 2.0.0 ~ 2.0.3 |
genomon_v2_0_5_v2_0_4.cfg | Genomon 2.0.4 ~ 2.0.5 |
genomon_v2_2_0_merge.cfg | Genomon 2.2.0 |
genomon_v2_3_0_merge.cfg | Genomon 2.3.0 |
genomon_v2_4_0_dna_merge.cfg | Genomon 2.4.0 (dna) |
genomon_v2_4_0_rna_merge.cfg | Genomon 2.4.0 (rna) |
※ Genomon 2.4.0 よりrna結果のpaplot出力に対応しました。
Genomon-pipeline の結果ファイルをもとにしたバージョンの見分け方
version | mutation | sv | qc | post-analysis |
---|---|---|---|---|
Genomon 2.0.0 ~ 2.0.3 | ヘッダなし | ヘッダなし | 結果なし | 結果なし |
Genomon 2.0.4 ~ 2.0.5 | ヘッダあり | ヘッダなし | 結果あり | 結果なし |
Genomon 2.2.0 | ヘッダあり | ヘッダあり | 結果あり | 結果あり |
※genomon 2.3.0 以降はpaplot/{サンプルファイル名}/index.html にGenomon-pipeline のバージョン名を出力しています。
実行例
genomon_root={Genomonを実行したディレクトリ}
sample={Genomon実行時のサンプルファイル名}
output_dir={paplotの出力ディレクトリ}
project_name={プロジェクト名}
paplot_install_dir={paplotをインストールしたディレクトリ}
# for Genomon 2.4.0
## dna
paplot qc ${genomon_root}/post_analysis/${sample}/merge_qc.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_4_0_dna_merge.cfg
paplot ca ${genomon_root}/post_analysis/${sample}/merge_sv_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ./config_template/genomon_v2_4_0_dna_merge.cfg
paplot mutation ${genomon_root}/post_analysis/${sample}/merge_mutation_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ./config_template/genomon_v2_4_0_dna_merge.cfg
## rna
paplot qc ${genomon_root}/post_analysis/${sample}/merge_starqc.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_4_0_rna_merge.cfg
paplot ca ${genomon_root}/post_analysis/${sample}/merge_fusionfusion_filt.txt ${output_dir} ${project_name} --config_file ./config_template/genomon_v2_4_0_rna_merge.cfg
# for Genomon 2.3.0
paplot qc ${genomon_root}/post_analysis/${sample}/merge_qc.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_3_0_merge.cfg
paplot ca ${genomon_root}/post_analysis/${sample}/merge_sv_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ./config_template/genomon_v2_3_0_merge.cfg
paplot mutation ${genomon_root}/post_analysis/${sample}/merge_mutation_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ./config_template/genomon_v2_3_0_merge.cfg
# for Genomon 2.2.0
paplot qc ${genomon_root}/post_analysis/${sample}/merge_qc.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_2_0_merge.cfg
paplot ca ${genomon_root}/post_analysis/${sample}/merge_sv_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_2_0_merge.cfg
paplot mutation ${genomon_root}/post_analysis/${sample}/merge_mutation_filt_pair_controlpanel.txt ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_2_0_merge.cfg
# for Genomon 2.0.4 or Genomon 2.0.5
paplot qc "${genomon_root}/summary/*/*.tsv" ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_0_5_v2_0_4.cfg
paplot ca "${genomon_root}/sv/*/*.genomonSV.result.txt" ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_0_5_v2_0_4.cfg
paplot mutation "${genomon_root}/mutation/*/*_genomon_mutations.result.txt" ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_0_5_v2_0_4.cfg
# for Genomon 2.0.0 ~ 2.0.3
paplot ca "${genomon_root}/sv/*/*.genomonSV.result.txt" ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_0_0.cfg
paplot mutation "${genomon_root}/mutation/*/*_genomon_mutations.result.txt" ${output_dir} ${project_name} --config_file ${paplot_install_dir}/config_template/genomon_v2_0_0.cfg
自分のデータを使用する¶
Genomon以外のデータを使用するにはconfigファイルを編集して自分のファイルフォーマットを指定します。
configファイルのサンプルは以下にあります。
{paplotをインストールしたディレクトリ}/example/example.cfg
Genomonデータを使用する場合は各バージョンの設定ファイルを用意していますので、 Genomon データを使用する 参照してください。
警告
作成したconfigファイルは paplot
コマンドの --config_file
オプションで指定します。
実行例
paplot qc "example/qc/*.csv" ./tmp DUMMY --config_file example/example.cfg
1. 全般¶
1 2 3 4 5 6 7 8 | ###################### general
[style]
# グラフのレイアウトファイル
# ~/tmp/paplot/style/rainbow.js
path =
# index.html の備考欄に出力するテキスト(HTMLタグ使用可, 半角英数字のみ)
remarks =
|
2. QC¶
出力するグラフを変更しない場合は、[result_format_qc] のみ自分のデータに合わせて設定してください。
入力ファイルフォーマット に各項目の解説を記載しています。
QCグラフ固有の設定記載方法について、詳細は Config 記述方法 (QC) に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | ###################### qc
[qc]
# (none)
# 入力フォーマット (自分のデータに合わせて変更する)
# 各項目の解説はページ下段の「入力ファイルフォーマット」に記載
[result_format_qc]
suffix = .qc.csv
sept = ,
header = True
comment = #
##################
# Column index (required)
##################
# (none)
##################
# Column index (option)
##################
col_opt_duplicate_reads = duplicate_reads
col_opt_mapped_reads = mapped_reads
col_opt_total_reads = total_reads
col_opt_average_depth = average_depth
col_opt_mean_insert_size = mean_insert_size
col_opt_ratio_2x = 2x_rt
col_opt_ratio_10x = 10x_rt
col_opt_ratio_20x = 20x_rt
col_opt_ratio_30x = 30x_rt
col_opt_read_length_r1 = read_length_r1
col_opt_read_length_r2 = read_length_r2
col_opt_id = file_name
# 出力フォーマット
# 各項目の解説はページ下段の「出力ファイルフォーマット」に記載
[merge_format_qc]
lack_column_complement = NA
sept = ,
# 領域選択用のグラフ設定
[qc_chart_brush]
title =
title_y =
stack = {average_depth}
name_set = average:#E3E5E9
tooltip_format =
# グラフ設定(グラフごとに用意する)
[qc_chart_1]
title = depth coverage
title_y = coverage
stack1 = {ratio_30x}
stack2 = {ratio_20x-ratio_30x}
stack3 = {ratio_10x-ratio_20x}
stack4 = {ratio_2x-ratio_10x}
name_set = ratio_30x:#2478B4, ratio_20x:#FF7F0E, ratio_10x:#2CA02C, ratio_2x:#D62728
tooltip_format1 = ID:{id}
tooltip_format2 = ratio_2x: {ratio_2x:.2}
tooltip_format3 = ratio_10x: {ratio_10x:.2}
tooltip_format4 = ratio_20x: {ratio_20x:.2}
tooltip_format5 = ratio_30x: {ratio_30x:.2}
|
3. CA¶
出力するグラフを変更しない場合は、[result_format_ca] のみ自分のデータに合わせて設定してください。
入力ファイルフォーマット に各項目の解説を記載しています。
CAグラフ固有の設定記載方法について、詳細は Config 記述方法 (CA) に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | ###################### sv
[genome]
# ゲノムサイズのファイル(CSV形式)(デフォルトはhg19, installディレクトリ配下のgenomeディレクトリにあります)
#
# for example.
# (linux)
# path = ~/tmp/genome/hg19.csv
# (windows)
# path = C:\genome\hg19_part.csv
path =
[ca]
# 使用するchromosomes (,で区切る)
use_chrs = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,X,Y
# if setting label-text & color
# use_chrs = 1:Chr1:crimson, 2:Chr2:lightpink, 3:Chr3:mediumvioletred, 4:Chr4:violet, 5:Chr5:darkmagenta, 6:Chr6:mediumpurple
# 積み上げグラフのchromosome分割サイズ (bps)
selector_split_size = 5000000
##################
# group setting
# [result_format_ca] col_opt_group が設定されている場合のみ有効
##################
# 入力されていた場合、そのgroupのみ出力する
# 未入力の場合、検出されたgroupすべて出力する
# , 区切りで複数指定可能
#
limited_group = stopgain,frameshift_deletion,frameshift_insertion
# 入力されていた場合、そのgroupはplot対象から除外する
# , 区切りで複数指定可能
# 空白行を除去する場合、_blank_ と記入する
nouse_group = _blank_,unknown,synonymous_SNV
# groupのplot色を指定する。group名:(RGBもしくはカラー名)
# , 区切りで複数指定可能
# 未入力のgroupはデフォルト色を使用する
group_colors = stopgain:#E85299,frameshift_deletion:#F39600,frameshift_insertion:#E60011
# 入力フォーマット (自分のデータに合わせて変更する)
# 項目は欄外「入力ファイルフォーマット」参照
[result_format_ca]
suffix = .result.txt
sept = \t
header = False
comment = #
##################
# Column index (required)
##################
col_chr1 = Chr_1
col_break1 = Pos_1
col_chr2 = Chr_2
col_break2 = Pos_2
##################
# Column index (option)
##################
col_opt_dir1 = Dir_1
col_opt_dir2 = Dir_2
col_opt_type = Variant_Type
col_opt_gene_name1 = Gene_1
col_opt_gene_name2 = Gene_2
col_opt_group =
col_opt_id =
# 出力フォーマット
# 項目は欄外「出力ファイルフォーマット」参照
[merge_format_ca]
lack_column_complement = NA
sept = ,
|
4. mutation-matrix¶
出力するグラフを変更しない場合は、[result_format_mutation] のみ自分のデータに合わせて設定してください。
入力ファイルフォーマット に各項目の解説を記載しています。
mutation-matrixグラフ固有の設定記載方法について、詳細は Config 記述方法 (mutation-matrix) に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | ###################### mutation
[mut]
# geneのサンプルに対する検出比(%)
# 値より小さいgeneはplot対象から除外する
# 0の場合はすべて出力する
use_gene_rate = 0
# 入力されていた場合、そのgeneのみ出力する
# 未入力の場合、検出されたgeneすべて出力する
# , 区切りで複数指定可能
#
# limited_genes = TP,TTN,APC,BRAF,CDH1,FLT3
limited_genes =
# 入力されていた場合、そのgeneはplot対象から除外する
# , 区切りで複数指定可能
#
# nouse_genes = NONE,MUC4
nouse_genes =
# 入力されていた場合、その変異タイプ(func)のみ出力する
# 未入力の場合、検出されたfuncすべて出力する
# , 区切りで複数指定可能
#
# limited_funcs = exome,splicing
limited_funcs =
# 入力されていた場合、そのfuncはplot対象から除外する
# , 区切りで複数指定可能
# 空白行を除去する場合、_blank_ と記入する
nouse_funcs = _blank_,unknown,synonymous_SNV
# funcのplot色を指定する。func名:(RGBもしくはカラー名)
# , 区切りで複数指定可能
# 未入力のfuncはデフォルト色を使用する
func_colors = stopgain:#E85299,frameshift_deletion:#F39600,frameshift_insertion:#E60011,nonframeshift_deletion:#9CAEB7
# ポップアップウィンドウの表示内容
# 詳細はページ下段の「ユーザ定義フォーマット」に記載
tooltip_format_checker_title1 = ID:{id}, gene:{gene}, {#sum_item_value}
tooltip_format_checker_partial = type[{func}], {chr}:{start}:{end}, [{ref} -----> {alt}]
tooltip_format_gene_title = gene:{gene}, {#sum_item_value}
tooltip_format_gene_partial = func:{func}, {#item_value}
tooltip_format_id_title = ID:{id}, {#sum_item_value}
tooltip_format_id_partial = func:{func}, {#item_value}
# 入力フォーマット (自分のデータに合わせて変更する)
# 項目は欄外「入力ファイルフォーマット」参照
[result_format_mutation]
suffix =
sept = \t
header = True
comment = #
# funcが1セルに複数入力されている場合の区切り文字
sept_func = ";"
# geneが1セルに複数入力されている場合の区切り文字
sept_gene = ";"
##################
# Column index (required)
##################
# func列
col_func = Merge_Func
# gene列
col_gene = Gene.refGene
##################
# column index (option)
##################
# chromosome
col_opt_chr = Chr
# 開始位置
col_opt_start = Start
# 終了位置
col_opt_end = End
# リファレンスの塩基配列
col_opt_ref = Ref
# 対象の塩基配列
col_opt_alt = Alt
# id (sample) 列
col_opt_ID = id
# 出力フォーマット
# 項目は欄外「出力ファイルフォーマット」参照
[merge_format_mutation]
lack_column_complement = NA
sept = ,
|
5. signature¶
実行手順 (signature) の手順で実行する場合、configファイルの変更は必要ありません。
signatureデータ準備方法およびjsonファイルフォーマットについては 実行手順 (signature) に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ###################### signature
[signature]
# ポップアップウィンドウの表示内容
# 詳細はページ下段の「ユーザ定義フォーマット」に記載
tooltip_format_signature_title = {sig}
tooltip_format_signature_partial = {route}: {#sum_item_value:6.2}
tooltip_format_mutation_title = {id}
tooltip_format_mutation_partial = {sig}: {#sum_item_value:.2}
# signatureのY軸最大値 (-1の場合、それぞれのデータの最大値を使用する)
signature_y_max = -1
# signatureのbarの色
alt_color_CtoA = #1BBDEB
alt_color_CtoG = #211D1E
alt_color_CtoT = #E62623
alt_color_TtoA = #CFCFCF
alt_color_TtoC = #ACD577
alt_color_TtoG = #EDC7C4
# 入力フォーマット (自分のデータに合わせて変更する)
[result_format_signature]
# 入力形式 (現在はjsonのみ)
format = json
# background を使用しているかどうか
background = True
# jsonファイルのkey名
key_id = id
key_mutation = mutation
key_signature = signature
key_mutation_count = mutation_count
|
6. pmsignature¶
実行手順 (pmsignature) の手順で実行する場合、configファイルの変更は必要ありません。
pmsignatureデータ準備方法およびjsonファイルフォーマットについては 実行手順 (pmsignature) に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | ###################### pmsignature
[pmsignature]
# ポップアップウィンドウの表示内容
# 詳細はページ下段の「ユーザ定義フォーマット」に記載
tooltip_format_ref1 = A: {a:.2}
tooltip_format_ref2 = C: {c:.2}
tooltip_format_ref3 = G: {g:.2}
tooltip_format_ref4 = T: {t:.2}
tooltip_format_alt1 = C -> A: {ca:.2}
tooltip_format_alt2 = C -> G: {cg:.2}
tooltip_format_alt3 = C -> T: {ct:.2}
tooltip_format_alt4 = T -> A: {ta:.2}
tooltip_format_alt5 = T -> C: {tc:.2}
tooltip_format_alt6 = T -> G: {tg:.2}
tooltip_format_strand = + {plus:.2} - {minus:.2}
tooltip_format_mutation_title = {id}
tooltip_format_mutation_partial = {sig}: {#sum_item_value:.2}
# pmsignatureのboxの色
color_A = #06B838
color_C = #609CFF
color_G = #B69D02
color_T = #F6766D
color_plus = #00BEC3
color_minus = #F263E2
# 入力フォーマット (自分のデータに合わせて変更する)
[result_format_pmsignature]
# 入力形式 (現在はjsonのみ)
format = json
# background を使用しているかどうか
background = True
# jsonファイルのkey名
key_id = id
key_mutation = mutation
key_ref = ref
key_alt = alt
key_strand = strand
key_mutation_count = mutation_count
|
7. 共通項目¶
suffixとID¶
paplotではサンプル名が必要です。ファイル入力では、以下のことに注意してください。
case1: マージされたファイルを入力する
複数サンプルの結果が、1ファイルにすべてまとめられていると想定しています。サンプル名となる列を
col_opt_ID
で必ず指定してください。case2: サンプルごとに分かれた複数のファイルを入力し、データ中にサンプル名となるものはない。
ファイル名の一部をサンプル名として使用します。
suffix
を必ず指定してください。case3: サンプルごとに分かれた複数のファイルを入力し、データ中にサンプル名となるデータがある。
サンプル名となる列を
col_opt_ID
で必ず指定してください。
複数ファイル入力する場合のコマンドの実行方法は paplot コマンド を参照してください。
入力ファイルフォーマット¶
configファイル中、[result_format_*] というセクションでは入力ファイルのフォーマットを指定します。
suffix: | suffixとID を参照してください。 |
---|---|
sept: | データ区切り。 |
# タブ区切りの場合
sept = \t
# ,区切りの場合
sept = ,
# スペース区切りの場合
sept = " "
header: | 先頭1行がヘッダかどうか。先頭行がヘッダの場合はTrue。ヘッダなしの場合はFalse |
---|---|
comment: | 先頭に指定文字がある行は飛ばす |
出力ファイルフォーマット¶
configファイル中、[merge_format_*] というセクションでは出力ファイル(data_*.csv) のフォーマットを指定します。
通常、変更する必要はありません。
sept: | データ区切り。(入力ファイルフォーマットと同) |
---|---|
lack_column_complement: | |
カラムがない場合、何で埋めるか |
列の指定方法¶
ヘッダの有り無しに合わせて、カラム名もしくはカラムインデックスを入力します。
記入例
# ヘッダ行がある場合、カラム名 (テキスト) を入力する
header = True
col_chr1 = Chr_1
col_break1 = Pos_1
col_chr2 = Chr_2
col_break2 = Pos_2
# ヘッダ行がない場合、カラムインデックス (数値) を入力する
header = False
col_chr1 = 0
col_break1 = 1
col_chr2 = 3
col_break2 = 4
ユーザ定義フォーマット¶
mouse overにより表示するポップアップのようにグラフそのものに影響を与えないような文字列はある程度変更することができます。
表示箇所ごとにそれぞれ設定しますが、書き方は同一です。
設定例
tooltip_format_checker_partial = type[{func}], {chr}:{start}:{end}, [{ref} -----> {alt}]
表示例:
type[exome], chr1:2000:2001, [A -----> T]
{}で囲った文字がキーワードで、実際の値に置き換えられます。
キーワードとはconfigファイルで各データ列を設定した項目のうち、col_
もしくは col_opt_
を除いた名前です。
大文字と小文字の区別はありません。
たとえば、CHR, Chr, chr はすべて同一とみなしますので、ご注意ください。
デフォルトで設定しているのは下記ですが、任意で増やすことができます。
その場合は、`col_opt_{任意の名前}`
として追加し、実際のデータの列名を指定してください。
col_opt_new_option = column_name
記載方法詳細は各項目参照
数値計算させることもできます。その場合、計算式を{}で囲います。
{#number_mutaion_gene/#number_id*100}%
表示例:
3.33333333333333%
表示桁数を指定したい場合は計算式の後に ":.2" と書きます。小数点以下3桁の場合は ":.3" と書きます。
{#number_mutaion_gene/#number_id*100:.2}%
表示例:
3.33%
paplot コマンド¶
1. 基本的な使い方¶
paplot subcommand [--config_file CONFIG_FILE] [--title TITLE]
[--ellipsis ELLIPSIS] [--overview OVERVIEW]
[--remarks REMARKS]
input output_dir project_name
必須
subcommand: | paplotのサブコマンドです。いづれかを選択します。
|
---|---|
input: | 入力ファイルです。ワイルドカード ( |
# 1ファイルだけ入力する場合
paplot qc example/qc/SAMPLE1.qc ./test multi1 --config_file example/example.cfg
# 複数ファイルを入力する場合 (, で区切る)
paplot qc "example/qc/SAMPLE1.qc.csv,example/qc/SAMPLE2.qc.csv" ./test multi1 --config_file example/example.cfg
# 複数ファイルを入力する場合 (* 使用)
paplot qc "example/qc/*.csv" ./multi multi1 --config_file example/example.cfg
output_dir: | 出力ディレクトリを指定します。ディレクトリ構成は 3. 出力ディレクトリ を参照してください。 |
---|---|
project_name: | プロジェクト名です。出力ファイルのタイトルに使用します。 |
2. コマンドオプション¶
次の項目をオプションで変更することができます。
--config_file | 設定ファイルです。未指定の場合、デフォルトを使用します。 |
--title | グラフのタイトル |
--ellipsis | グラフの短縮名。グラフのファイル名になるため、同一ディレクトリに複数ファイルを出力する際に設定すると便利です。 |
--overview | index.htmlに表示するグラフの概要。 |
--remarks | index.htmlの備考欄に出力するテキストです。未指定の場合、設定ファイル ([style] remarks) の値を使用します。 |
デフォルト値は次の通りです。
subcommand | title | ellipsis | overview | remarks |
---|---|---|---|---|
qc | QC graphs | qc | Quality Control of bam. | なし |
ca | CA graphs | ca | Chromosomal Aberration. | なし |
mutation | Mutation matrix | mutation | Gene-sample mutational profiles. | なし |
signature | Signature | signature | Mutational signatures. | なし |
pmsignature | PMSignature | pmsignature | Express mutational signatures in pmsignature. | なし |
3. 出力ディレクトリ¶
output_dir
オプションで指定した場所に次の構成でファイルを出力します。
{output_dir}
├ {project_name}
│ └ graph_*.html <--- 各グラフ
│
├ js <--- この4つのディレクトリはHTMLファイルを表示するために必要です。消さないでください。
├ layout
├ lib
├ style
│
└ index.html <--- このファイルを web ブラウザで開いてください。
出力ファイルを移動する場合は {output_dir}
ごと移動してください。
それぞれのグラフの使い方は how to use graphs を参照してください。
Config 記述方法 (QC)¶
全設定項目は こちら
列と設定の対応¶
name | input type | required | description |
---|---|---|---|
col_opt_duplicate_reads | numeric | x | number of total reads |
col_opt_mapped_reads | numeric | x | number of mapped reads |
col_opt_total_reads | numeric | x | number of duplicate reads |
col_opt_average_depth | numeric | x | mean of insert size |
col_opt_mean_insert_size | numeric | x | average of depth |
col_opt_read_length_r1 | numeric | x | number of read_length_r1 |
col_opt_read_length_r2 | numeric | x | number of read_length_r2 |
col_opt_ratio_2x | 0.0~1.0 | x | coverage (depth=2) |
col_opt_ratio_10x | 0.0~1.0 | x | coverage (depth=10) |
col_opt_ratio_20x | 0.0~1.0 | x | coverage (depth=20) |
col_opt_ratio_30x | 0.0~1.0 | x | coverage (depth=30) |
col_opt_id | text | x | サンプルを識別できる名称 |
ユーザ定義グラフ¶
[qc_chart_*]
というセクションに必要事項を記入します。** [qc_chart_*] 各セクションの設定内容 **
title: | グラフのタイトル |
---|---|
title_y: | y軸のタイトル |
stack: | 積み上げ要素。複数ある場合は積み上げる順にstack1, stack2, ... と連番に指定します。{ } 内にキーワードを設定します。キーワードについては ユーザ定義フォーマット を参照してください。 |
name_set: | 積み上げ要素の凡例名と色。色は省略可能。省略した場合、デフォルト値を上から順番に使用します。 |
tooltip_format: | mouse over で表示されるポップアップウィンドウのフォーマット。複数行の場合は上から順にtooltip_format1, tooltip_format2, ... と連番に指定します。記載方法は ユーザ定義フォーマット を参照してください。 |
name_set(色指定あり)
name_set(色指定なし)
** デフォルト色 **
Config 記述方法 (CA)¶
全設定項目は こちら
列と設定の対応¶
name | input type | required | description |
---|---|---|---|
col_chr1 | text | o | chromosome of break point 1 |
col_break1 | numeric | o | position of break point 1 |
col_chr2 | text | o | chromosome of break point 2 |
col_break2 | numeric | o | position of break point 2 |
col_opt_ID | text | x | サンプルを識別できる名称 |
col_opt_dir1 | text | x | direction of break point 1 |
col_opt_dir2 | text | x | direction of break point 2 |
col_opt_type | text | x | type of variation |
col_opt_gene_name1 | text | x | gene name of break point 1 |
col_opt_gene_name2 | text | x | gene name of break point 2 |
col_opt_group | text | x | grouping of mutaions |
注釈
col_opt_groupはstackのグルーピングに使用します。
未指定の場合、intra/inter chromosomeでグルーピングします。
列を指定した場合、以下オプションによりさらに表示内容を設定することができます。
- limited_group 使用するgroupを限定する
- nouse_group 使用しないgroupを指定する
- group_colors groupの色を指定する
設定例
limited_group = stopgain,frameshift_deletion,frameshift_insertion
nouse_group = _blank_,unknown,synonymous_SNV
group_colors = stopgain:#E85299,frameshift_deletion:#F39600,frameshift_insertion:#E60011
注釈
任意設定の5項目はポップアップでの詳細表示にのみ使用されます。
表示するchromosomeを限定する¶
configファイルで次の項目を編集してください。
[ca]
# 使用するchromosomes (,で区切る)
# default
# use_chrs = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,X,Y
# chromosome 1,5,7を使用する場合
use_chrs = 1,5,7
編集したconfigファイルは次のようにしてコマンドから指定します。
paplot {input files} {output directory} {title} --config_file {config file}
ヒト以外のゲノムを使用する¶
genomeサイズが入力されたファイルが必要です。
先頭列にchromosome名、2列目にサイズをカンマ ,
もしくはタブ区切りで入力してください。
1,249250621
2,243199373
3,198022430
7,159138663
8,146364022
X,141213431
Y,135534747
9_gl000201_random,36148
11_gl000202_random,40103
17_gl000204_random,81310
17_gl000205_random,174588
Un_gl000214,137718
chromosome名は分析したいファイルのChr1, Chr2で使用されている名称と同じでなければなりません。
用意したゲノムサイズのファイルをconfig fileに指定してください。
[genome]
# ゲノムサイズのファイル(CSV形式)(デフォルトはhg19, installディレクトリ配下のgenomeディレクトリにあります)
#
# for example.
# (linux)
# path = ~/tmp/genome/hg19.csv
# (windows)
# path = C:\genome\hg19_part.csv
path = {ここにゲノムサイズのファイルのパスを指定する}
ポップアップウィンドウの表示内容¶
Config 記述方法 (mutation-matrix)¶
全設定項目は こちら
列と設定の対応¶
name | input type | required | description |
---|---|---|---|
col_func | text | o | mutation type |
col_gene | text | o | gene name |
col_opt_chr | text | x | chromosome |
col_opt_start | numeric | x | 開始位置 |
col_opt_end | numeric | x | 終了位置 |
col_opt_ref | text | x | リファレンスの塩基配列 |
col_opt_alt | text | x | 対象の塩基配列 |
col_opt_id | text | x | サンプルを識別できる名称 |
ポップアップウィンドウの表示内容¶
{#number_id}: | サンプル数 |
---|---|
{#number_gene}: | 遺伝子数 |
{#number_mutaion}: | |
mutation数(同一サンプルが同一遺伝子で複数回検出されても1としてカウントする) | |
{#sum_mutaion}: | mutation総検出数 |
{#item_value}: | 積み上げグラフの1項目の値 |
{#sum_item_value}: | |
積み上げグラフの合計値 |
デフォルトでの設定内容と表示との対応
# グリッド - タイトル
tooltip_format_checker_title1 = ID:{ID}, gene:{gene}, {#sum_item_value}
# グリッド - funcごと
tooltip_format_checker_partial = type[{func}], {chr}:{start}:{end}, [{ref} -----> {alt}]
# 遺伝子グラフ - タイトル
tooltip_format_gene_title = gene:{gene}, {#sum_item_value}
# 遺伝子グラフ - funcごと
tooltip_format_gene_partial = func:{func}, {#item_value}
# サンプルグラフ - タイトル
tooltip_format_id_title = ID:{id}, {#sum_item_value}
# サンプルグラフ - funcごと
tooltip_format_id_partial = func:{func}, {#item_value}
サブプロットについて¶
*
には1から始まる連番を入れてください。1から順に表示します。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # mut_subplot_type1_1
[mut_subplot_type1_1]
# ファイルのパス
path = /path/to/file1
###########################
# ファイルフォーマット
# ファイルのデータ区切り
sept = ,
# 先頭1行がヘッダかどうか
header = True
# コメント行
comment = #
# 表示データの列
col_value = average_depth
# id 列(main plotと紐づけられること)
col_ID = id
###########################
# サブプロットのフォーマット
# サブプロットのタイトル
title = bam's average depth
# 表示形式
# fix, range, gradientから選択
mode = gradient
# 凡例のフォーマット
# 値:表示文字列:セルの色を各値ごとに記入する。セルの色は省略可能
#
# mode = fixの場合
# name_set = 0:Male:blue, 1:Female:red, 2:Unknown:gray
#
# mode = rangeの場合、値には範囲開始の値を入れる
# name_set = 0:0-19, 20:20-39, 40:40-59, 60:60over
#
# mode = gradientの場合、最初と最後の値を入れる。MIN/MAXを使用すると、データから自動的に設定する
# 自動設定の場合
# name_set = MIN:min, MAX:max
# 手動設定の場合
# name_set = 0:min (0), 40:max (40)
name_set = MIN:min, MAX:max
# mut_subplot_type2_1
[mut_subplot_type2_1]
title = Clinical Gender
path = /path/to/file2
sept = ,
header = True
comment =
col_value = gender
col_ID = barcode
mode = fix
name_set = 0:Male:blue, 1:Female:red, 2:Unknown:gray
#mut_subplot_type2_2
[mut_subplot_type2_2]
title = Clinical Age
path = /path/to/file3
sept = ,
header = True
comment =
col_value = age
col_ID = barcode
mode = range
name_set = 0:0-19, 20:20-39, 40:40-59, 60:60over
|
titleとnameset¶
表示モードの違い¶
Config 記述方法 (signature)
¶
全設定項目は こちら
ポップアップウィンドウの表示内容¶
tooltip_format_signature_title
キーワード | 解説 |
---|---|
{sig} | signatureの色別グループのラベル。’C > A’ や ‘C > G’ 等 |
{#sum_group_value} | signatureの色別グループの合計値 |
tooltip_format_signature_partial
キーワード | 解説 |
---|---|
{route} | signatureの棒グラフ1本分のラベル。’ApCpA’ や ‘CpCpA’ 等 |
{#sum_item_value} | signatureの棒グラフ1本分の値 |
tooltip_format_mutation_title (積み上げグラフ)
キーワード | 解説 |
---|---|
{id} | key_id で入力したサンプル名です。 |
{#sum_mutaion_all} | 全mutation数 |
tooltip_format_mutation_partial (積み上げグラフ)
キーワード | 解説 |
---|---|
{sig} | signature名 “Signature {signature番号}” で表示します。 |
{#sum_item_value} | 積み上げグラフの合計値 |
デフォルトでの設定内容と表示との対応
# signature - タイトル
tooltip_format_signature_title = {sig}
# signature - 各項目
tooltip_format_signature_partial = {route}: {#sum_item_value:6.2}
# 積み上げグラフ - タイトル
tooltip_format_mutation_title = {id}
# 積み上げグラフ - signatureごと
tooltip_format_mutation_partial = {sig}: {#sum_item_value:.2}
Config 記述方法 (pmsignature)
¶
全設定項目は こちら
ポップアップウィンドウの表示内容¶
tooltip_format_ref* (pmsignature 下段の5つのbox)
キーワード | 解説 |
---|---|
{a} | Aの値 |
{c} | Cの値 |
{g} | Gの値 |
{t} | Tの値 |
tooltip_format_alt* (pmsignature 上段の1つのbox)
キーワード | 解説 |
---|---|
{ca} | C->Aの値 |
{cg} | C->Gの値 |
{ct} | C->Tの値 |
{ta} | T->Aの値 |
{tc} | T->Cの値 |
{tg} | T->Gの値 |
tooltip_format_strand
キーワード | 解説 |
---|---|
{plus} | プラスの値 |
{minus} | マイナスの値 |
tooltip_format_mutation_title (積み上げグラフ)
キーワード | 解説 |
---|---|
{id} | key_id で入力したサンプル名です。 |
{#sum_mutaion_all} | 全mutation数 |
tooltip_format_mutation_partial (積み上げグラフ)
キーワード | 解説 |
---|---|
{sig} | signature名 “Signature {signature番号}” で表示します。 |
{#sum_item_value} | 積み上げグラフの合計値 |
デフォルトでの設定内容と表示との対応
# pmsignature - 下段の5つのbox
tooltip_format_ref1 = A: {a:.2}
tooltip_format_ref2 = C: {c:.2}
tooltip_format_ref3 = G: {g:.2}
tooltip_format_ref4 = T: {t:.2}
# pmsignature - 上段のbox
tooltip_format_alt1 = C -> A: {ca:.2}
tooltip_format_alt2 = C -> G: {cg:.2}
tooltip_format_alt3 = C -> T: {ct:.2}
tooltip_format_alt4 = T -> A: {ta:.2}
tooltip_format_alt5 = T -> C: {tc:.2}
tooltip_format_alt6 = T -> G: {tg:.2}
# pmsignature - strand
tooltip_format_strand = + {plus:.2} - {minus:.2}
# 積み上げグラフ - タイトル
tooltip_format_mutation_title = {id}
# 積み上げグラフ - signatureごと
tooltip_format_mutation_partial = {sig}: {#sum_item_value:.2}
実行手順 (signature)
¶
ここでは pmsignature を使用した場合のデータの準備方法を解説します。
注釈
1. pmsignatureの実行¶
pmsignatureを type="full"
で実行してパラメータを出力します。
今回の例では、pmsignatureのサンプルデータを使用しています。
library(pmsignature)
# use sample data
inputFile <- system.file("extdata/Nik_Zainal_2012.mutationPositionFormat.txt.gz", package="pmsignature")
G <- readMPFile(inputFile, numBases = 3, type = "full", trDir = FALSE)
# use background
BG_prob <- readBGFile(G)
Param <- getPMSignature(G, K = 3, BG = BG_prob)
Boot <- bootPMSignature(G, Param0 = Param, bootNum = 100, BG = BG_prob)
# save .Rdata
resultForSave <- list(Param, Boot)
save(resultForSave, file="pmsignature_full3.Rdata")
2. paplotで使用できるように結果ファイルを変換する¶
1で作成した”pmsignature_full3.Rdata” ファイルをpaplotで読み込めるように.json形式に変換します。
変換スクリプトを用意していますので、以下より最新版をダウンロードし、適切な場所に解凍してください。 インストールの必要はありません。
https://github.com/Genomon-Project/genomon_Rscripts/releases
入力ファイル, 出力したいファイル名の順に引数を渡します。
R --vanilla --slave --args ./pmsignature_full3.Rdata ./pmsignature_full3.json < {path to genomon_Rscripts}/pmsignature/convert_toJson_full.R
3. paplotの実行¶
2で作成した”pmsignature_full3.json” ファイルを使用して、paplot を実行します。上述の方法で実行した場合、configファイルの変更は必要ありません。
注釈
backgroundを使用しない場合は、configファイルのbackgroundをFalseに変更してください。
paplot signature pmsignature_full3.Rdata ./temp signature_test
[補足] jsonフォーマット¶
{
"signature":[
[ # signature 1
[0.0018,0.0003,0.0002,0.0005,0.0014,0.0008,0.0002,0.0007,0.0012,0.0003,0.0002,0.0004,0.0271,0.0107,0.0016,0.0145], # C > A
[0.0023,0.0007,0.0001,0.002,0.0027,0.0005,0.0004,0.0032,0.0007,0.0004,0.0001,0.0013,0.1546,0.0306,0.0055,0.1931], # C > G
[0.0043,0.0016,0.0027,0.0019,0.0096,0.0026,0.0046,0.0053,0.0045,0.0021,0.0034,0.0028,0.2612,0.0517,0.0284,0.1335], # C > T
[0.0012,0.0007,0.0004,0.0003,0.0003,0.0003,0,0,0.0003,0.0001,0.0003,0,0.0005,0.0001,0.0001,0.0002], # T > A
[0.0008,0.0003,0.0008,0.0007,0.0002,0.0004,0.0009,0.0005,0.0004,0.0003,0.0006,0.0003,0.0003,0.0004,0.0002,0.0004], # T > C
[0.0001,0.0001,0.0001,0.0001,0,0.0001,0.0001,0,0.0001,0.0001,0.0009,0.0002,0.0001,0,0.0001,0.0005] # T > G
],
[ # signature 2
[0.0266,0.0222,0.0026,0.02,0.0205,0.0145,0.0012,0.0155,0.0155,0.0094,0.0009,0.011,0.0224,0.0177,0.0019,0.0307],
[0.0127,0.0079,0.0035,0.0145,0.0058,0.0048,0.0015,0.0115,0.0034,0.0032,0,0.0071,0.0047,0.0145,0.0006,0.0246],
[0.0232,0.0099,0.042,0.0184,0.014,0.0108,0.0219,0.02,0.0137,0.0102,0.0264,0.0128,0.0048,0.0186,0.0153,0.0165],
[0.0096,0.0084,0.0094,0.0175,0.0075,0.0076,0.0046,0.0123,0.0044,0.0035,0.0028,0.008,0.0176,0.0047,0.0031,0.0139],
[0.0245,0.0087,0.0144,0.0235,0.0098,0.0096,0.0051,0.0102,0.0105,0.0053,0.0042,0.0108,0.0114,0.0081,0.0038,0.0098],
[0.0046,0.0006,0.0036,0.0035,0.0025,0.0009,0.0028,0.0082,0.0023,0.0005,0.004,0.0048,0.0041,0.0012,0.0056,0.0104]
]
],
"id":["PD3851a","PD3890a","PD3904a"],
"mutation":[[0,0,0.0594],[0,1,0.7677],[0,2,0.1727],[1,0,0.1474],[1,1,0.4064],[1,2,0.4461]],
"mutation_count":[4001,7174,5804]
}
signature描画データ
signature: | signatureの各barの値。
signatureごと、変化パターン (C > A など) ごとに値を記述します。
変化パターンの数を変えることはできません。
baseの数は3か5のいずれかのみ設定できます。
|
---|
今回の例ではbase=3のため次の順に16ケースの値を記述します。(R=Reference)
ARA,ARC,ARG,ART,CRA,CRA,CRG,CRT,GRA,GRC,GRG,GRT,TRA,TRA,TRG,TRT
もしbase=5とする場合は、次の順に256ケースの記述が必要です。(R=Reference)
AARAA,AARAC,AARAG,AARAT,AARCA,AARCC,AARCG,AARCT,AARGA,AARGC,AARGG,AARGT,AARTA,AARTC,AARTG,AARTT,
ACRAA,ACRAC,ACRAG,ACRAT,ACRCA,ACRCC,ACRCG,ACRCT,ACRGA,ACRGC,ACRGG,ACRGT,ACRTA,ACRTC,ACRTG,ACRTT,
AGRAA,AGRAC,AGRAG,AGRAT,AGRCA,AGRCC,AGRCG,AGRCT,AGRGA,AGRGC,AGRGG,AGRGT,AGRTA,AGRTC,AGRTG,AGRTT,
ATRAA,ATRAC,ATRAG,ATRAT,ATRCA,ATRCC,ATRCG,ATRCT,ATRGA,ATRGC,ATRGG,ATRGT,ATRTA,ATRTC,ATRTG,ATRTT,
CARAA,CARAC,CARAG,CARAT,CARCA,CARCC,CARCG,CARCT,CARGA,CARGC,CARGG,CARGT,CARTA,CARTC,CARTG,CARTT,
CCRAA,CCRAC,CCRAG,CCRAT,CCRCA,CCRCC,CCRCG,CCRCT,CCRGA,CCRGC,CCRGG,CCRGT,CCRTA,CCRTC,CCRTG,CCRTT,
CGRAA,CGRAC,CGRAG,CGRAT,CGRCA,CGRCC,CGRCG,CGRCT,CGRGA,CGRGC,CGRGG,CGRGT,CGRTA,CGRTC,CGRTG,CGRTT,
CTRAA,CTRAC,CTRAG,CTRAT,CTRCA,CTRCC,CTRCG,CTRCT,CTRGA,CTRGC,CTRGG,CTRGT,CTRTA,CTRTC,CTRTG,CTRTT,
GARAA,GARAC,GARAG,GARAT,GARCA,GARCC,GARCG,GARCT,GARGA,GARGC,GARGG,GARGT,GARTA,GARTC,GARTG,GARTT,
GCRAA,GCRAC,GCRAG,GCRAT,GCRCA,GCRCC,GCRCG,GCRCT,GCRGA,GCRGC,GCRGG,GCRGT,GCRTA,GCRTC,GCRTG,GCRTT,
GGRAA,GGRAC,GGRAG,GGRAT,GGRCA,GGRCC,GGRCG,GGRCT,GGRGA,GGRGC,GGRGG,GGRGT,GGRTA,GGRTC,GGRTG,GGRTT,
GTRAA,GTRAC,GTRAG,GTRAT,GTRCA,GTRCC,GTRCG,GTRCT,GTRGA,GTRGC,GTRGG,GTRGT,GTRTA,GTRTC,GTRTG,GTRTT,
TARAA,TARAC,TARAG,TARAT,TARCA,TARCC,TARCG,TARCT,TARGA,TARGC,TARGG,TARGT,TARTA,TARTC,TARTG,TARTT,
TCRAA,TCRAC,TCRAG,TCRAT,TCRCA,TCRCC,TCRCG,TCRCT,TCRGA,TCRGC,TCRGG,TCRGT,TCRTA,TCRTC,TCRTG,TCRTT,
TGRAA,TGRAC,TGRAG,TGRAT,TGRCA,TGRCC,TGRCG,TGRCT,TGRGA,TGRGC,TGRGG,TGRGT,TGRTA,TGRTC,TGRTG,TGRTT,
TTRAA,TTRAC,TTRAG,TTRAT,TTRCA,TTRCC,TTRCG,TTRCT,TTRGA,TTRGC,TTRGG,TTRGT,TTRTA,TTRTC,TTRTG,TTRTT
積み上げグラフ描画データ
id: | サンプル名リスト
|
---|---|
mutation_count: | サンプルごとのmutation数
上記の例の場合、PD3851a のmutation数=4001, PD3890a のmutation数=7174, PD3904a のmutation数=5804 となります。
|
mutation: | サンプルごと、signatureごとの割合を設定します。
[sample index, signature index, value] の順に記載します。
サンプルのindexは id で記載した順に0からカウントします。
上記の例の場合、PD3851a=0, PD3890a=1, PD3904a=2となります。
signatureのindexも ref で記載した順に0からカウントします。
backgroundを使用する場合、signature1, signature2, ..., backgroundの順にカウントします。
上記の例の場合、signature1 = 0, signature2 = 1, background = 2となります。
|
注釈
key名は変更可能です。key名を変更した場合は設定ファイル ([result_format_signature] key_*)を変更してください。
注釈
jsonとしての形式の厳密さについては、paplotはpythonのjsonパッケージを使用しているため、次のコマンドで読めればOKです。
python jsonパッケージを使用したファイル確認例 (ファイル名が “Nik_Zainal_2012.full.3.json” の場合)
$ python
>>> import json
>>> json.load(open("Nik_Zainal_2012.full.3.json"))
実行手順 (pmsignature)
¶
ここでは pmsignature を使用した場合のデータの準備方法を解説します。
注釈
1. pmsignatureの実行¶
pmsignatureを type="independent"
(default) で実行したのち、パラメータを .Rdata ファイルに出力します。
今回の例では、pmsignatureのサンプルデータを使用しています。
library(pmsignature)
# use sample data
inputFile <- system.file("extdata/Nik_Zainal_2012.mutationPositionFormat.txt.gz", package="pmsignature")
G <- readMPFile(inputFile, numBases = 5, trDir = TRUE)
# use background
BG_prob <- readBGFile(G)
Param <- getPMSignature(G, K = 3, BG = BG_prob)
Boot <- bootPMSignature(G, Param0 = Param, bootNum = 100, BG = BG_prob)
# save .Rdata
resultForSave <- list(Param, Boot)
save(resultForSave, file="pmsignature_ind3.Rdata")
2. paplotで使用できるように結果ファイルを変換する¶
1で作成した”pmsignature_ind3.Rdata” ファイルをpaplotで読み込めるように.json形式に変換します。
変換スクリプトを用意していますので、以下より最新版をダウンロードし、適切な場所に解凍してください。 インストールの必要はありません。
https://github.com/Genomon-Project/genomon_Rscripts/releases
入力ファイル, 出力したいファイル名の順に引数を渡します。
R --vanilla --slave --args ./pmsignature_ind3.Rdata ./pmsignature_ind3.json < {path to genomon_Rscripts}/pmsignature/convert_toJson_ind.R
3. paplotの実行¶
2で作成した”pmsignature_ind3.json” ファイルを使用して、paplot を実行します。上述の方法で実行した場合、configファイルの変更は必要ありません。
注釈
backgroundを使用しない場合は、configファイルのbackgroundをFalseに変更してください。
paplot signature pmsignature_ind3.Rdata ./temp signature_test
[補足] jsonフォーマット¶
{
"ref":[
[ # signature 1
[0.338,0.15,0.183,0.327], # ref1 (A,C,G,T)
[0.362,0.191,0.177,0.267], # ref2 (A,C,G,T)
[0,0.731,0,0.268], # ref3 (A,C,G,T)
[0.31,0.165,0.251,0.272], # ref4 (A,C,G,T)
[0.295,0.193,0.168,0.341] # ref5 (A,C,G,T)
],
[ # signature 2
[0.179,0.414,0.084,0.321],
[0.007,0.025,0.004,0.962],
[0,0.999,0,0],
[0.472,0.104,0.041,0.381],
[0.277,0.175,0.284,0.262]
]
],
"alt":[
[ # signature 1
[0,0,0,0], # altA (A,C,G,T)
[0.194,0,0.091,0.445], # altC (A,C,G,T)
[0,0,0,0], # altG (A,C,G,T)
[0.093,0.163,0.011,0] # altT (A,C,G,T)
],
[ # signature 2
[0,0,0,0],
[0.059,0,0.437,0.502],
[0,0,0,0],
[0,0,0,0]
]
],
"strand":[
[0.461,0.538], # signature 1
[0.512,0.487] # signature 2
],
"id":["PD3851a","PD3890a","PD3904a"],
"mutation":[[0,0,0.535],[0,1,0.038],[0,2,0.426],[1,0,0.186],[1,1,0.156],[1,2,0.656]],
"mutation_count":[702,2312,2096]
}
signature描画データ
ref: | signatureの各リファレンスの値。
signatureごと、リファレンスごとにA,C,G,Tの順に値を記述します。描画時に再計算しますので、合計して1になる必要はありません。
今回の例ではbaseの数が5ですが、3や7など奇数の数値であれば変更可能です。
|
---|---|
alt: | signatureのaltの値。
signatureごとに16個の値を設定します。
横方向のサイズはref3 (base=5の場合。base=3であればref2, base=7であればref4) のACGTの各値に従うため、altAとaltGについては通常は0を設定します。
|
strand: | signatureのstrandの値。
signatureごとにplus, minus2つの値をそれぞれ設定します。
strandが無い場合は [0,0] を記入します。
|
積み上げグラフ描画データ
id: | サンプル名リスト
|
---|---|
mutation_count: | サンプルごとのmutation数
上記の例の場合、PD3851a のmutation数=702, PD3890a のmutation数=2312, PD3904a のmutation数=2096 となります。
|
mutation: | サンプルごと、signatureごとの割合を設定します。
[sample index, signature index, value] の順に記載します。
サンプルのindexは id で記載した順に0からカウントします。
上記の例の場合、PD3851a=0, PD3890a=1, PD3904a=2となります。
signatureのindexも ref で記載した順に0からカウントします。
backgroundを使用する場合、signature1, signature2, ..., backgroundの順にカウントします。
上記の例の場合、signature1 = 0, signature2 = 1, background = 2となります。
|
注釈
key名は変更可能です。key名を変更した場合は設定ファイル ([result_format_pmsignature] key_*)を変更してください。
注釈
jsonとしての形式の厳密さについては、paplotはpythonのjsonパッケージを使用しているため、次のコマンドで読めればOKです。
python jsonパッケージを使用したファイル確認例 (ファイル名が “Nik_Zainal_2012.ind.3.json” の場合)
$ python
>>> import json
>>> json.load(open("Nik_Zainal_2012.ind.3.json"))
グラフをカスタマイズする¶
1. 変更方法¶
1-1. styleファイルを編集する¶
デフォルトのstyleファイルはここにあります。
{paplotをインストールしたディレクトリ}/example/default.js
このファイルをコピーして 新しいstyleファイルを作成します。
ここでは、例としてこのように作成します。 {paplotをインストールしたディレクトリ}/example/mystyle.js
※ファイル名は任意ですが、拡張子は .js
にしてください。
作成したファイルを開いて変更します。
注釈
色の指定はRGBもしくは色名で指定することができます。
// RGBで指定する場合
bar_select_color: "#1F77B4",
// color nameで指定する場合
bar_select_color: "red",
RGBで指定する場合
00~FF
まで、6桁の16進表記で指定し、先頭に #
をつけてください。色名(カラーネーム)について
1-2. 設定ファイルを編集する¶
今回作成したスタイルファイルを使用するようにconfigファイルを変更します。
{paplotをインストールしたディレクトリ}/example/example.cfg
このファイルを開いて次の箇所を変更します。
[style]
path = {paplotをインストールしたディレクトリ}/example/mystyle.js
# ~/tmpにインストールした場合はこのようになる
# ~/tmp/paplot/example/mystyle.js
1-3. paplotを実行する¶
cd {paplotをインストールしたディレクトリ}
paplot qc "example/qc/*.csv" ./tmp style_test --config_file example/example.cfg
1-4. 出力されたファイルを変更する¶
上で作成したファイルは次のディレクトリにコピーされています。
すでにpaplotで出力したHTMLファイルを変更する場合、スタイルファイル (mystyle.js) を編集し、再読み込み(ブラウザで F5
)すれば反映されます。
./tmp
├ style_test
│ └ graph_qc.html
│
├ js
├ layout
├ lib
└ style
├ default.js <--- デフォルト
└ mystyle.js <--- 今回作成したファイル
2. 設定項目¶
(function(){
style_general = {
font_family: "'Helvetica Neue', Helvetica, Arial, sans-serif",
}
// style of quality check graphs
style_qc = {
brush_border_y_color: "#DDDDCC",
brush_border_y_opacity: 0.5,
plot_border_y_color: "#DDDDCC",
plot_border_y_opacity: 0.2,
title_y_font_size: "12px",
legend_title_font_size: "16px",
legend_text_font_size: "12px",
};
// style of genome-wide bar plot
style_sv_bar = {
// title's text options
title_y: "samples with CA breakp.",
title_y_font_size: "12px",
title_x: "Chromosome",
title_x_font_size: "14px",
legend_title: "Genome-wide CAs identify",
legend_title_font_size: "16px",
legend_text_font_size: "12px",
border_x_main_color: "#E0E0E0",
border_x_main_width: "1px",
border_x_sub_color: "#A6A6A6",
border_x_sub_width: "1px",
border_y_color: "#DDDDCC",
border_y_opacity: 0.5,
axis_x_font_size: "9px",
};
// style of thumbnails
style_sv_thumb = {
// circular sector's color options
arc_fill_opacity: 1.0,
arc_stroke_opacity: 1.0,
// link options
link_width: "1px",
link_opacity: 1.0,
};
// style of detail image (on click)
style_sv_detail = {
// windows header
win_header_text_color: "#000000",
win_header_background_color: "#CFCFCF",
win_border_color: "#D3D3D3",
win_border_width: "1px",
win_background_color: "white",
// circular sector's color options
arc_fill_opacity: 1.0,
arc_stroke_opacity: 1.0,
// circular sector's label options
arc_label_fontsize: "10px",
arc_label_color: "#333333",
// link options
link_width: "2px",
link_opacity: 1.0,
// link(on mouse) options
link_select_color: "#d62728",
link_select_width: "3px",
link_select_opacity: 1.0,
};
// style of mutaion-matrix
style_mut = {
// title's text options
title_sample: "Sample",
title_sample_font_size: "14px",
title_sample_y: "Number of mutation",
title_sample_y_font_size: "12px",
virtical_border_x_color: "#CCCCEE",
virtical_border_x_width: "1px",
virtical_border_y_color: "#DDDDCC",
virtical_border_y_opacity: 0.5,
title_gene: "Genes",
title_gene_font_size: "14px",
title_gene_y1: "% Samples",
title_gene_y2: "with mutationg",
title_gene_y1_font_size: "12px",
title_gene_y2_font_size: "12px",
horizon_border_x_color: "#CCCCEE",
horizon_border_x_width: "1px",
horizon_border_y_color: "#DDDDCC",
horizon_border_y_opacity: 0.5,
// legend
legend_title: "functions",
legend_title_font_size: "16px",
legend_text_font_size: "12px",
// gene
gene_text_font_size: "9px",
// subplot
sub_border_color: "#FFFFFF",
sub_border_width: "1px",
};
// style of signature
style_signature = {
// stack-integral
title_integral: "Signature integral",
title_integral_font_size: "16px",
title_integral_y: "membership",
title_integral_y_font_size: "12px",
legend_integral_title_font_size: "16px",
legend_integral_text_font_size: "12px",
// stack-rate
title_rate: "Signature rate",
title_rate_font_size: "16px",
title_rate_y: "membership",
title_rate_y_font_size: "12px",
legend_rate_title_font_size: "16px",
legend_rate_text_font_size: "12px",
//stack-common
plot_border_y_color: "#DDDDCC",
plot_border_y_opacity: 0.5,
// signature
signature_title_font_size: "12px",
signature_title_y: "probaility",
signature_title_y_font_size: "12px",
signature_title_x_font_size: "12px",
border_y_color: "#DDDDCC",
border_y_opacity: 0.5,
};
// style of pmsignature
style_pmsignature = {
// stack-integral
title_integral: "Signature integral",
title_integral_font_size: "16px",
title_integral_y: "membership",
title_integral_y_font_size: "12px",
legend_integral_title_font_size: "16px",
legend_integral_text_font_size: "12px",
// stack-rate
title_rate: "Signature rate",
title_rate_font_size: "16px",
title_rate_y: "membership",
title_rate_y_font_size: "12px",
legend_rate_title_font_size: "16px",
legend_rate_text_font_size: "12px",
//stack-common
plot_border_y_color: "#DDDDCC",
plot_border_y_opacity: 0.5,
// signature
signature_alt_font_size: "10px",
signature_ref_font_size: "10px",
signature_strand_font_size: "10px",
signature_title_font_size: "12px",
};
})();
about install¶
paplot conf
でエラー¶
$ paplot conf
-bash: /usr/bin/paplot: No such file or directory
LD_LIBRARY_PATH
の設定が正しくありません。$ paplot conf
Traceback (most recent call last):
File "/usr/bin/paplot", line 4, in <module>
__import__('pkg_resources').run_script('paplot===0.2.7devel', 'paplot')
(省略)
pkg_resources.DistributionNotFound: The 'paplot===0.2.7devel' distribution was not found and is required by the application
paplot
ファイルがない場合はインストールが成功していない可能性があります。$ python setup.py build install
(最後の3行)
Installed /usr/lib/python2.7/site-packages/paplot-0.2.7devel-py2.7.egg
Processing dependencies for paplot===0.2.7devel
Finished processing dependencies for paplot===0.2.7devel
about graphs¶
グラフを画像で保存したい¶
- SVG ... タグで記載されたテキストファイルです。SVG対応の画像編集ソフトウェアのほか、各種ブラウザでも表示できます。
- PNG ... 画像ファイルです。背景透過処理を施しています。
注釈
この機能は以下のブラウザで確認しています。うまく動かない場合は、最新のバージョンにアップデートするか、別のブラウザをお試しください。
- Windows
- Firefox (47.0)
- Chrome (51.0)
- Internet Explorer11 (11.0)
- Mac
- Firefox (45.2)
- Chrome (52.0)
- Safari (9.1.2)
Chromeの場合¶
フォーマット選択後、自動的にダウンロードされます。
IEの場合¶
- SVG ... フォーマット選択後、ダウンロード画面が表示されますので、任意の場所に保存してください。
- PNG ... 画像が新しいタブで表示されますので、右クリックして「名前を付けて画像を保存…」を選択してください。
Safariの場合¶
- SVG ... 画像が新しいタブで表示されますので、右クリックして「ページを別名で保存…」を選択してください。
各項目は次のように指定してください。書き出し名「{任意の名前}.svg」フォーマット「ページのソース」
- PNG ... 画像が新しいタブで表示されますので、右クリックして「イメージを別名で保存…」を選択してください。
リリースノート¶
注意
v0.4.0¶
v0.3.1¶
v0.3.0¶
v0.2.8¶
v0.2.7¶
ライセンス¶
paplotは https://github.com/Genomon-Project/paplot/blob/devel/LICENSE のもとで配布されています。