- この Gist は、以下のリンクのオリジナルのテキストを Gemini 3.0 で日本語に翻訳した物です。
- Input & output files
SnpEffへの入力として使用されるファイルは、標準フォーマットに準拠している必要があります。 ここでは、サポートされている入力データフォーマットについて説明します。
以前にも述べたように、Variant Call Format (VCF) は入力ファイルとして推奨されるフォーマットです。 これは「1000ゲノムプロジェクト」で使用されているフォーマットであり、現在ゲノム変異(バリアント)のデファクトスタンダード(事実上の標準)と見なされています。 また、これはSnpEffで使用されるデフォルトのフォーマットでもあります。
簡単に言えば、VCFフォーマットは以下の列を持つタブ区切りのテキストファイルです:
- 染色体名 (Chromosome name)
- 位置 (Position)
- バリアントID (Variant's ID)
- リファレンスゲノム (Reference genome)
- 代替配列(つまりバリアント)(Alternative)
- クオリティスコア (Quality score)
- フィルター(バリアントが品質フィルターを通過したかどうか)(Filter)
- INFO:このバリアントに関する一般的な情報。SnpEffはこの列にアノテーション情報を追加します。
以下は、VCFファイルの数行の例です:
#CHROM POS ID REF ALT QUAL FILTER INFO
20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2
20 17330 . T A 3 q10 NS=3;DP=11;AF=0.017
最初の行はヘッダー情報であることに注意してください。ヘッダー行は '#' で始まります。
前章で述べたように、VCFはSnpEffのデフォルトの入力および出力フォーマットです。 VCFは他のツールやソフトウェアパッケージでも使用できる標準フォーマットであるため、入力および出力フォーマットとして使用することを強く推奨します。 これにより、ゲノムデータ処理パイプラインへの統合がはるかに容易になります。
SnpEffは、VCFファイルのINFOフィールドにアノテーション情報を追加します。 INFOフィールドはVCFファイルの8列目です。簡単な例については前のセクションを参照するか、詳細についてはVCF仕様をご覧ください。
以下は、SnpEffを使用してアノテーションを行う前と後のファイルの例です:
アノテーション前のVCFファイル
#CHROM POS ID REF ALT QUAL FILTER INFO
1 889455 . G A 100.0 PASS AF=0.0005
1 897062 . C T 100.0 PASS AF=0.0005
SnpEffを使用してアノテーションされた後のVCFファイル
#CHROM POS ID REF ALT QUAL FILTER INFO
1 889455 . G A 100.0 PASS AF=0.0005;EFF=STOP_GAINED(HIGH|NONSENSE|Cag/Tag|Q236*|749|NOC2L||CODING|NM_015658|)
1 897062 . C T 100.0 PASS AF=0.0005;EFF=STOP_GAINED(HIGH|NONSENSE|Cag/Tag|Q141*|642|KLHL17||CODING|NM_198317|)
ご覧のとおり、SnpEffはINFOフィールド(8列目)に 'EFF' タグを追加しました。
SnpEffは、追加されたフィールドを反映するためにVCFファイルのヘッダーを更新します。 これはVCF仕様で要求されています。 SnpEffはまた、ファイルをアノテーションするために使用されたコマンドラインオプションやSnpEffのバージョンも追加するため、正確に何が行われたかを追跡できます。
以下は、アノテーションされたファイルに追加されたヘッダー行の例です:
##SnpEffVersion="SnpEff 3.1m (build 2013-02-08)"
##SnpEffCmd="SnpEff hg19 demo.1kg.vcf "
##INFO=<ID=EFF,Number=.,Type=String,Description="Predicted effects for this variant.Format: 'Effect ( Effect_Impact | Functional_Class | Codon_Change | Amino_Acid_change| Amino_Acid_length | Gene_Name | Gene_BioType | Coding | Transcript | Exon [ | ERRORS | WARNINGS ] )' \">
機能的アノテーション情報は、ANN タグを使用してINFOフィールドに追加されます。
注: SnpEffは VCF annotation standard 'ANN' field (VCFアノテーション標準 'ANN' フィールド) を実装しています。
このフォーマット仕様は、最も広く使用されているバリアントアノテーションプログラム(SnpEff、ANNOVAR、ENSEMBLのVEP)の開発者によって作成され、以下を目的としています:
- バリアントアノテーションのための共通フレームワークを提供する
- パイプライン開発を容易にする
- ベンチマークを促進する
- バリアントアノテーションにおけるいくつかの既知の問題を改善する
明らかに、この 'ANN' フィールドは、古いSnpEffバージョンの古い 'EFF' フィールドとの互換性を損ないます。古い 'EFF' フィールドを使用するには、-formatEff コマンドラインオプションを使用できます。
アノテーション 'ANN' フィールドは以下のようになります(完全なアノテーション標準仕様はこちらにあります)。
ANN=T|missense_variant|MODERATE|CCT8L2|ENSG00000198445|transcript|ENST00000359963|protein_coding|1/1|c.1406G>A|p.Gly469Glu|1666/2034|1406/1674|469/557||,T|downstream_gene_variant|MODIFIER|FABP5P11|ENSG00000240122|transcript|ENST00000430910|processed_pseudogene||n.*397G>A|||||3944|
1つのバリアントは複数のアノテーションを持つことができ(通常は持っています)。 複数のアノテーションはカンマで区切られます。 前の例では、異なる遺伝子(CCT8L2とFABP5P11)に対応する2つのアノテーションがありました。
各アノテーションは、パイプ文字 "|" で区切られた複数のサブフィールドで構成されます(この例ではフィールド15と16は空です):
Annotation : T|missense_variant|MODERATE|CCT8L2|ENSG00000198445|transcript|ENST00000359963|protein_coding|1/1|c.1406G>A|p.Gly469Glu|1666/2034|1406/1674|469/557| |
SubField number : 1| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |15| 16
以下は、各サブフィールドの意味の説明です:
-
Allele (または ALT): 複数のALTフィールドがある場合、どのALTを参照しているかを識別するのに役立ちます。 例:
# CHROM POS ID REF ALT QUAL FILTER INFO chr1 123456 . C A . . ANN=A|... chr1 234567 . A G,T . . ANN=G|... , T|...がんサンプルの場合、非標準リファレンス(例えば、ALTの1つがリファレンスである場合)を使用して体細胞(somatic)対 生殖細胞系列(germline)を比較するとき、フォーマットは ALT-REFERENCE となります。例:
#CHROM POS ID REF ALT QUAL FILTER INFO chr1 123456 . A C,G . . ANN=G-C|...複合バリアント:アノテーションに影響を与える2つ以上のバリアント(例:MNPを構成する2つの連続したSNP、フレームを「修復」する2つの連続したフレームシフトバリアント)。 この場合、Alleleフィールドには、アノテーションに含まれる他のバリアントへの参照を含める必要があります:
#CHROM POS ID REF ALT QUAL FILTER INFO chr1 123456 . A T . . ANN=T|... chr1 123457 . C G . . ANN=C-chr1:123456_A>T|... -
Annotation (別名 effect): Sequence Ontology (SO) 用語を使用してアノテーションされます。複数のエフェクトは '&' を使用して連結できます。
#CHROM POS ID REF ALT QUAL FILTER INFO chr1 123456 . C A . . ANN=A|intron_variant&nc_transcript_variant|... -
Putative_impact (推定インパクト): 推定されるインパクト(影響度)/ 有害性の単純な評価:
{HIGH (高), MODERATE (中), LOW (低), MODIFIER (修飾)} -
Gene Name (遺伝子名): 一般的な遺伝子名 (HGNC)。オプション:バリアントが「遺伝子間 (intergenic)」にある場合は、最も近い遺伝子を使用します。
-
Gene ID (遺伝子ID): 遺伝子ID
-
Feature type (フィーチャータイプ): 次のフィールドにあるフィーチャーのタイプ(例:transcript, motif, miRNAなど)。Sequence Ontology (SO) 用語の使用が推奨されますが、'custom'(ユーザー定義)も許可されます。
ANN=A|stop_gained|HIGH|||transcript|...組織特異的なフィーチャーには、セミコロンで区切られた細胞型/組織情報が含まれる場合があります。例:
ANN=A|histone_binding_site|LOW|||H3K4me3:HeLa-S3| -
Feature ID (フィーチャーID): アノテーションに応じて、これは以下のようになります:トランスクリプトID(バージョン番号の使用が望ましい)、モチーフID、miRNA、ChipSeqピーク、ヒストンマークなど。 注:一部のフィーチャーにはIDがない場合があります(例:カスタムChip-Seq実験からのヒストンマークには一意のIDがない場合があります)。
-
Transcript biotype (トランスクリプトバイオタイプ): 最低限、トランスクリプトが {"Coding" (コーディング), "Noncoding" (非コーディング)} であるかの記述が必要です。可能であれば、ENSEMBLバイオタイプを使用してください。
-
Rank / total (ランク / 総数): エクソンまたはイントロンのランク / エクソンまたはイントロンの総数。
-
HGVS.c: HGVS表記を使用したバリアント (DNAレベル)
-
HGVS.p: バリアントがコーディングの場合、このフィールドはHGVS表記を使用してバリアントを記述します (タンパク質レベル)。トランスクリプトIDはすでに 'Feature ID' で言及されているため、ここでは省略される場合があります。
-
cDNA_position / cDNA_len: cDNA内の位置およびトランスクリプトのcDNA長(1ベース)。
-
CDS_position / CDS_len: コーディング塩基の位置および数(1ベース、開始コドンと停止コドンを含む)。
-
Protein_position / Protein_len: アミノ酸の位置および数(1ベース、開始を含むが停止は含まない)。
-
Distance to feature (フィーチャーへの距離): このフィールドのすべての項目はオプションであるため、フィールドが空になる可能性があります。
- Up/Downstream: 最初の/最後のコドンまでの距離
- Intergenic: 最も近い遺伝子までの距離
- エクソン内の最も近いイントロン境界までの距離 (+/- 上流/下流)。同じ場合は正の数を使用します。
- イントロン内の最も近いエクソン境界までの距離 (+/- 上流/下流)
- MOTIFの最初の塩基までの距離
- miRNAの最初の塩基までの距離
- splice_site または splice_region 内のエクソン-イントロン境界までの距離
- ChipSeqピーク: サミット(またはピーク中心)までの距離
- ヒストンマーク / ヒストン状態: サミット(またはピーク中心)までの距離
-
Errors, Warnings or Information messages (エラー、警告、または情報メッセージ): アノテーションの精度に影響を与える可能性のあるエラー、警告、または有益なメッセージを追加します。詳細はこちらを参照
HGVSと機能的アノテーション間の整合性:
場合によっては、「アノテーション」とHGVSの間で報告に不整合が生じることがあります。
これは、VCFが左端(leftmost)の座標にアラインメントすることを推奨しているのに対し、HGVSは「最も3'側(3-prime)の座標」にアラインメントすることを推奨しているという事実に起因します。
例えば、エキソンの端にあるインデル(挿入欠失)は、VCFのアラインメント推奨に従うと 'intronic'(イントロン)アノテーションになりますが、HGVSの推奨(可能な限り最も3'側のアラインメントを使用)を使用してアラインメントすると 'stop_gained'(停止コドン獲得)になる可能性があります。
そのため、'annotation' サブフィールドは 'intron' を報告し、HGVSサブフィールドは 'stop_gained' を報告します。
これは明らかに矛盾しており、回避する必要があります。
HGVS表記と整合性のあるアノテーションを報告するには、バリアントを各トランスクリプトの鎖(ストランド)に従って再アラインメントする必要があります(つまり、トランスクリプトの最も3'側の座標に従ってバリアントをアラインメントします)。
その後、アノテーションが計算されるため、報告されるアノテーションはHGVS表記と整合性がとれます。
アノテーションソフトウェアには、この動作をオーバーライドするコマンドラインオプション(例:-no_shift_hgvs)が必要です。
効果(Effects)情報は、'EFF' タグを使用してINFOフィールドに追加されます。
!!! warning
このセクションは、-formatEff コマンドラインオプションを使用して有効にできる、'EFF' タグを使用した廃止されたアノテーションフォーマットに関するものです。
バージョン4.1以降、SnpEffはデフォルトで 'ANN' フィールドを使用します。
注:
- バージョン4.0以降、デフォルトの出力では 'Effect' 名に Sequence Ontology (SO) を使用します。
-classicコマンドラインオプションを使用することで、「古い」スタイルのエフェクト名を出力できます。 - 複数のエフェクトが利用可能な場合、それらは最初に "Effect_Impact"、次に "Effect"、最後に "マーカーのゲノム座標"(例:影響を受けるトランスクリプトのゲノム座標)でソートされます。
- バージョン4.0から、SnpEffはデフォルトで 'AA' サブフィールドにHGVS表記を出力します。
カンマで区切られた複数のエフェクトが存在する可能性があります。各エフェクトのフォーマットは以下の通りです:
EFF= Effect ( Effect_Impact | Functional_Class | Codon_Change | Amino_Acid_Change| Amino_Acid_Length | Gene_Name | Transcript_BioType | Gene_Coding | Transcript_ID | Exon_Rank | Genotype_Number [ | ERRORS | WARNINGS ] )
| EFFサブフィールド | 意味 |
|---|---|
| Effect | このバリアントのエフェクト(効果)。詳細についてはこちらを参照してください。 |
| Effect impact | エフェクトのインパクト(影響度) {High, Moderate, Low, Modifier}。詳細についてはこちらを参照してください。 |
| Functional Class | 機能クラス {NONE, SILENT, MISSENSE, NONSENSE}。 |
| Codon_Change / Distance | コドン変化: 古いコドン/新しいコドン、またはトランスクリプトまでの距離(上流/下流の場合) |
| Amino_Acid_Change | アミノ酸変化: 古いAA AA位置/新しいAA (例: 'E30K') |
| Amino_Acid_Length | アミノ酸単位のタンパク質の長さ(実際には、転写長を3で割ったもの)。 |
| Gene_Name | 遺伝子名 |
| Transcript_BioType | トランスクリプトのバイオタイプ(利用可能な場合)。 |
| Gene_Coding | `[CODING |
| Transcript_ID | トランスクリプトID(通常はENSEMBL ID) |
| Exon/Intron Rank | エクソンランクまたはイントロンランク(例:最初のエクソンの場合は '1'、2番目のエクソンの場合は '2' など) |
| Genotype_Number | このエフェクトに対応する遺伝子型番号(例:エフェクトが2番目のALTに対応する場合は '2') |
| Warnings / Errors | 警告またはエラー(空の場合は表示されません)。 |
通常、各 ANN (または EFF) フィールドには複数のアノテーションが報告されます。
これにはいくつかの理由があります:
-
バリアントが複数の遺伝子に影響を与える可能性があるため。例:あるバリアントがある遺伝子の下流(DOWNSTREAM)にあり、別の遺伝子の上流(UPSTREAM)にある場合など。
-
複雑な生物では、遺伝子は通常複数のトランスクリプトを持っています。そのため、SnpEffは各トランスクリプトに対するバリアントのエフェクトを報告します。 例:
#CHROM POS ID REF ALT QUAL FILTER INFO 1 889455 . G A . . .この場合、SnpEffは各遺伝子および各トランスクリプトに対する各バリアントのエフェクトを報告します(読みやすくするために出力を編集しています):
#CHROM POS ID REF ALT QUAL FILTER INFO 1 889455 . G A . . ANN=A|stop_gained|HIGH|NOC2L|ENSG00000188976|transcript|ENST00000327044|protein_coding|7/19|c.706C>T|p.Gln236*|756/2790|706/2250|236/749|| ,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000487214|processed_transcript||n.*865C>T|||||351| ,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000469563|retained_intron||n.*878C>T|||||4171| ,A|non_coding_exon_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000477976|retained_intron|5/17|n.2153C>T||||||;LOF=(NOC2L|ENSG00000188976|6|0.17);NMD=(NOC2L|ENSG00000188976|6|0.17)-
VCFの1行に複数のバリアントが含まれる場合があります。 例:リファレンスゲノムが 'G' で、サンプルが 'A' または 'T'(非二対立遺伝子バリアント)の場合、これは複数の代替バリアントを持つ1つのVCF行として報告されます(2つのALTがあることに注意してください):
#CHROM POS ID REF ALT QUAL FILTER INFO 1 889455 . G A,T . . .この場合、SnpEffは各ALTについて、各遺伝子および各トランスクリプトに対するエフェクトを報告します。 ENST00000327044には
stop_gainedバリアント (ALT = 'A') とmissense_variant(ALT = 'T') があることに注目してください。#CHROM POS ID REF ALT QUAL FILTER INFO 1 889455 . G A,T . . ANN=A|stop_gained|HIGH|NOC2L|ENSG00000188976|transcript|ENST00000327044|protein_coding|7/19|c.706C>T|p.Gln236*|756/2790|706/2250|236/749|| ,T|missense_variant|MODERATE|NOC2L|ENSG00000188976|transcript|ENST00000327044|protein_coding|7/19|c.706C>A|p.Gln236Lys|756/2790|706/2250|236/749|| ,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000487214|processed_transcript||n.*865C>T|||||351| ,T|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000487214|processed_transcript||n.*865C>A|||||351| ,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000469563|retained_intron||n.*878C>T|||||4171| ,T|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000469563|retained_intron||n.*878C>A|||||4171| ,A|non_coding_exon_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000477976|retained_intron|5/17|n.2153C>T|||||| ,T|non_coding_exon_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000477976|retained_intron|5/17|n.2153C>A||||||;LOF=(NOC2L|ENSG00000188976|6|0.17);NMD=(NOC2L|ENSG00000188976|6|0.
-
エフェクトのソート順。複数のエフェクトが報告される場合、SnpEffは以下の方法でエフェクトをソートします:
- 推定インパクト (Putative impact):より高い推定インパクトを持つエフェクトが最初に来ます。
- エフェクトタイプ (Effect type):より有害であると想定されるエフェクトが最初に来ます。
- Canonical(標準)トランスクリプトが非Canonicalよりも先。
- マーカーのゲノム座標(例:先に始まる遺伝子が先)。
SnpEffによって Effect および Effect_Impact サブフィールドで予測されるバリアントの機能的アノテーションの詳細説明。
注:
-
Effect (Sequence Ontology) Sequence ontology (SO) を使用することで、配列の変化と影響を評価するために使用される用語を標準化できます。 これにより、すべてのバリアントアノテーションプログラム間で共通の言語が可能になり、統一された用語を使用してコミュニケーションが容易になります。 バージョン4.0以降、VCF出力はデフォルトでSO用語を使用します。
-
Effect (Classic) これらはSnpEffで使用される「クラシック」なエフェクト名であり、
-classicコマンドラインオプションを使用してアクセスできます。 -
Effect impact エフェクトは「インパクト(影響度)」によって分類されます:{High (高), Moderate (中), Low (低), Modifier (修飾)}。これらは、ユーザーがより重要なバリアントを見つけるのを助けるための事前定義されたカテゴリです。
!!! warning インパクトカテゴリは注意して使用する必要があります。これらはフィルタリングプロセスを支援し、簡素化するためだけに作成されました。 当然のことながら、「高インパクト」または「低インパクト」のバリアントが、関心のある表現型を生み出すものであるかどうかを予測する方法はありません。
以下は、エフェクトと簡単な説明のリストです:
| Effect Seq. Ontology |
Effect Classic |
注釈 & 例 | Impact |
|---|---|---|---|
| coding_sequence_variant | CDS |
バリアントがCDS(コーディング領域)にヒットする。 | MODIFIER |
| chromosome | CHROMOSOME_LARGE_DELETION |
染色体の大部分(1%以上)が欠失した。 | HIGH |
| duplication | CHROMOSOME_LARGE_DUPLICATION |
大きな染色体セグメントの重複(1%または1,000,000塩基以上)。 | HIGH |
| inversion | CHROMOSOME_LARGE_INVERSION |
大きな染色体セグメントの逆位(1%または1,000,000塩基以上)。 | HIGH |
| coding_sequence_variant | CODON_CHANGE |
1つまたは複数のコドンが変化する。 例:サイズが3の倍数のMNP |
LOW |
| inframe_insertion | CODON_INSERTION |
1つまたは複数のコドンが挿入される。 例:コドン境界に3の倍数の挿入 |
MODERATE |
| disruptive_inframe_insertion | CODON_CHANGE_PLUS CODON_INSERTION |
1つのコドンが変化し、1つまたは複数のコドンが挿入される。 例:コドン境界ではない場所にサイズが3の倍数の挿入 |
MODERATE |
| inframe_deletion | CODON_DELETION |
1つまたは複数のコドンが欠失する。 例:コドン境界での3の倍数の欠失 |
MODERATE |
| disruptive_inframe_deletion | CODON_CHANGE_PLUS CODON_DELETION |
1つのコドンが変化し、1つまたは複数のコドンが欠失する。 例:コドン境界ではない場所でのサイズが3の倍数の欠失 |
MODERATE |
| downstream_gene_variant | DOWNSTREAM |
遺伝子の下流(デフォルト長:5K塩基)。 | MODIFIER |
| exon_variant | EXON |
バリアントがエクソン(非コーディングトランスクリプトの)または保持されたイントロンにヒットする。 | MODIFIER |
| exon_loss_variant | EXON_DELETED |
欠失によりエクソン全体が除去される。 | HIGH |
| exon_loss_variant | EXON_DELETED_PARTIAL |
エクソンの一部に影響を与える欠失。 | HIGH |
| duplication | EXON_DUPLICATION |
エクソンの重複。 | HIGH |
| duplication | EXON_DUPLICATION_PARTIAL |
エクソンの一部に影響を与える重複。 | HIGH |
| inversion | EXON_INVERSION |
エクソンの逆位。 | HIGH |
| inversion | EXON_INVERSION_PARTIAL |
エクソンの一部に影響を与える逆位。 | HIGH |
| frameshift_variant | FRAME_SHIFT |
挿入または欠失によりフレームシフトが発生する。 例:インデルサイズが3の倍数ではない |
HIGH |
| gene_variant | GENE |
バリアントが遺伝子にヒットする。 | MODIFIER |
| feature_ablation | GENE_DELETED |
遺伝子の欠失。 | HIGH |
| duplication | GENE_DUPLICATION |
遺伝子の重複。 | MODIFIER |
| gene_fusion | GENE_FUSION |
2つの遺伝子の融合。 | HIGH |
| gene_fusion | GENE_FUSION_HALF |
1つの遺伝子と遺伝子間領域の融合。 | HIGH |
| bidirectional_gene_fusion | GENE_FUSION_REVERSE |
反対方向の2つの遺伝子の融合。 | HIGH |
| rearranged_at_DNA_level | GENE_REARRANGEMENT |
1つ以上の遺伝子に影響を与える再編成。 | HIGH |
| intergenic_region | INTERGENIC |
バリアントが遺伝子間領域にある。 | MODIFIER |
| conserved_intergenic_variant | INTERGENIC_CONSERVED |
バリアントが高保存遺伝子間領域にある。 | MODIFIER |
| intragenic_variant | INTRAGENIC |
バリアントが遺伝子にヒットするが、遺伝子内のトランスクリプトにはヒットしない。 | MODIFIER |
| intron_variant | INTRON |
バリアントがイントロンにヒットする。厳密には、トランスクリプト内のどのエクソンにもヒットしない。 | MODIFIER |
| conserved_intron_variant | INTRON_CONSERVED |
バリアントが高保存イントロン領域にある。 | MODIFIER |
| miRNA | MICRO_RNA |
バリアントがmiRNAに影響を与える。 | MODIFIER |
| missense_variant | NON_SYNONYMOUS_CODING |
バリアントにより、異なるアミノ酸を生成するコドンになる。 例:Tgg/Cgg, W/R |
MODERATE |
| initiator_codon_variant | NON_SYNONYMOUS_START |
バリアントにより、開始コドンが別の開始コドンに変異する(新しいコドンは異なるAAを生成する)。 例:Atg/Ctg, M/L (ATGとCTGはSTARTコドンになり得る) |
LOW |
| stop_retained_variant | NON_SYNONYMOUS_STOP |
バリアントにより、停止コドンが別の停止コドンに変異する(新しいコドンは異なるAAを生成する)。 例:Atg/Ctg, M/L (ATGとCTGはSTARTコドンになり得る) [訳注: 原文の説明は開始コドンのコピペミスの可能性がありますが、Stop Retainedは通常、停止コドンが別の停止コドンに変わることを指します] |
LOW |
| protein_protein_contact | PROTEIN_PROTEIN_INTERACTION_LOCUS |
タンパク質間相互作用部位。 | HIGH |
| structural_interaction_variant | PROTEIN_STRUCTURAL_INTERACTION_LOCUS |
タンパク質内部の相互作用部位(例:構造的コンフォメーションを助ける可能性のある、同じタンパク質内で接触している2つのAA)。 | HIGH |
| rare_amino_acid_variant | RARE_AMINO_ACID |
バリアントが希少アミノ酸にヒットするため、タンパク質の機能喪失を引き起こす可能性が高い。 | HIGH |
| splice_acceptor_variant | SPLICE_SITE_ACCEPTOR |
バリアントがスプライスアクセプターサイト(最初のエクソンを除く、エクソン開始の2塩基前と定義)にヒットする。 | HIGH |
| splice_donor_variant | SPLICE_SITE_DONOR |
バリアントがスプライスドナーサイト(最後のエクソンを除く、コーディングエクソン終了の2塩基後と定義)にヒットする。 | HIGH |
| splice_region_variant | SPLICE_SITE_REGION |
スプライスサイト領域内(エクソンの1-3塩基以内、またはイントロンの3-8塩基以内)で変化が発生した配列バリアント。 | LOW |
| splice_region_variant | SPLICE_SITE_BRANCH |
イントロンに位置する推定(ラリアット)分岐点に影響を与えるバリアント。 | LOW |
| splice_region_variant | SPLICE_SITE_BRANCH_U12 |
イントロンに位置する、U12スプライシング機構からの推定(ラリアット)分岐点に影響を与えるバリアント。 | MODERATE |
| stop_lost | STOP_LOST |
バリアントにより、停止コドンが非停止コドンに変異する。 例:Tga/Cga, */R |
HIGH |
| 5_prime_UTR_premature_ start_codon_gain_variant |
START_GAINED |
5'UTR領域のバリアントにより、STARTコドンになり得る3塩基配列が生成される。 | LOW |
| start_lost | START_LOST |
バリアントにより、開始コドンが非開始コドンに変異する。 例:aTg/aGg, M/R |
HIGH |
| stop_gained | STOP_GAINED |
バリアントにより、STOPコドンが生じる。 例:Cag/Tag, Q/* |
HIGH |
| synonymous_variant | SYNONYMOUS_CODING |
バリアントにより、同じアミノ酸を生成するコドンになる。 例:Ttg/Ctg, L/L |
LOW |
| start_retained | SYNONYMOUS_START |
バリアントにより、開始コドンが別の開始コドンに変異する。 例:Ttg/Ctg, L/L (TTGとCTGはSTARTコドンになり得る) |
LOW |
| stop_retained_variant | SYNONYMOUS_STOP |
バリアントにより、停止コドンが別の停止コドンに変異する。 例:taA/taG, */* |
LOW |
| transcript_variant | TRANSCRIPT |
バリアントがトランスクリプトにヒットする。 | MODIFIER |
| feature_ablation | TRANSCRIPT_DELETED |
トランスクリプトの欠失。 | HIGH |
| regulatory_region_variant | REGULATION |
バリアントが既知の制御フィーチャー(非コーディング)にヒットする。 | MODIFIER |
| upstream_gene_variant | UPSTREAM |
遺伝子の上流(デフォルト長:5K塩基)。 | MODIFIER |
| 3_prime_UTR_variant | UTR_3_PRIME |
バリアントが3'UTR領域にヒットする。 | MODIFIER |
| 3_prime_UTR_truncation + exon_loss | UTR_3_DELETED |
バリアントにより、トランスクリプトの3'UTRにあるエクソンが欠失する。 | MODERATE |
| 5_prime_UTR_variant | UTR_5_PRIME |
バリアントが5'UTR領域にヒットする。 | MODIFIER |
| 5_prime_UTR_truncation + exon_loss_variant | UTR_5_DELETED |
バリアントにより、トランスクリプトの5'UTRにあるエクソンが欠失する。 | MODERATE |
| sequence_feature + exon_loss_variant | NEXT_PROT |
'NextProt' ベースのアノテーション。詳細は 'feature type' サブフィールド (ANN)、またはエフェクト詳細 (EFF) に記載されています。 | MODERATE |
これらは、生物において非常に稀にしか発生しないアミノ酸です。例えば、ヒトは20種類のアミノ酸を使用するとされていますが、1つの希少アミノ酸も存在します。セレノシステイン(1文字コード 'U')は、全ゲノム中で約100回出現します。 このアミノ酸は非常に稀であるため、通常コドン翻訳テーブルには表示されません。これはUGAとしてエンコードされますが、UGAは通常STOPコドンを意味します。二次RNA構造がこの特別な翻訳を可能にすると考えられています。
これらの部位のバリアントは、タンパク質の機能喪失を引き起こす可能性が高いです。例えば、セレノシステインの場合、セレン分子の喪失は機能喪失を引き起こす可能性が高いです。簡単に言えば、そこに非標準的なアミノ酸を配置するために多大な労力が払われているとすれば、それは重要であるに違いないという仮定です。RARE_AMINO_ACIDマークは、これらのケースで特別な注意を払うべきであることを示すために使用されます。
!!! warning バリアントがRARE_AMINO_ACIDマークにヒットする場合、'old_AA/new_AA' フィールドが正しくない可能性があります。これは、アミノ酸がコドンテーブルを使用して予測できないために発生する可能性があります。
タンパク質相互作用は、PDB または AlphaFold から計算されます。相互作用には主に2つのタイプがあります:
protein_protein_contact:これらは「タンパク質間」相互作用部位です。これらはPDBの共結晶構造から、互いに3オングストローム以内の原子を持つ異なるタンパク質のアミノ酸ペアを推測することによって計算されます。structural_interaction_variant:これらは「タンパク質内」相互作用部位であり、タンパク質構造を支えている可能性があります。 これらは単一タンパク質のPDBエントリから、以下の条件を満たすアミノ酸を選択することによって計算されます: a) 原子が互いに3オングストローム以内であること、かつ b) AA配列上で遠く離れていること(20AA以上の距離)。 距離が非常に近いということは、それらが「相互作用」しており、タンパク質構造にとって重要であるに違いないという仮定に基づいています。
SnpEffは、バリアントを迅速に分類し優先順位付けしやすくするために、推定されるバリアントのインパクト(影響度)を報告します。
!!! warning
インパクトカテゴリは注意して使用する必要があります。これらはフィルタリングプロセスを支援し、簡素化するためだけに作成されました。
当然のことながら、HIGH(高)インパクトまたは LOW(低)インパクトのバリアントが、関心のある表現型を生み出すものであるかどうかを予測する方法はありません。
| Impact | 意味 | 例 |
|---|---|---|
HIGH |
バリアントはタンパク質に高い(破壊的な)影響を与えると想定され、おそらくタンパク質のトランケーション(短縮)、機能喪失、またはナンセンス変異依存分解(NMD)を引き起こします。 | stop_gained, frameshift_variant |
MODERATE |
タンパク質の有効性を変化させる可能性がある非破壊的なバリアント。 | missense_variant, inframe_deletion |
LOW |
ほとんど無害であるか、タンパク質の挙動を変える可能性が低いと想定されます。 | synonymous_variant |
MODIFIER |
通常、非コーディングバリアントや非コーディング遺伝子に影響を与えるバリアントであり、予測が困難であるか、影響の証拠がありません。 | exon_variant, downstream_gene_variant |
バリアントがタンパク質コーディングトランスクリプト内の単一ヌクレオチド(SNV)である場合、SnpEffは「機能クラス (Functional class)」を推測します。
機能クラスは以下のように推測されます:
| Functional Class | 意味 |
|---|---|
SILENT |
バリアント変化後もコドンは同じままです |
MISSENSE |
バリアント変化後にコドンが変化します |
NONSENSE |
コドンがSTOPコドンに変化しました |
機能喪失('LOF': Loss of function)およびナンセンス変異依存分解('NMD': nonsense-mediated decay)の予測。
古いバージョンでは、この予測はコマンドラインオプション -lof を使用して有効化されていましたが、バージョン4.0以降はデフォルトで有効になっています。
これらのバリアントがどのように機能するかについての詳細は、こちらのスライドにあります。
!!! info バージョン4.0以降、このオプションはデフォルトで有効になっています。
一連のエフェクトが「機能喪失」および「ナンセンス変異依存分解」エフェクトを作成できるかどうかを分析します。
言うまでもなく、これは「推定エフェクト」のグループの分析に基づく予測です。「真の」LOFを推測するには、適切なウェットラボでの検証が必要です。
参考文献: 以下の論文で使用されているLOFの定義を使用しました。[疑わしいリンクは削除されました]
!!! info 論文より:
*我々は、影響を受けるトランスクリプトの完全な機能喪失と相関すると予想されるLoFバリアントの定義を採用しました:停止コドンを導入する(ナンセンス)またはスプライスサイトを破壊する単一ヌクレオチドバリアント(SNV)、トランスクリプトのリーディングフレームを破壊すると予測される挿入/欠失(インデル)バリアント、または影響を受けるトランスクリプトの最初のエクソンまたはタンパク質コーディング配列の50%以上を除去する大きな欠失。*
*ナンセンスSNVとフレームシフトインデルの両方が、影響を受ける遺伝子の3'末端に向かって濃縮されており、これはコーディング配列の末端に近いトランケーションに対する耐性が高いことと一致しています。したがって、コーディング領域の最後の5%で特定された推定LoFバリアントは、我々の高信頼性セットから体系的に除去されました。*
LOF/NMD計算に使用されるその他のパラメータ:
- ナンセンス変異依存分解が発生すると想定される、最後のエクソン-エクソン接合部より前の塩基数:50
- タンパク質の最後の5%でタンパク質コーディングの変化があっても、タンパク質は依然として機能的である可能性があると想定されます。
- タンパク質の最初の5%でタンパク質コーディングの変化があっても、次のように想定されます:「...一部の破壊されたトランスクリプトは、代替開始コドンでの転写再開によって救済されることを示唆しています。」
- 影響を受けるトランスクリプトの最初のエクソンまたはタンパク質コーディング配列の50%以上を除去する大きな欠失
使用例:
# 注: バージョン4.0以降、'-lof' コマンドラインオプションは不要です
java -Xmx8g -jar snpEff.jar -v \
-lof \
GRCh37.75 \
test.chr22.vcf > test.chr22.ann.vcf
SnpEffはINFOフィールド(VCFフォーマットの8列目)に 'LOF' および 'NMD' タグを追加します。LOFおよびNMDタグのフォーマットは以下の通りです:
Gene | ID | num_transcripts | percent_affected
ここで:
| Field | Description |
|---|---|
| Gene | 遺伝子名 |
| ID | 遺伝子ID(通常はENSEMBL) |
| Num_transcripts | この遺伝子のトランスクリプト数 |
| percent_affected | このバリアントの影響を受けるトランスクリプトの割合 |
例:以下のエフェクトがある場合
EFF=stop_gained(LOW|NONSENSE|Gga/Tga|p.Gly163*/c.487G>T|574|GAB4|protein_coding|CODING|ENST00000400588|3|1),...
対応するLOFおよびNMDタグは以下のようになります
LOF=(GAB4|ENSG00000215568|4|0.25);NMD=(GAB4|ENSG00000215568|4|0.25)
LOFタグの意味は以下の通りです:
| Field | Description |
|---|---|
| Gene | GAB4 |
| ID | ENSG00000215568 |
| Num_transcripts | この遺伝子には4つのトランスクリプトがあります |
| percent_affected | トランスクリプトの25%がこのバリアントの影響を受けています。 |
前のセクションで述べたように、EFFフィールドの最後のサブフィールドにはエラーまたは警告が表示されます(ある場合)。 以下はエラーと警告の説明です:
| Error | 意味と可能な解決策 |
|---|---|
ERROR_CHROMOSOME_NOT_FOUND |
染色体がリファレンスデータベースに存在しません。通常、入力ファイルの染色体名とリファレンスで使用されている染色体名の不一致を示します。詳細については、このFAQを参照してください。 |
ERROR_OUT_OF_CHROMOSOME_RANGE |
これは、位置が染色体の長さよりも大きいことを意味します。おそらく、データがこのリファレンスゲノムのものではないことを示しています。 |
ERROR_OUT_OF_EXON |
エキソン情報が座標と一致していません。データベースの問題(またはバグ?)を示しています。 |
ERROR_MISSING_CDS_SEQUENCE |
トランスクリプトにCDS情報がありません。データベースの問題(またはバグ?)を示しています。 |
| Warning | 意味と可能な解決策 |
|---|---|
WARNING_REF_DOES_NOT_MATCH_GENOME |
これは、REF フィールドがリファレンスゲノムと一致しないことを意味します。警告! この警告は、おそらくデータに重大な問題があることを示しています! これは、データがSnpEffのデータベース作成に使用されたものとは異なるリファレンスゲノムにアラインメントされた場合に発生します。これらの警告が多い場合、データが一致していないことを強く示唆しており、すべてのアノテーションはゴミになります(間違ったデータベースを使用しているため)。 解決策: アノテーションには正しいデータベースを使用してください! パフォーマンスとメモリの最適化のため、SnpEffはエクソン上のリファレンス配列のみをチェックします。 |
WARNING_SEQUENCE_NOT_AVAILABLE |
何らかの理由でエクソン配列が利用できないため、エフェクトを計算できません。 |
WARNING_TRANSCRIPT_INCOMPLETE |
長さが3の倍数ではないタンパク質コーディングトランスクリプト。これは、1つ以上のアミノ酸の情報が欠落していることを意味します。 これは通常、ゲノム情報の誤り(例:UCSCやENSEMBLによって提供されるゲノムデータベース)によるものです。ゲノム情報データベースは常に改善され、より正確になっていますが、一部のエラーは依然として残っています。 |
WARNING_TRANSCRIPT_MULTIPLE_STOP_CODONS |
タンパク質コーディングトランスクリプトのコーディング配列(CDS)の中間に2つ以上のSTOPコドンがあります。これは発生するはずがなく、通常、このトランスクリプトのゲノム情報にエラーがある可能性があります。 これは通常、ゲノム情報の誤り(例:UCSCやENSEMBLによって提供されるゲノムデータベース)によるものです。ゲノム情報データベースは常に改善され、より正確になっていますが、一部のエラーは依然として残っています。 |
WARNING_TRANSCRIPT_NO_START_CODON |
タンパク質コーディングトランスクリプトに適切なSTARTコドンがありません。実際のトランスクリプトにSTARTコドンがないことは稀であるため、これはおそらくこのトランスクリプトのゲノム情報のエラーを示しています(例:UCSCやENSEMBLによって提供されるゲノムデータベース)。 ゲノム情報データベースは常に改善され、より正確になっていますが、一部のエラーは依然として残っています。 |
| Info | 意味 |
|---|---|
INFO_REALIGN_3_PRIME |
バリアントはトランスクリプト内の最も3'側の位置に再アラインメントされました。これは通常、常に最も3'側のアノテーションを報告するというHGVS仕様に準拠するために行われます。 |
INFO_COMPOUND_ANNOTATION |
このエフェクトは、複数のバリアント(例:MNPを構成する2つの連続したSNP、またはフレームを補正する2つの連続したフレームシフトバリアント)を組み合わせた結果です。 |
INFO_NON_REFERENCE_ANNOTATION |
このアノテーションを計算するために代替リファレンス配列が使用されました(例:体細胞 vs 生殖細胞系列を比較するがんサンプル)。 |
ChIP-Seqなどのエンリッチメント実験では、結果は通常「ピーク」と呼ばれるエンリッチメント領域となります。 「ピークコーラー」(エンリッチメントを検出するアルゴリズム)が、結果をBEDファイルに書き出すことは一般的です。 SnpEffは、エンリッチメント実験の解釈を容易にするためにBEDファイルをアノテーションできます。
!!! warning BEDファイルフォーマットを使用する場合、5列目以降は無視され、出力ファイルでは失われます。
SnpEffは、エンリッチメント実験の解釈を容易にするためにBEDファイルをアノテーションできます。 アノテーションはBEDファイルの4列目に追加されます。
例:
$ java -Xmx8g -jar snpEff.jar -i bed BDGP5.69 chipSeq_peaks.bed
# SnpEff version 3.3 (build 2013-05-15), by Pablo Cingolani
# Command line: SnpEff -i bed BDGP5.69 /home/pcingola/fly_pvuseq/chipSeq/Sample_w1118_IP_w_5hmC/w1118_IP_w_5hmC_peaks.bed
# Chromo Start End Name;Effect|Gene|BioType Score
2L 189463 190154 MACS_peak_1;Exon|exon_6_12_RETAINED|FBtr0078122|protein_coding|spen|protein_coding;Exon|exon_5_10_RETAINED|FBtr0078123|protein_coding|spen|protein_coding;Exon|exon_7_13_RETAINED|FBtr0306341|protein_coding|spen|protein_coding;Exon|exon_6_11_RETAINED|FBtr0078121|protein_coding|spen|protein_coding 245.41
2L 195607 196120 MACS_peak_2;Exon|exon_6_12_RETAINED|FBtr0078122|protein_coding|spen|protein_coding;Exon|exon_5_10_RETAINED|FBtr0078123|protein_coding|spen|protein_coding;Exon|exon_7_13_RETAINED|FBtr0306341|protein_coding|spen|protein_coding;Exon|exon_6_11_RETAINED|FBtr0078121|protein_coding|spen|protein_coding 51.22
2L 527253 527972 MACS_peak_3;Intron|intron_2_RETAINED-RETAINED|FBtr0078063|protein_coding|ush|protein_coding 55.97
2L 711439 711764 MACS_peak_4;Intron|intron_1_RETAINED-RETAINED|FBtr0078045|protein_coding|ds|protein_coding 61.16
2L 1365255 1365556 MACS_peak_5;Upstream|FBtr0077927|protein_coding|CG14346|protein_coding;Upstream|FBtr0077926|protein_coding|CG14346|protein_coding;Intergenic|NLaz...CG14346;Upstream|FBtr0077942|protein_coding|NLaz|protein_coding 62.78
2L 1970199 1970405 MACS_peak_6;Upstream|FBtr0077813|protein_coding|Der-1|protein_coding;Intergenic|tRNA:CR31942...Der-1;Downstream|FBtr0077812|tRNA|tRNA:CR31942|tRNA 110.34
2L 3345637 3346152 MACS_peak_7;Intron|intron_2_ALTTENATIVE_3SS-ALTTENATIVE_3SS|FBtr0089979|protein_coding|E23|protein_coding;Intron|intron_3_ALTTENATIVE_3SS-ALTTENATIVE_3SS|FBtr0089981|protein_coding|E23|protein_coding 65.49
2L 4154734 4155027 MACS_peak_8;Intergenic|CG2955...Or24a;Downstream|FBtr0077468|protein_coding|CG2955|protein_coding 76.92
2L 4643232 4643531 MACS_peak_9;Downstream|FBtr0110769|protein_coding|BG642163|protein_coding;Exon|exon_2_2_RETAINED|FBtr0300354|protein_coding|CG15635|protein_coding 76.92
ピークが複数のトランスクリプト、あるいは複数の遺伝子と交差する場合、各アノテーションはセミコロンで区切られます。 したがって、先ほどの結果をより詳細に見ると、最初の行は以下のようになります(読みやすくするためにフォーマットを編集しています):
2L 189463 190154 MACS_peak_1;Exon|exon_6_12_RETAINED|FBtr0078122|protein_coding|spen|protein_coding
;Exon|exon_5_10_RETAINED|FBtr0078123|protein_coding|spen|protein_coding
;Exon|exon_7_13_RETAINED|FBtr0306341|protein_coding|spen|protein_coding
;Exon|exon_6_11_RETAINED|FBtr0078121|protein_coding|spen|protein_coding
このピークは、遺伝子 'spen' 内の4つのトランスクリプト (FBtr0078122, FBtr0078123, FBtr0306341, FBtr0078121) にヒットしています。
エクソン識別子のフォーマットは exon_Rank_Total_Type です。ここで:
rankはトランスクリプト内のエクソンランク(トランスクリプト内の位置)totalはそのトランスクリプト内のエクソンの総数typeはエクソンのスプライスタイプです。
例えば、exon_5_10_RETAINED は、10エクソンのトランスクリプト内の5番目のエクソンとなります。
このエクソンは "RETAINED" タイプであり、スプライシングで除去されていないことを意味します。
エクソンはスプライシングによって以下のように分類されます:
NONE: スプライスされないRETAINED: すべてのトランスクリプトがこのエクソンを持つSKIPPED: 一部のトランスクリプトはこれをスキップするALTTENATIVE_3SS: 一部のトランスクリプトは代替3'エクソン開始を持つALTTENATIVE_5SS: 一部のトランスクリプトは代替5'エクソン終了を持つMUTUALLY_EXCLUSIVE: 相互排他的(他のエクソンに関して)ALTTENATIVE_PROMOMOTER: 一部のトランスクリプトで最初のエクソンが異なるALTTENATIVE_POLY_A: 最後のエクソン
エクソンスプライスタイプの詳細については、このWikipediaのエントリを参照してください。
エクソンと同様に、イントロンは intron_Rank_ExonTypeBefore-ExonTypeAfter と命名されます。ここで:
Rank: トランスクリプト内のこのイントロンのランク番号ExonTypeBefore: このイントロンの前のエクソンのスプライシングタイプ(詳細はエクソン命名規則を参照)。ExonTypeAfter: このイントロンの後のエクソンのスプライシングタイプ(詳細はエクソン命名規則を参照)。
例えば、intron_9_SKIPPED-RETAINED はトランスクリプトの9番目のイントロンとなります。
このイントロンの前には SKIPPED エクソンがあり、後には RETAINED エクソンが続きます。