CNVkit
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Software
- URL
- https://cnvkit.readthedocs.io/
Table of Contents
개요 #
CNVkit는 2016년에 발표되었고, targeted DNA sequencing 데이터로부터 copy number를 찾아주는 파이썬 기반의 커맨드라인 툴이다. 이 분석 도구는 targeted DNA sequencing에서 발생하는 target enrichment 지역과 아닌 지역의 bias를 고려하여 CNV detection이 가능하도록 만들어졌다. CNVkit는 분석과 visualization, detailed reporting 등을 포함하는 분석 패키지이다.
CNVer, ExomeCNV, exomeCopy, CONTRA, Control-FREEC 등과 같은 기존의 CNV detection tool은 intergenic region의 read들을 분석에 사용하지 않는다. 즉, on-target read만 가지고 CNV detection을 수행한다. 하지만 CNVkit는 on/off-target reads들을 모두 고려하여 depth를 계산하므로 copy number를 더 정확하게 계산한다는 장점이 있다. 실제로 on-target read만 가지고하는 경우보다 on/off-read를 모두 가지고 copy number를 예상 것이 더 정확하다는 것을 논문에서 증명하였다.
CNVkit는 파이썬 2.7으로 개발된 커맨드라인 툴이다. 그러므로 이 툴을 사용하기 위해서는 파이썬 2.7버전이 필요하다. Human뿐만 아니라 모든 종에 대해서 사용할 수 있다.
CNVkit Workflows #
CNVkir Workflows: doi:10.1371/journal.pcbi.1004873.g001
CNVkit의 분석흐름은 다음과 같이 세 부분으로 나뉜다.
- Target bins와 Off-target bins (.bed)를 생성하는 부분
- normal sample을 이용하여 reference를 생성하는 부분
- 실제 sample을 분석하여 Copy number를 계산하는 부분
설치방법 #
Conda를 통한 설치 #
conda install cnvkit -c bioconda -c r -c conda-forge
Python package Index (pip)를 통한 설치 #
pip install cnvkit
Source로 설치 #
python setup.py build
python setup.py install
CNVkit 시작하기 #
CNVkit로 분석하기 위해서는 하나 이상의 DNA sequencing read alignment (.bam) 파일과 레퍼런스 파일이 필요하다.
- BAM file
- reference file: 한번 생성하면 같은 플랫폼에서 재사용 할 수 있다.
- BED file: 한번 생성하면 같은 플랫폼에서 재사용 할 수 있다.
reference genome 준비 #
CNVkit에서 사용하기 위해서는 reference genome서열이 필요하므로 UCSC Genome Bioinformatics 등을 통해서 원하는 종의 FASTA포맷 서열을 다운로드 받는다.
Sequencing-accessible regions 파일 준비 #
reference genome FASTA파일을 통해 Access파일 (bed포맷)을 다음 명령어를 통해 생성할 수 있다. hg19는 CNVkit안에 미리 준비되어 있으니 그냥 사용하면 된다.
cnvkit.py access mm10.fasta -s 10000 -o access-kb.mm10.bed
Gene annotations 파일 준비 (optional) #
gene annotation파일은 BED파일에 포함되지 않은 부가적인 이름 등을 포함하고 있는 파일이다. 다음과 같은 bed파일이 있다고 하면
chr1 1508981 1509154
chr1 2407978 2408183
chr1 2409866 2410095
annotation 파일(refFlat.txt)은 다음과 같다.
chr1 1508981 1509154 SSU72
chr1 2407978 2408183 PLCH2
chr1 2409866 2410095 PLCH2
reference genome에 read 매핑 #
이미 맵핑된 BAM파일을 가지고 있다면 그 파일을 사용해도된다.
cnvkit.py batch *Tumor.bam --normal *Normal.bam \
--targets my_baits.bed --fasta hg19.fasta \
--access data/access-5kb-mappable.hg19.bed \
--output-reference my_reference.cnn --output-dir example/
Referenece #
- CNVkit document: https://cnvkit.readthedocs.io/
- Talevich, E., Shain, A.H., Botton, T., & Bastian, B.C. (2014). CNVkit: Genome-wide copy number detection and visualization from targeted sequencing. PLOS Computational Biology 12(4):e1004873