macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

体細胞コピー数変化イベントを調べるFACETSをワンライナーで実行するcnv_facets

 2019 12/27 誤字修正

 

 Cancer Genome Atlas(TCGA)およびInternational Cancer Genome Consortium(ICGC)プロジェクトを含む大規模なシーケンス研究により、腫瘍と正常なサンプルペアの何万もの全ゲノム(WGS)および全エキソーム(WES)が生成された。対立遺伝子特異的コピー数解析は、変異の同定を超えてシーケンシングデータの有用性を大幅に拡張できる。ここでは次世代シーケンス(NGS)データ用のllele-specific copy number analysis (ASCN) パイプラインおよびオープンソースソフトウェアであるFACETS(Fraction and Allele-Specific Copy Number Estimates from Tumor Sequencing)を紹介する。

 ASCN分析には、従来の総コピー数分析と比較していくつかの大きな利点がある。第一に、総コピー数のみを分析することでは検出できないコピー中立的なヘテロ接合性喪失(LOH)イベントを含む、コピー数異常のより包括的な識別を提供する。したがって、ゲノム全体のLOHパターンを体系的に評価できる。さらに、従来の分析では通常、総コピー数比を定性的なコピー数状態(high versus low levelのゲイン、shallow versus deep levelのロス、normal)に変換するが、ASCN分析を使用して、ホモ接合型欠失、ヘテロ接合型欠失、コピー中立LOH、対立遺伝子特異的ゲインおよび対応する整数コピー数増幅の検出のためにゲノムに正確にアノテーションを付けることができる。さらに、ASCN分析は、腫瘍の純度と倍数性のより正確な推定値を提供する。出力は、体細胞点突然変異の強化されたクローン不均一性分析に使用できる。

 初期のASCNメソッドは、主にコピー数アレイプラットフォーム用に開発された(ref.1〜4)。最近では、さまざまな分析戦略に基づいて、次世代のシーケンスデータ用に多くのASCNメソッドが開発された。Patchwork(ref.5)は、総リードカウントに基づいてゲノムをセグメント化し、各セグメント内の対立遺伝子固有のコピー数を推定する。制限は、合計リードカウントをセグメント化するだけでは完全なイメージを提供せず、コピーニュートラルLOHなどの特定のイベントを見逃すことが避けられないことである。 Falcon(ref.6)は、ヘテロ接合SNP遺伝子座からの対立遺伝子リードカウントのために、二項プロセスを使用した共同セグメンテーション手順を提供する。 TITEN(ref.7)を含むいくつかの他の方法は、ベイズ混合モデル(ref.8)、隠れマルコフモデル(ref.7)または他の最尤法(ref.9)を含むさまざまな確率論的モデリングアプローチを使用して、コピー数分析の精度を高めるために腫瘍の純度とクローンの不均一性をさらに考慮した(ref.10)。

 FACETSは、既存のメソッドに対していくつかのユニークな貢献を提供する。 1つは、モデルの仮定に依存せず、ゲノムの変化点を検索するための高速実装を提供する、合計およびアレル固有のリードカウントを直接組み合わせることで、Hotelling T2統計に基づくノンパラメトリックな共同セグメンテーションアプローチを採用している。

 対立遺伝子の不均衡はヘテロ接合部位でしか測定できないため、ASCN分析では通常、SNPベースのアプローチを使用する。データをシーケンスするためのほぼすべてのASCNメソッドは、ヘテロ接合サイトからのリードカウント情報のみを使用する。ただし、ヘテロ接合サイトはサブジェクト固有であり、まばらであるため、コピー総数の情報が失われる。したがって、ヘテロ接合であろうとホモ接合であろうと、すべてのSNPからの対立遺伝子特異的リードカウントの体系的な列挙は、合計および対立遺伝子特異的コピー数の両方に関する完全な情報を提供する。さらに、ターゲットインターバルに沿った一連の疑似SNP(非多型遺伝子座)からのリードカウントも使用して、連続SNP間に大きなギャップがある領域が総コピー数分析で表されるようにする。

(以下省略)

 

 

Githubより

The advantage of cnv_facets over the original facets package is the convenience of executing all the necessary steps, from BAM input to VCF output, in a single command line call.

 

インストール

ubuntu18.04LTSのpython3.7環境でテストした。

 

本体 Github

#bioconda (link)
conda install -c bioconda -y cnv_facets

cnv_facets.R -h

$ cnv_facets.R -h

usage: /home/kazu/anaconda3/envs/cnv_facets/bin/cnv_facets.R

       [-h] --out OUT [--snp-tumour SNP_TUMOUR] [--snp-normal SNP_NORMAL]

       [--snp-vcf SNP_VCF] [--snp-mapq SNP_MAPQ] [--snp-baq SNP_BAQ]

       [--snp-count-orphans] [--snp-nprocs SNP_NPROCS] [--pileup PILEUP]

       [--depth DEPTH DEPTH] [--targets TARGETS] [--cval CVAL CVAL]

       [--nbhd-snp NBHD_SNP] [--annotation ANNOTATION]

       [--gbuild {hg19,hg38,mm9,mm10}] [--unmatched] [--rnd-seed RND_SEED]

       [-v]

 

