ヒトゲノムのおよそ3%は可変反復配列(VNTR)で構成されている。これらの遺伝子座は多型性が高いが、アラインメントのブレイクポイントに基づいてバリアントを定義しマージする現在のアプローチでは、その多様性を完全に捉えることはできない。ここではvamosの手法を紹介する: VNTR Annotation using efficient Motif Sets)は、異なるレベルのモチーフ多様性において、VNTRをリピート組成を用いてアノテーションする方法である。74のハプロタイプ解析されたヒトアセンブリにvamosを適用したところ、遺伝子座あたり7.4-16.7対立遺伝子と推定された。
インストール
ubuntu22.04でcondaで環境を作ってテストした。
ビルド依存
- g++ (>= 8.3.0), htslib, abpoa, edlib and alglib are required. htslib and abpoa can be installed through bioconda. Static libraries libalglib.a and libedlib.a are distributed along with vamos.
https://github.com/ChaissonLab/vamos
#conda (link)
mamba create --name vamos python=3.10
conda activate vamos
mamba install bioconda::vamos
> vamos
Usage: vamos [subcommand] [options] [-b in.bam] [-r vntrs_region_motifs.bed] [-o output.vcf] [-s sample_name] [-t threads]
Version: 1.3.6
subcommand:
vamos --contig [-b in.bam] [-r vntrs_region_motifs.bed] [-o output.vcf] [-s sample_name] [-t threads]
vamos --read [-b in.bam] [-r vntrs_region_motifs.bed] [-o output.vcf] [-s sample_name] [-t threads] [-p phase_flank]
vamos -m [verison of efficient motif set]
Input:
-b FILE Input indexed bam file.
-r FILE File containing region coordinate and motifs of each VNTR locus.
The file format: columns `chrom,start,end,motifs` are tab-delimited.
Column `motifs` is a comma-separated (no spaces) list of motifs for this VNTR.
-s CHAR Sample name.
Output:
-o FILE Output vcf file.
-S Output assembly/read consensus sequence in each call.
Dynamic Programming:
-d DOUBLE Penalty of indel in dynamic programming (double) DEFAULT: 1.0.
-c DOUBLE Penalty of mismatch in dynamic programming (double) DEFAULT: 1.0.
-a DOUBLE Global accuracy of the reads. DEFAULT: 0.98.
--naive Specify the naive version of code to do the annotation, DEFAULT: faster implementation.
Phase reads:
-p INT Range of flanking sequences which is used in the phasing step. DEFAULT: 15000 bps.
Downloading motifs:
Original (no filtering)
curl "https://zenodo.org/record/8357361/files/original_motifs.set148.bed.gz?download=1" > original_motifs.set148.bed.gz
q10:
curl "https://zenodo.org/record/8357361/files/q-0.1_motifs.set148.bed.gz?download=1" > q-0.1_motifs.set148.bed.gz
q20:
curl "https://zenodo.org/record/8357361/files/q-0.2_motifs.set148.bed.gz?download=1" > q-0.2_motifs.set148.bed.gz
q30:
curl "https://zenodo.org/record/8357361/files/q-0.3_motifs.set148.bed.gz?download=1" > q-0.3_motifs.set148.bed.gz
Others:
-L INT Maximum length locus to compute annotation for (10000)
-t INT Number of threads, DEFAULT: 1.
--debug Print out debug information.
-h Print out help message.
テストラン
contigモード(--conitg)とreadモード(--read)がある。
ラン例としてレポジトリではreadモードのランが紹介されている。ランするには、リードをリファレンスにマッピングして得たbamと、モチーフのbedファイルが必要。
git clone https://github.com/ChaissonLab/vamos.git
cd vamos/
vamos --read -b example/demo.aln.bam -r example/region_motif.bed -s NA24385_CCS_h1 -o reads.vcf -t 8
- -b Input indexed bam file.
- -r File containing region coordinate and motifs of each VNTR locus. The file format: columns `chrom,start,end,motifs` are tab-delimited. Column `motifs` is a comma-separated (no spaces) list of motifs for this VNTR.
- -s Sample name.
- -o Output vcf file.
- -t Number of threads, DEFAULT: 1.
出力はVCF形式。VCFのinfoフィールドに各サンプルの各VNTR遺伝子座の遺伝子型を記録する。
レポジトリより
-
snakefile/configs/vntr_region_motifs.e.bed.gzに467104個のVNTR遺伝子座の効率的なモチーフが提供されている。snakefile/configs/vntr_region_motifs.o.bed.gzは467104個のVNTR遺伝子座のオリジナルモチーフを提供する。これらは、ヒトゲノム構造変異コンソーシアムによって構築された32のハプロタイプresolve LRSゲノムのコレクションからVNTR遺伝子座とモチーフがhg38からのリフトオーバーによって定義され、Tandem Repeats Finder (TRF)によってモチーフに分解することで得られている。
- vamos出力のvcfをマルチサンプルvcfに結合するpythonスクリプトsnakefile/pyscript/combine_vcf.pyが提供されている。
引用
vamos: variable-number tandem repeats annotation using efficient motif sets
Jingwen Ren, Bida Gu & Mark J. P. Chaisson
Genome Biology volume 24, Article number: 175 (2023)