結果ファイルの見方,マッピングしたBAMファイルの見方,スパコンジョブの成否の確認方法を説明します.
※ FASTQファイルに解凍が必要な場合,時間がかかります.
Links inside this page:
How to Read The Result File (Fisher's exact test)
How to Read The Result File (Empirical Baysian mutation Calling)
How to Read The Summary File
How to Read The Log File
How to Confirm The Result of the Submitted Job
ここでは結果ファイルの読み方の説明をします.
ここでの結果ファイルとは「Mutation Calling & Annotation (Fisher's exact test)」で出力されたファイルを指します.
sum_${サンプル名}_${データ解析実施日}_${サンプルタイプ}.exome.result.txt をローカルPCにダウンロードしてExcelで開いてください.各カラム名の説明をいたします.
exome.result.txt(結果ファイル)の例です. この例で記載されていないカラムは ANNOVARのホームページ をご覧ください.ANNOVAR が出力したカラムになります.
# 結果リスト Chr Start End Ref Obs bases_tumor bases_normal misRate_tumor strandRatio_tumor misRate_normal strandRatio_normal p-value chr1 1000 1000 G T 0,0,15,14 0,0,12,1 0.482758 0.7 0.076923 0.5 1.829449 chr2 2000 2000 - TA 80,9 73,2 0.1125 0 0.023797 0.5 1.229181 chr3 3000 3002 ACA - 13,8 12,0 0.615384 0.5 0 --- 2.783149
Chr Start End
mutation 候補のポジションです.
Ref
mutation 候補のポジションに位置するリファレンス塩基です.Insertion の場合は"-"ハイフンになります.
Obs
mutation 候補の塩基配列です.Deletion の場合は"-"ハイフンになります.
bases_tumor, bases_normal
SNVの場合は(A,C,G,T) の各個数,indel の場合は (Depth, indelのリード数) になります.
misRate_tumor, misRate_normal
ミスマッチ率です.
SNV の場合は #Obs (Obsのリード数) ÷ Depth (A,C,G,Tの合計) です.
上記の表の1行目,misRate_tumor は 14 ÷ 29 = 0.482758
上記の表の1行目,misRate_normal は 1 ÷ 13 = 0.076923
Indel の場合は indel のリード数 ÷ Depth です.
上記の表の2行目,misRate_tumor は 9 ÷ 80 = 0.1125
上記の表の2行目,misRate_normal は 2 ÷ 73 = 0.027397
strandRatio_tumor, strandRatio_normal
ミスマッチを持つリードのうち,+strand にマッピングされたリードの割合です.ミスマッチリードの全てが+strand にマッピングされている場合は1,全てが- にマッピングされている場合は0,+と-の半々の場合は0.5になります.(これが0や1の場合は,シークエンスのエラーである可能性があります).
p-value
-log10(p値)になってます.Rで書くとこうなります.
SNV の場合 -log10(fisher.test(matrix(as.integer(c(15,12,14,1)),2,2))$p.value);
Indel の場合 -log10(fisher.test(matrix(as.integer(c(71,9,71,2)),2,2))$p.value);
定番のフィルタ
・1000g が空白のカラムだけにフィルタする(1000Genome プロジェクトで登録されている mutation は候補からはずす).
・dbSNP が空白のカラムだけにフィルタする(dbSNP に登録されている mutationは 候補からはずす).
・misRate_normal ノーマルの検体に mutation の割合が多いレコードはフィルタする.
ここでは結果ファイルの読み方の説明をします.
ここでの結果ファイルとは「Mutation Calling & Annotation (Empirical Baysian mutation Calling)」で出力されたファイルを指します.
${タグ}.exome.result.txt をローカルPCにダウンロードしてExcelで開いてください.各カラム名の説明をいたします.
exome.result.txt(結果ファイル)の例です. この例で記載されていないカラムは ANNOVARのホームページ をご覧ください.ANNOVAR が出力したカラムになります.
# 結果リスト (サンプルです.) Chr Start End Ref Obs bases_tumor bases_normal misRate_tumor strandRatio_tumor depth_tumor variantNum_tumor misRate_normal strandRatio_normal depth_normal variantNum_normal p-value p-value (+strand) p-value (-strand) p-value(Fisher) alpha (+starnd) beta (+strand) alpha (-strand) beta(-strand) chr1 1000 1000 G T 14,10,15,4 7,1,7,1 0.482758 0.7 29 14 0.142857 0.5 14 2 2.123456789 0.123456789 2.123456789 1.349564 0.100001462 3.982312349 2.545231456 201.1434566 chr2 2000 2000 - TA 20,0,69,9 30,1,43,1 0.101123 0 89 9 0.027397 0.5 73 2 3.123456789 0 4.123456789 0.9459894 0.1 47.82511302 0.1 22.12343452 chr3 3000 3002 ACA - 11,4,10,4 5,0,7,0 0.380952 0.5 21 8 0 --- 12 0 2.123456789 0.123456789 2.123456789 1.182557 0.1 1.123456785 0.1 8.125789943
Chr Start End
mutation 候補のポジションです.
Ref
mutation 候補のポジションに位置するリファレンス塩基です.Insertion の場合は"-"ハイフンになります.
Obs
mutation 候補の塩基配列です.Deletion の場合は"-"ハイフンになります.
bases_tumor, bases_normal
カンマ区切りで(+strand にマッピングされたリードdepth, +strand にマッピングされたミスマッチリード数, -strand にマッピングされたリードdepth, -strand にマッピングされたミスマッチリード数) になります.
misRate_tumor, misRate_normal
ミスマッチ率です.variantNum ÷ depth です.
strandRatio_tumor, strandRatio_normal
ミスマッチを持つリードのうち,+strand にマッピングされたリードの割合です.ミスマッチリードの全てが+strand にマッピングされている場合は1,全てが- にマッピングされている場合は0,+と-の半々の場合は0.5になります.(これが0や1の場合は,シークエンスのエラーである可能性があります).
depth_tumor, depth_normal
depth(リード数) です.
variantNum_tumor, variantNum_normal
ミスマッチを持つリード数です。
p-value
EB Call mutation の信頼度をあらわします.+strand,-strand の p-value から Fisher's method を使用して算出しています.
p-value 算出方法の詳細は 下記の論文に記載されています.
An empirical Bayesian framework for mutation detection from cancer genome sequencing data.
Nucleic Acids Research (Published: February 10, 2013)
p-value (+strand), p-value (-strand)
EB Call の+strand,-strand の信頼度をあらわします.-log10(p値)になってます.
p-value (Fisher)
Fisher's exact test 信頼度をあらわします. -log10(p値)になってます.
alpha (+starnd),beta (+strand),alpha (-strand),beta(-strand)
Variantに対して Beta-Binominal sequencing error model で母数を推定した値です.
定番のフィルタ
・misRate_tumor がん検体に mutation の割合が少ないレコードはフィルタする.
・misRate_normal ノーマル検体に mutation の割合が多いレコードはフィルタする.
・EBCall の p-value と Fisher 検定の p-value の信頼度の低いレコードをフィルタする.
ここではサマリーファイルの読み方の説明をします.
サマリーファイルとは「2. ALIGNMENT & GENERATE SUMMARY TABLE」で出力するマッピング率やカバレージの情報が載っているファイルを指します.
exome/data/output/${サンプル名}/${RUN日}/summary/ ディレクトリをローカルにダウンロードしてください.最低限見ておいた方が良い情報を載せておきます.
出力ファイル一覧# 出力ディレクトリ exome/data/output/${サンプル名}/${RUN日}/summary/${type} # 出力ファイル AlignmentSummaryMetrics.txt ga.metrics GcBiasDetailMetrics.pdf GcBiasDetailMetrics.txt GcBiasSummaryMetrics.txt InsertSizeMetrics.pdf InsertSizeMetrics.txt MeanQualityByCycle.pdf MeanQualityByCycle.txt QualityScoreDistribution.pdf QualityScoreDistribution.txtAlignmentSummaryMetrics.txt
ここではスパコンで出力されたログファイルの読み方の説明をします.ログファイルの出力先ディレクトリはジョブ共通です.
ログファイルの中身 (成功例)
['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] Cleaning up started. Mon Apr 9 22:32:54 2012 Cleaning up in progress. Waiting for submitted jobs to be finished. job id : 33394 failed =0 exit_status=0 job id : 33393 failed =0 exit_status=0 job id : 33392 failed =0 exit_status=0 job id : 33391 failed =0 exit_status=0 Cleaning up finished. Mon Apr 9 22:37:20 2012 # このjobでは,qsubしたrm.shが4つ, # そしてその実行結果が4つとも”failed=0 exit_status=0”で正常終了しているため, # メインシェルが正しく終了したことがわかります.
ログファイルの中身 (エラー例)
['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] ['qsub', '-e', 'log/sample_100422', '-o', 'log/sample_100422', 'script/rm.sh'] Cleaning up started. Mon Apr 9 22:32:54 2012 Cleaning up in progress. Waiting for submitted jobs to be finished. job id : 33394 failed =0 exit_status=0 job id : 33393 failed =1 exit_status=125 Cleaning up finished. Mon Apr 9 22:37:20 2012 # このログではqsubしたrm.shが4つ, # そしてその実行結果のうちの1つが ”failed=1 exit_status=125”で異常終了しています. # 異常終了するとメインシェルがエラー終了します(エラーとなった時点で処理が終了します)
エラーとなった時はメインシェルが内部でqsubしたログを確認してみましょう.
#出力先ディレクトリ exome/log/${SAMPLE}_${RUN日} # ログファイル rm.sh.o33393 # エラーログファイル rm.sh.e33393 # 原因がわからなかったら,もう一度メインシェルを投げなおしてみましょう. # 投げなおしてみると正常終了することがそこそこあります.
メインシェルのログファイル名一覧
# マッピングを実施したときに出力されるログです. map_bwa.sh.o0000000 map_bwa.sh.e0000000 # リアライメントを実施したときに出力されるログです. realign_gatk.sh.o0000000 realign_gatk.sh.e0000000 # データ解析を実施したときに出力されるログです. fisher_test.sh.o0000000 fisher_test.sh.e0000000 # ※0000000は実行したジョブIDが入ります.☆copy number data 解析のエラーチェックではこの項目のログが出力されません. 次項目 (How to Confirm The Result of The Submitted Job) に従いエラーチェックをおこなってください.
スパコンのジョブを実施した場合,スパコンのジョブ確認コマンドで,ジョブの成功 or 失敗を確認をすることができます.
下記のコマンドを実施して成功したことを確認してください.
qacct2 というコマンドを使用します.
# Usage: qacct2 -o ユーザ名 -b yyyyMMddhhmm -e yyyyMMddhhmm -l -f # オプション説明 # -o コマンドを実行したユーザ名を記述してください # -b 指定した時間以降に完了したジョブを検索します. # -e 指定した時間以前に完了したジョブを検索します. # -l 結果をリスト出力してくれます. # -f エラーとなったジョブだけ出力してくれます. # e.g. ユーザgenomon が2012/07/01/ 00:00 ~ 2012/07/02/ 00:00 に実行したジョブで結果がエラーのジョブのみ確認する. qacct2 -o genomon -b 201207010000 -e 201207020000 -l -f | owner| jobid| task|slot| pe_id| granted_pe|ext|fail| qname| host|jobname | end_time| clock| mmem|rmem| r_q| r_cpu|qdel|fail_txt | Rq| Rm|Ropt | | genomon|1938906|undefined| 1| NONE| NONE| 1| 0| mjobs.q|c369i|split.sh |20120701-11:20| 266| 3.0G| 4G| NONE| NONE|NONE|N/A | mjobs.q| 4G|-l s_vmem=4G,mem_req=4 | | genomon|1938901|undefined| 1| NONE| NONE|152| 100| mjobs.q|c628i|split.sh |20120701-10:45| 4449| 4.0G| 4G| NONE| NONE|NONE|assumedly | mjobs.q| 8G|-l s_vmem=8G,mem_req=8 | | genomon|1938928|undefined| 1| NONE| NONE| 1| 0| mjobs.q|c722i|split.sh |20120701-09:52| 0| 0.0G| 2G| NONE| NONE|NONE|N/A | mjobs.q| 2G|-l s_vmem=2G,mem_req=2 | # 確認ポイント # ext と fail が 0(正常)で完了していることを確認する.
正常終了していない場合はログを確認します.
ログディレクトリは『exome/log/xxxxx』ディレクトリに下記フォーマットのファイル名で出力されます.
ログファイル : <jobname>.o<jobid> (split.sh.o.1938906)
エラーログファイル : <jobname>.e<jobid> (split.sh.e.1938906)
# ログディレクトリに移動 copy number data 解析の場合は exome/copy_number/log に移動します. cd exome/log/xxxxxx # 異常終了したログを確認 ls *1938906 # 確認するべきログファイルはこちら split.sh.o.1938906 split.sh.e.1938906