Accuracy of SV detection across tools and variant types

Covers precision and recall performance for deletions, duplications, inversions, and insertions.

You are now following this Submission

This examines the performance of various structural variation (SV) detection tools, focusing on four main SV types: deletions, duplications, inversions, and insertions. Among the evaluated tools, Manta consistently demonstrated superior accuracy in detecting deletions, achieving the highest F1 score. For insertions, both Manta and MELT showed competitive precision, while duplication and inversion detection generally exhibited lower performance across all tools. The study highlights that SV detection accuracy varies significantly depending on the type of SV and the specific tool used, underscoring the importance of choosing appropriate tools for different genomic analysis needs.
%% input data setting
% preprocessing
dos('unzip matlab_2024_kr.zip')
current_folder = pwd;
addpath(genpath(current_folder))
input_path=[current_folder '/data/']
sample_list='SRR622457'
delly_file=[input_path '/delly/' sample_list '/delly.vcf']
manta_file=[input_path '/manta/' sample_list '/results/variants/diploidSV_with_INV.vcf']
gridss_file=[input_path '/gridss/' sample_list '/gridss_R.bed']
sniffle_file=[input_path '/sniffles/' sample_list '/sniffles.vcf']
wham_file=[input_path '/wham/' sample_list '/wham.vcf']
svab_file=[input_path '/svaba/' sample_list '/germline_run.svaba.sv.vcf']
lumpy_file=[input_path '/lumpy/' sample_list '/' sample_list '.vcf']
REF_input=[input_path 'TruthSet/NA12878_DGV-2016_LR-assembly_with_chr_hg38.vcf']
REF_range=make_true_table_hg38(REF_input)
REF_range_filtered=filter_function(REF_range)
delly_range=make_delly_table(delly_file)
manta_range=make_manta_table(manta_file)
sniffles_range=make_sniffles_table_2(sniffle_file)
wham_range=make_wham_table(wham_file)
gridss_range=make_gridss_table(gridss_file)
svaba_range=make_svaba_table(svab_file)
lumpy_range=make_lumpy_table(lumpy_file)
manta_range_filtered=filter_function(manta_range)
delly_range_filtered=filter_function(delly_range)
lumpy_range_filtered=filter_function(lumpy_range)
wham_range_filtered=filter_function(wham_range)
gridss_range_filtered=filter_function(gridss_range)
svaba_range_filtered=filter_function(svaba_range)
sniffles_range_filtered=filter_function(sniffles_range)
%% Tool comparision
REF_SV=REF_range_filtered
tools_vs_LSV
LSV_vs_tools
precision_test
recall_test
f1_tset
Reference for Code Development
The code implementation should refer to the following study for insights on SV detection accuracy and benchmarking:
  • Joe, S., et al. Comparison of structural variant callers for massive whole-genome sequence data. BMC Genomics, 2024.

Cite As

Soobok Joe (2026). Accuracy of SV detection across tools and variant types (https://se.mathworks.com/matlabcentral/fileexchange/176608-accuracy-of-sv-detection-across-tools-and-variant-types), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.3

typo correction

1.0.2

typo correction

1.0.1

typo correction

1.0.0