SURVIVOR 用于模擬/評(píng)估 SV、合并和比較樣本內(nèi)及樣本間 SV 的工具集。
githup: https://github.com/fritzsedlazeck/SURVIVOR
wikt: https://github.com/fritzsedlazeck/SURVIVOR/wiki
1. 安裝
git clone https://github.com/fritzsedlazeck/SURVIVOR.git
cd SURVIVOR/Debug
make
2. 簡單操練
為了提高SV的準(zhǔn)確性,可以針對(duì)每一份樣本通過不同版本進(jìn)行鑒定SV,比如manta, delly等,而后利用SURVIVOR 將每一個(gè)軟件得到的vcf進(jìn)行合并。
## 不同軟件的vcf放入一個(gè)文本
ls *.vcf >sample_files
## merge
SURVIVOR merge sample_files 1000 2 1 1 0 30 sample_merged.vcf
參數(shù)
- 1000表示允許合并的SV間的距離最大為1000bp;
- 2表示僅輸出2個(gè)工具均鑒定出的SV;
- 1表示僅輸出2個(gè)工具鑒定出的同類型的SV;
- 1表示僅輸出2個(gè)工具鑒定出的同方向的SV;
- 30表示僅考慮長度在30bp以上的SV
一些其他參數(shù)
-- Simulation/ Evaluation
simSV Simulates SVs and SNPs on a reference genome.
scanreads Obtain error profiles form mapped reads for simulation.
simreads Simulates long reads (Pacio or ONT).
eval Evaluates a VCF file after SV calling over simulated data.
-- Comparison/filtering
merge Compare or merge VCF files to generate a consensus or multi sample vcf files.
filter Filter a vcf file based on size and/or regions to ignore
stats Report multipe stats over a VCF file
compMUMMer Annotates a VCF file with the breakpoints found with MUMMer (Show-diff).
-- Conversion
bincov Bins coverage vector to a bed file to filter SVs in low MQ regions
vcftobed Converts a VCF file to a bed file
bedtovcf Converts a bed file to a VCF file
smaptovcf Converts the smap file to a VCF file (beta version)
bedpetovcf Converts a bedpe file ot a VCF file (beta version)
hapcuttovcf Converts the Hapcut2 final file to a VCF file using the original SNP file provided to Hapcut2
convertAssemblytics Converts Assemblytics to a VCF file
20240909
發(fā)現(xiàn)合并以后的vcf會(huì)出現(xiàn)一些SV坐標(biāo)和reference對(duì)應(yīng)不起來的問題,可以通過bcftools進(jìn)行檢查
bcftools norm --check-ref w --fasta-ref ref.fa SURVIRO.vcf
比如合并之前的位點(diǎn)為:

image.png

image.png
而合并之后的位點(diǎn)為:

image.png
- 可以看到,雖然用的ID為INS.2412 (其對(duì)應(yīng)坐標(biāo)為98676691),但是合并后的坐標(biāo)為98676480 (INS.2411的坐標(biāo)),從而導(dǎo)致SV和ref序列對(duì)應(yīng)不起來。
- 還有position可以對(duì)應(yīng)相應(yīng)的ref和alt序列,但是SV-id卻對(duì)應(yīng)不起來。
- 還有,position,SV-id和序列都對(duì)應(yīng)不起來的情況,這種情況較為少!
最終利用腳本 fix_SURVIOR_error.py 將其矯正!