DESCRIPTION 

Detect somatic copy number variants (CNVs) and estimate purity and ploidy in a

tumour sample given a matched normal sample. The core of the analysis is based

on the package FACETS (https://github.com/mskcc/facets).

 

INPUT

 

* A bam file for the tumour sample, a bam file for the matched normal sample, and a vcf

  file of SNP positions. Bam and vcf files must be sorted and indexed

 

Or:

 

* A csv file of counts (pileup) generated by a previous run of cnv_facets.R

  or by the accompanying program snp-pileup

 

EXAMPLE

 

    cnv_facets.R -n normal.bam -t tumour.bam -vcf snps.vcf.gz -o my_cnv

 

See the online documentation for more details and usage.

Version 0.15.0; facets=0.5.14

 

optional arguments:

  -h, --help            show this help message and exit

  --out OUT, -o OUT     Output prefix for the output files

  --snp-tumour SNP_TUMOUR, -t SNP_TUMOUR

                        BAM file for tumour sample

  --snp-normal SNP_NORMAL, -n SNP_NORMAL

                        BAM file for normal sample

  --snp-vcf SNP_VCF, -vcf SNP_VCF

                        VCF file of SNPs where pileup is to be computed

  --snp-mapq SNP_MAPQ, -mq SNP_MAPQ

                        Sets the minimum threshold for mapping quality. Default 5

  --snp-baq SNP_BAQ, -bq SNP_BAQ

                        Sets the minimum threshold for base quality. Default 10

  --snp-count-orphans, -A

                        Do not discard anomalous read pairs

  --snp-nprocs SNP_NPROCS, -N SNP_NPROCS

                        Number of parallel processes to run to prepare the read pileup file.

                        Each chromsome is assigned to a process. Default 1

  --pileup PILEUP, -p PILEUP

                        Pileup for matched normal (first sample) and tumour

                        (second sample). Not needed if using BAM input. This file

                        is the <prefix>.cvs.gz output of of a previous run of cnv_facet.R

  --depth DEPTH DEPTH, -d DEPTH DEPTH

                        Minimum and maximum depth in normal sample for a position

                        to be considered. Default 25 4000

  --targets TARGETS, -T TARGETS

                        BED file of target regions to scan. It may be the target regions

                        from WEX or panel sequencing protocols. It is not required, even

                        for targeted sequencing, but it may improve the results

  --cval CVAL CVAL, -cv CVAL CVAL

                        Critical values for segmentation in pre-processing and

                        processing. Larger values reduce segmentation. [25 150] is

                        facets default based on exome data. For whole genome consider

                        increasing to [25 400] and for targeted sequencing consider

                        reducing them. Default 25 150

  --nbhd-snp NBHD_SNP, -snp NBHD_SNP

                        If an interval of size nbhd-snp contains more than one SNP,

                        sample a random one.  This sampling reduces the SNP serial

                        correlation. This value should be similar to the median insert

                        size of the libraries. If "auto" and if using paired end BAM

                        input, use the estimated insert size from the normal bam file.

                        Otherwise use 250. Default auto

  --annotation ANNOTATION, -a ANNOTATION

                        Optional annotation file in BED format where the 4th column

                        contains the feature name (e.g. gene name). CNVs will be

                        annotated with an additional INFO/TAG reporting all the

                        overalapping features

  --gbuild {hg19,hg38,mm9,mm10}, -g {hg19,hg38,mm9,mm10}

                        String indicating the reference genome build. Default hg38.

  --unmatched, -u       Normal sample is unmatched. If set, heterozygote SNPs are

                        called using tumor reads only and logOR calculations are different

  --rnd-seed RND_SEED, -s RND_SEED

                        Seed for random number generator. Default: The name of the input file

  -v, --version         show program's version number and exit

 

Options --snp-* are used only to generate the pileup file. They are ignored with option --pileup

 

 

実行方法

tumorのbam、コントロールのnormal.bam (typically, a blood sample from the same patient: Githubより) を指定する。またcommon SNPsのVCFを指定する。ここではdbSNP150のHuman variations without clinical assertionsを指定した。

cnv_facets.R -t tumour.bam -n normal.bam -vcf common_all.vcf.gz -o output

 

出力

f:id:kazumaxneo:20191226180311p:plain

output.cnv.png

f:id:kazumaxneo:20191226180038p:plain

 

output.cov.pdf

f:id:kazumaxneo:20191226180132p:plain

引用

FACETS: allele-specific copy number and clonal heterogeneity analysis tool for high-throughput DNA sequencing
Ronglai Shen* and Venkatraman E. Seshan

Nucleic Acids Res. 2016 Sep 19; 44(16): e131