遺伝的変異の完全なカタログについては、SNP /indelおよびCNVとともに遺伝的多様性および多様性のソースとして、Presence-Absence Variations(PAV)を含めることが重要である。このノートでは、一対のゲノム比較のための新しいアルゴリズムであるscanPAVを示す。このアルゴリズムは、1つのアセンブリには存在するが、他のアセンブリには存在しない(PAV)配列を識別および抽出する。ゲノム比較でのPAVの識別は、実際の多型または水平伝播の検出に役立ち、また、アセンブリの完全性、および新しいテクノロジーまたは新しいアセンブリパイプラインの長所と短所の評価にも役立つ。
ここでは、scanPAVを使用した両方のタイプのPAV分析を示す。(i)使用された技術とアセンブリ戦略を評価するため、ヒトリファレンスGRCh38と6つの他のヒトのアセンブリの配列の有無の検出、(ii)タスマニアデビルの正常な動物組織と顔面腫瘍サンプルの7つのアセンブリからののPAV検出(Stammnitz、M.R. et al)。
インストール
ubuntu18.04のdocker環境でテストした(ホストOSはmacos10.14)。
ビルド依存
本体 Github
git clone https://github.com/wtsi-hpag/scanPAV.git
cd scanPAV/
./install.sh
Usage: scanPAV -nodes 30 -align bwa/smalt -score 550 <presence_assembly.fasta> <absence_assembly.fasta> <presence_absence.vcf>
nodes (30) - number of CPUs requested
score (550) - Smith-Waterman alignment score
align (bwa) - use BWA as the aligner
テストラン
cd example/
./run_yeast.sh
出力
Details of presence PAVs
> cat bwa_550//pavs_present_in_S288c_with_indels_and_snps
# cat bwa_550//pavs_present_in_S288c_with_indels_and_snps
##fileformat=VCFv4.2
##FILTER=<ID=PASS,Description="All filters passed">
##reference=file:/root/scanPAV/example/bwa_550/S288c_with_indels_and_snps.fasta
##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant>"
##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles">
##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record">
##INFO=<ID=STRANDS,Number=.,Type=String,Description="Strand orientation of the adjacency in BEDPE format (DEL:+-, DUP:-+, INV:++/--)">
##INFO=<ID=IMPRECISE,Number=0,Type=Flag,Description="Imprecise structural variation">
##ALT=<ID=DEL,Description="Deletion">
##ALT=<ID=DUP,Description="Duplication">
##ALT=<ID=INV,Description="Inversion">
##ALT=<ID=DUP:TANDEM,Description="Tandem duplication">
##ALT=<ID=INS,Description="Insertion of novel sequence">
##ALT=<ID=CNV,Description="Copy number variable region">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##source=scanPAV
##contig=<ID=SV_ref|NC_001133|,length=230218>
##contig=<ID=SV_ref|NC_001134|,length=799472>
##contig=<ID=SV_ref|NC_001135|,length=316620>
##contig=<ID=SV_ref|NC_001136|,length=1465485>
##contig=<ID=SV_ref|NC_001137|,length=576874>
##contig=<ID=SV_ref|NC_001138|,length=270161>
##contig=<ID=SV_ref|NC_001139|,length=1090940>
##contig=<ID=SV_ref|NC_001140|,length=599039>
##contig=<ID=SV_ref|NC_001141|,length=414458>
##contig=<ID=SV_ref|NC_001142|,length=745751>
##contig=<ID=SV_ref|NC_001143|,length=534733>
##contig=<ID=SV_ref|NC_001144|,length=1174774>
##contig=<ID=SV_ref|NC_001145|,length=941823>
##contig=<ID=SV_ref|NC_001146|,length=864087>
##contig=<ID=SV_ref|NC_001147|,length=1156012>
##contig=<ID=SV_ref|NC_001148|,length=954484>
##contig=<ID=SV_ref|NC_001224|,length=85779>
#CHROM POS ID REF ALT QUAL FILTER INFO
SV_ref|NC_001134| 247001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-23000;END=270001
SV_ref|NC_001134| 381001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-11000;END=392001
SV_ref|NC_001136| 838001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-1000;END=839001
SV_ref|NC_001136| 1435001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-15000;END=1450001
SV_ref|NC_001140| 381001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-37000;END=418001
SV_ref|NC_001144| 315001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-9000;END=324001
SV_ref|NC_001144| 497001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-63000;END=560001
SV_ref|NC_001144| 604001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-10000;END=614001
SV_ref|NC_001144| 1073001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-15000;END=1088001
SV_ref|NC_001145| 854001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-17000;END=871001
SV_ref|NC_001146| 94001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-49000;END=143001
SV_ref|NC_001146| 474001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-40000;END=514001
SV_ref|NC_001147| 304001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-70000;END=374001
SV_ref|NC_001148| 711001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-6000;END=717001
Details of absence PAVs
> cat bwa_550/pavs_absent_in_S288c_with_indels_and_snps
# cat bwa_550/pavs_absent_in_S288c_with_indels_and_snps
##fileformat=VCFv4.2
##FILTER=<ID=PASS,Description="All filters passed">
##reference=file:/root/scanPAV/example/bwa_550/S288C_reference_sequence_R64-1-1_20110203.fsa
##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant>"
##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles">
##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record">
##INFO=<ID=STRANDS,Number=.,Type=String,Description="Strand orientation of the adjacency in BEDPE format (DEL:+-, DUP:-+, INV:++/--)">
##INFO=<ID=IMPRECISE,Number=0,Type=Flag,Description="Imprecise structural variation">
##ALT=<ID=DEL,Description="Deletion">
##ALT=<ID=DUP,Description="Duplication">
##ALT=<ID=INV,Description="Inversion">
##ALT=<ID=DUP:TANDEM,Description="Tandem duplication">
##ALT=<ID=INS,Description="Insertion of novel sequence">
##ALT=<ID=CNV,Description="Copy number variable region">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##source=scanPAV
##contig=<ID=ref|NC_001133|,length=230218>
##contig=<ID=ref|NC_001134|,length=813184>
##contig=<ID=ref|NC_001135|,length=316620>
##contig=<ID=ref|NC_001136|,length=1531933>
##contig=<ID=ref|NC_001137|,length=576874>
##contig=<ID=ref|NC_001138|,length=270161>
##contig=<ID=ref|NC_001139|,length=1090940>
##contig=<ID=ref|NC_001140|,length=562643>
##contig=<ID=ref|NC_001141|,length=439888>
##contig=<ID=ref|NC_001142|,length=745751>
##contig=<ID=ref|NC_001143|,length=666816>
##contig=<ID=ref|NC_001144|,length=1078177>
##contig=<ID=ref|NC_001145|,length=924431>
##contig=<ID=ref|NC_001146|,length=784333>
##contig=<ID=ref|NC_001147|,length=1091291>
##contig=<ID=ref|NC_001148|,length=948066>
##contig=<ID=ref|NC_001224|,length=85779>
#CHROM POS ID REF ALT QUAL FILTER INFO
ref|NC_001134| 555001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-26000;END=581001
ref|NC_001134| 616001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-21000;END=637001
ref|NC_001136| 405001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-16000;END=421001
ref|NC_001136| 855001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-6000;END=861001
ref|NC_001136| 1156001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-22000;END=1178001
ref|NC_001136| 1408001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-37000;END=1445001
ref|NC_001140| 381001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-1000;END=382001
ref|NC_001141| 100001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-26000;END=126001
ref|NC_001143| 235001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-45000;END=280001
ref|NC_001143| 518001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-87000;END=605001
ref|NC_001146| 502001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-10000;END=512001
ref|NC_001147| 50001 . N <DEL> 50 PASS SVTYPE=DEL;SVLEN=-6000;END=56001
実行方法
アセンブリ配列1には存在し、 アセンブリ配列2には存在しない配列を調べる。ここではbwaアライナーを使用する(またはsmalt)。
scanPAV -nodes 8 -score 550 -align bwa assembly1.fasta assembly2.fasta outnput
- nodes (30) - number of CPUs requested
- score (550) - Smith-Waterman alignment score
- align (bwa) - use BWA as the aligner
引用
scanPAV: a pipeline for extracting presence–absence variations in genome pairs
Francesca Giordano, Maximilian R Stammnitz, Elizabeth P Murchison, Zemin Ning
Bioinformatics, Volume 34, Issue 17, 01 September 2018
関連