コピー数バリエーション(CNV)を含むゲノム構造変化(SV)は、ヒト個体間のバリエーションに大きく寄与し、SNPと同様にヒト表現型に大きな影響を及ぼすと考えられている(論文より Feuk et al、2006; Sharp et al、2006)。当初、CNVはSNPおよびCGHアレイデータの分析から検出されたが(Carter 2007)、これは依然としてCNV発見および遺伝子型決定のための費用対効果の高い方法である(Conrad et al 2009)。クローンベースのシーケンシング(Kidd et al 2008)、ペアエンドマッピング(Korbel et al 2007,2009)、スプリットリード(SR)マッピング(Mills et al 2006)のような新しいシーケンシングベースの手法は(CNVnatorのペーパーは2011年にpublishされた)、 より多くのCNVの発見を可能にする貴重な代替手段である。(一部略)シーケンシングベースのアプローチの大きな利点は、以下に示すように、それらがお互いを補完し、すべてのシーケンスデータ(例えば、イルミナによる全ゲノムペアエンドシーケンシング)に適用できることである。
ここでは、次世代シーケンシングプラットフォームからのショートリードのマッピング密度、すなわちread-depth (RD) の統計分析からCNVを検出するための新規方法CNVnatorを提示する。 RDを用いたこれまでのアプローチは、ゲノムの固有の領域のみに限定されていた(Bentley et al 2008; Campbell et al 2008; Chiang et al 2009)(一部略)。 CNVnatorは、ゲノム全体で数百塩基からメガベースまでの広範なサイズのCNVを発見することができる。 1000 Genomes Project(Durbin et al 2010)のデータを使用することにより、CNVnatorのCNV検出および遺伝子型同定能力を実験的に検証し、CNV検出能力の特異性および精度を実証した。
CNVnatorのPublishは2011年ですが、他のツールによく組み込まれているので紹介しておきます。(注;レポジトリに使い方のまとめが書かれています)
インストール
非公式のdockerイメージを使ってテストした。ソースからビルドする場合は以下を参照してください。
- ROOT(リンク)
ROOTはバイナリをダウンロードし、本体ビルド前にbin/で"source thisroot.sh"しておく。本体は、Github リリースからCNVnator_v0.3.3.zipをダウンロードし、解凍して中に入る。
#まず依存のsamtoolsのビルド
cd src/samtools
make
cd ../
make omp=no #Github topページ参照
./cnvnator
#or
sudo apt install root-system libtbb-dev
git clone https://github.com/abyzovlab/CNVnator.git
cd CNVnator
make
#conda
mamba install -c bioconda cnvnator
BioInstallerを使っても導入可能です。
https://cran.r-project.org/web/packages/BioInstaller/vignettes/BioInstaller.html
dockerコンテナを共有してくれている方が何人かいます。
https://hub.docker.com/r/wwliao/cnvnator/
docker pull timothyjamesbecker/cnvnator
> docker run -i -t --rm timothyjamesbecker/cnvnator
$ docker run -i -t --rm wwliao/cnvnator cnvnator
Not enough parameters.
CNVnator v0.3.3
Usage:
cnvnator -root out.root [-genome name] [-chrom 1 2 ...] -tree file1.bam ...
cnvnator -root out.root [-genome name] [-chrom 1 2 ...] -merge file1.root ...
cnvnator -root file.root [-genome name] [-chrom 1 2 ...] [-d dir] -his bin_size
cnvnator -root file.root [-chrom 1 2 ...] -stat bin_size
cnvnator -root file.root -eval bin_size
cnvnator -root file.root [-chrom 1 2 ...] -partition bin_size [-ngc]
cnvnator -root file.root [-chrom 1 2 ...] -call bin_size [-ngc]
cnvnator -root file.root -genotype bin_size [-ngc]
cnvnator -root file.root -view bin_size [-ngc]
cnvnator -pe file1.bam ... -qual val(20) -over val(0.8) [-f file]
Valid genomes (-genome option) are: NCBI36, hg18, GRCh37, hg19, mm9
ラン
CNVnator はすべての解析作業を、ROOTファイル形式という専用のバイナリ形式ファイルを使って進める。.root ファイルは、下流解析のデータベースとしても機能している。下で"-root sample.root"と書いているのは、出力形式を指定している(フローで一貫して同じ .root ファイル名を指定する)。アラインメントのbamファイルはユーザーが用意する必要がある。
1、rootファイルを作成。chromosomeの"chr20"、"chr21"、"chr22"を分析する。dockerのメモリ上限は100gとした。
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator \
/software/cnvnator_0.3/cnvnator -root file.root -tree input.bam
#イメージ中で作業するなら
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator bash
/software/cnvnator_0.3/cnvnator -h
file.rootが出力される。ファイルサイズはヒトゲノムだと100MB以上あることが多い。ファイルサイズが4MBとか小さい場合、空のファイルが出来ている可能性があるので注意。
2、得られたrootファイルを使い、 binサイズ1000でヒストグラムを計算。
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator \
/software/cnvnator_0.3/cnvnator -root NA12878.root -his 1000
rootファイルに情報が追記される。
3、統計量を計算。2の数値と一致している必要がある。
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator \
/software/cnvnator_0.3/cnvnator -root NA12878.root -stat 1000
出力例

3、ゲノムのロード
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator \
/software/cnvnator_0.3/cnvnator -root NA12878.root -genome human.fasta
rootファイルに情報が追記される。
4、ヒストグラムを作成。
docker run -m "100g" --rm -itv $PWD:/data -w /data --rm timothyjamesbecker/cnvnator \
/software/cnvnator_0.3/cnvnator -root NA12878.root -chrom "chr1" "chr2" -his 1000
5、CNV候補領域を分割して評価する際の最小サイズ(partition)を指定。
docker run -i -t --rm -v /Users/uesaka/Documents/input_file:/test wwliao/cnvnator cnvnator -unique -root out.root -partition 1000
rootファイルに情報が追記される。
6、CNVのコール。先にpartition指定を行っておく必要がある。
docker run -i -t --rm -v /Users/uesaka/Documents/input_file:/test wwliao/cnvnator cnvnator -unique -root out.root -call 1000
コメント
genomeのfastaファイルの配列名はchr1,2,3 などを前提としているようです。
使い方を確認する場合はGithub READMEに書かれているまとめがわかりやすいと思いますが、バージョンによってオプションが違ったりするので注意して下さい。
引用
CNVnator: an approach to discover, genotype, and characterize typical and atypical CNVs from family and population genome sequencing
Abyzov A, Urban AE, Snyder M, Gerstein M
Genome Res. 2011 Jun;21(6):974-84.
Biostars build failed