アメリエフの技術ブログ

Amelieff Staff Blog

CNVの偽陽性を検出するCNVfilteR

コピー数多型(CNV) は、 ゲノム変異のうち、ゲノム DNA の配列のコピー数が通常の2つと異なるものです。
DNA配列の挿入や欠失、重複によっておこると考えられ、疾患の原因となることがあります。

次世代シーケンサ(NGS)でゲノムDNAを測定し、CNVを検出することができます。
一方でどうしても偽陽性 false positive が出てくることは避けられません。

Bioinformatics にて、germline CNV検出結果から false positiveを検出するツールが掲載されていました。

さまざまなソフトウェアによるCNV検出結果から最大で40%以上の偽陽性を検出し、 F1-srore*1も向上したといいます。

academic.oup.com

仕組みを意訳します📈

まず、CNV領域上の一塩基多型(SNVs)を利用して、 CNVのコピー数とSNVのアレル頻度の整合性を調べます。
・例えばコピー数が減っている(つまり染色体の片方にしかない領域がある)とき、 SNVのアレル頻度は0 か1 になるはず*2
・例えばコピー数が1つ増えるとき、SNVのアレル頻度は 0, 1のほか 0.33 や 0.66 になるはず。(対立遺伝子が計3つあるから)

この予測に反する場合、SNVかCNVのどちらかが間違っていると考えられますが、
SNVs間の距離や個数などをスコア化して、閾値を超えるかどうかを判定することで CNVが偽陽性かどうか決定します。 (言い換えると、同じゲノム領域についてSNV検出とCNV検出のどちらを信じるか決めます)

Rパッケージをインストール

Rパッケージとして実装されており、 Bioconductorからダウンロードできます。

http://bioconductor.org/packages/release/bioc/html/CNVfilteR.html

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("CNVfilteR")

library(CNVfilteR)

名前が CNVfilteR なので、Rパッケージだなって僕は最初から分かってましたよ😎

*1: http://ibisforest.org/index.php?F値

*2:そもそも検出されているSNVについてなのでアレル頻度は1になるが