Developer builds pure Python DNA genome assembler using Branch and Bound algorithm
A developer has built a DNA genome assembler from scratch in Python without using any external libraries, tackling the NP-hard Shortest Common Superstring (SCS) problem. The project models overlaps between DNA reads as a directed graph, reducing the SCS problem to the well-known Asymmetric Travelling Salesman Problem by introducing a dummy node. A Branch and Bound algorithm was implemented to find the optimal TSP path, with Kruskal's Minimum Spanning Tree algorithm serving as the lower bound for the search. The developer acknowledged that optimized libraries exist for genome assembly but chose to build everything manually to deepen understanding of NP-hard problem-solving. The project has been shared on GitHub, with the author seeking community feedback on performance bottlenecks and improved heuristics.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in