Skip to content

Conversation

evolvedmicrobe
Copy link
Member

Before the redundant path purger could only remove SNPs, this allows
it to call paths like A -> B -> F / A->C->D->E->F as redundant,
simplifying the graph
quite a bit.

Changes include:

  • Make PathWithOrientation class to be internal to the assembly
  • Remove redundant null check on pass graph
  • Allow paths to converge if they have different lengths but wind up at
    same end node
  • Verified that the paths not only end on the same node, but also
    approach it from the same direction

The checking for loops needs to be much faster than it is.

Before the redundant path purger could only remove SNPs, this allows
it to call paths like A -> B -> F / A->C->D->E->F as redundant,
simplifying the graph
quite a bit.

Changes include:

* Make PathWithOrientation class to be internal to the assembly
* Remove redundant null check on pass graph
* Allow paths to converge if they have different lengths but wind up at
same end node
* Verified that the paths not only end on the same node, but also
approach it from the same direction

The checking for loops needs to be much faster than it is.
e.g. A->B->C->D overlaps with E->F->G->C->D so C should be preserved
even if not part of the best path as it may be part of other paths.
With the new pruning techniques several tests are expected to fail.
The tests are a complicated construction, so for now I am just going to
write new ones, rather than modify the old ones to work at present.
Not working yet, but this needs to eventually pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant