コピー数変動(CNV)は、不均衡な構造リアレンジメントの重要なカテゴリーである。ハイスループットなターゲットシーケンスでCNVを検出する方法はますます洗練されてきているが、これらのデータからCNVをインタラクティブかつ動的に可視化するための専用ツールはまだ不足している。著者らは、次世代シーケンシング(NGS)データから検出されたCNVを表示・要約するためのインタラクティブで注釈付きのWebベースのダッシュボードを作成するツール、 reconCNVについて説明する。reconCNVの出力は、最新のWebブラウザで閲覧可能なHTMLファイルで、バックエンドサーバーを必要とせず、既存の解析パイプラインに簡単に追加することができる。相対的な倍率変化と絶対コピー数を可視化するための標準的なCNVトラックに加えて、このツールには、基礎となる対立遺伝子の不均衡とヘテロ接合性の喪失を可視化するための補助的なバリアント・アレルフラクション・トラックが含まれている。アッセイ固有の技術的なartifactsをマスクする機能や、UCSCゲノムブラウザへの直接HTMLリンクも含まれており、レビュアの経験を向上させる。既存のNGS CNVパイプラインにインタラクティブな可視化のための軽量プラグインを提供することで、 reconCNVは、研究と臨床の両方の環境において、効率的なNGS CNVの可視化と解釈を促進する。ソースコードとチュートリアルを含むドキュメントは https://github.com/rghu/reconCNV に、Docker イメージは https://hub.docker.com/repository/docker/raghuc1990/reconcnv にある。
インストール
オーサーの説明の通り、condaでpython3.6の仮想環境を作り、その仮想環境内でpipを使って依存を導入する。pythonを指定してcondaの仮想環境を作ることで、pipも導入されることになる。仮想環境のpipでライブラリやツールをインストールすると、pipは仮想環境のパスにライブラリを導入する。condaとpipを併用して依存ライブラリを導入するような危険なことをやっても、本環境に影響することはない。
conda create -n reconCNV python=3.6
conda activate reconCNV
git clone https://github.com/rghu/reconCNV.git
cd reconCNV/
pip install --user --requirement requirements.txt
#docker image
docker pull raghuc1990/reconcnv:latest
> python reconCNV.py -h
$ python reconCNV.py -h
usage: reconCNV.py [-h] --ratio-file RATIO_FILE --genome-file GENOME_FILE
--config-file CONFIG_FILE --out-dir OUT_DIR --out-file
OUT_FILE [--seg-file SEG_FILE] [--gene-file GENE_FILE]
[--seg-blacklist SEG_BLACKLIST]
[--annotation-file ANNOT_FILE] [--vcf-file VCF_FILE]
[--recenter RECENTER] [--vcf-filt-file]
[--vcf-blacklist BED_BLACKLIST] [--purity PURITY]
[--ploidy PLOIDY] [--gender GENDER] [--verbose] [--version]
Visualize CNV data from short read sequencing data.
optional arguments:
-h, --help show this help message and exit
--ratio-file RATIO_FILE, -r RATIO_FILE
File which contains the log2(FC) of bins between the
tumor sample and another normal sample. [Required]
--genome-file GENOME_FILE, -x GENOME_FILE
File which contains chromosome length and cumulative
genomic length. [Required]
--config-file CONFIG_FILE, -c CONFIG_FILE
File which contains plot options and column name
customizations. [Required]
--out-dir OUT_DIR, -d OUT_DIR
Directory to place output files. [Required]
--out-file OUT_FILE, -o OUT_FILE
Output file name (file will be placed in output dir -
enter only filename). [Required]
--seg-file SEG_FILE, -s SEG_FILE
File which contains the segmentation of log2(FC) bin
values between the tumor sample and normal sample.
--gene-file GENE_FILE, -g GENE_FILE
File which contains gene calling information.
--seg-blacklist SEG_BLACKLIST, -t SEG_BLACKLIST
BED file of problematic copy number regions to
highlight.
--annotation-file ANNOT_FILE, -a ANNOT_FILE
File which contains gene/exon information.
--vcf-file VCF_FILE, -v VCF_FILE
VCF containing variants to plot VAF.
--recenter RECENTER, -y RECENTER
Recenter to provided log2(FC).
--vcf-filt-file, -f Flag to output filtered variants used for plotting
VAFs. (applicable only if providing VCF)
--vcf-blacklist BED_BLACKLIST, -b BED_BLACKLIST
File containing variants to NOT plot VAF. (applicable
only if providing VCF)
--purity PURITY, -p PURITY
Purity of the sample.
--ploidy PLOIDY, -l PLOIDY
Ploidy of the sample.
--gender GENDER, -z GENDER
Ploidy of the sample.
--verbose, -j Verbose logging output
--version show program's version number and exit
テストラン
欄にはCNVkitなどで分析して得たratio file (link)とchromosome length file (link)が必要。
cd reconCNV/
mkdir results
python3 reconCNV.py -r data/sample_data/HT-29.cnr -x data/hg19_genome_length.txt -d results/ -o HT-29.html -c config.json
- -o Output file name (file will be placed in output dir -enter only filename). [Required]
- -c File which contains plot options and column name customizations. [Required]
- -d Directory to place output files. [Required]
出力
HT-29.html (ゲノム座標とビンインデックス(ビンのシーケンシャルラインアップ))
UCSC genome browser(hg19)とリンクしている。
他にも様々な使用方法があります。Githubを確認して下さい。
引用
reconCNV: Interactive visualization of copy number data from high-throughput sequencing
Raghu Chandramohan, Nipun Kakkar, Angshumoy Roy, D Williams Parsons
Bioinformatics, Published: 21 August 2020
関連