Make the collation work with a VariantGraph

Registered by Ronald Haentjens Dekker

CollateX 0.9 uses an Alignment table internally to store the collation results.
For CollateX 1.0 we propose to use a Variant Graph instead.

Using a VariantGraph makes it easier to store transpositions. This wouid solve the problem that some transpositions are handled wrong in the CollateX 0.9 version. Using a Variant Graph also solves some other use cases like the Spencer and Howe test. It would also make it easier to give back the tranpositions to the end users, which is another end user request that comes up often.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

My working branch is: lp:~collatex/ronald-dekker/variantgraph_based_collation
All the unit tests work.

So the goal of this specification is the replace the AlignmentTableCreator3 + AlignmentTable4 classes with the VariantGraph2Creator + VariantGraph2 + VariantGraphBasedAlignmentTable classes.

The next step for me will be to remove the last valuable bits from the AlignmentTableCreator3 class that are not specific to the creation of an alignment table. The ATC3 class has some code to detect mirrored transpositions and to calculate the distance between transpositions. This knowledge is also needed by the VG2C class to correctly handle some transposition use cases.

My proposed solution would be the make an analysis package (in compliance with the gothenburg model) where all the sequence detection and transposition detection code should end up. Right now there is also same transposition detection code in the Alignment2 class.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.