diff --git a/deps/libbdsg b/deps/libbdsg index 1c1df7b1b5..c075778651 160000 --- a/deps/libbdsg +++ b/deps/libbdsg @@ -1 +1 @@ -Subproject commit 1c1df7b1b541894f6413ed4a2cbefbd0565955af +Subproject commit c075778651956b27f212360bca8cff502b2abfc4 diff --git a/src/subcommand/call_main.cpp b/src/subcommand/call_main.cpp index 25cc1d6ea2..af8ee3cb89 100644 --- a/src/subcommand/call_main.cpp +++ b/src/subcommand/call_main.cpp @@ -435,6 +435,8 @@ int main_call(int argc, char** argv) { // Apply overlays as necessary bool need_path_positions = vcf_filename.empty(); bool need_vectorizable = !pack_filename.empty(); + // When not using GBWT/GBZ, embedded HAPLOTYPE paths are the sample alleles + bool all_paths = gbwt_filename.empty() && !gbz_graph; bdsg::ReferencePathOverlayHelper pp_overlay_helper; bdsg::ReferencePathVectorizableOverlayHelper ppv_overlay_helper; bdsg::PathVectorizableOverlayHelper pv_overlay_helper; @@ -444,7 +446,7 @@ int main_call(int argc, char** argv) { if (need_path_positions && need_vectorizable) { graph = dynamic_cast(ppv_overlay_helper.apply(graph)); } else if (need_path_positions && !need_vectorizable) { - graph = dynamic_cast(pp_overlay_helper.apply(graph)); + graph = dynamic_cast(pp_overlay_helper.apply(graph, all_paths)); } else if (!need_path_positions && need_vectorizable) { graph = dynamic_cast(pv_overlay_helper.apply(graph)); } diff --git a/src/subcommand/deconstruct_main.cpp b/src/subcommand/deconstruct_main.cpp index aa98720aaf..405fbfc70b 100644 --- a/src/subcommand/deconstruct_main.cpp +++ b/src/subcommand/deconstruct_main.cpp @@ -258,7 +258,9 @@ int main_deconstruct(int argc, char** argv) { std::chrono::time_point overlay_start_time = std::chrono::system_clock::now(); // Make the overlay - PathPositionHandleGraph* graph = overlay_helper.apply(path_handle_graph); + // When not using GBWT/GBZ, embedded HAPLOTYPE paths are the sample alleles + bool all_paths = gbwt_file_name.empty() && !gbz_graph; + PathPositionHandleGraph* graph = overlay_helper.apply(path_handle_graph, all_paths); // See how long that took clock_t overlay_stop_clock = clock();