Find the 2-break distance between two given genomes with circular chromosomes on the same set of synteny blocks.

Assignment

Define a class BreakpointGraph that represents the breakpoint graph of two genomes with circular chromosomes on the same set of synteny blocks. The initialisation method takes two genomes (objects of the class Genome) with circular chromosomes on the same set of synteny blocks. The class must have a method two_break_distance that takes no arguments and returns the 2-break distance between the two genomes.

Example

>>> red_genome = Genome(Chromosome(+1, +2, +3, +4, +5, +6))
>>> blue_genome = Genome(Chromosome(+1, -3, -6, -5), Chromosome(+2, -4))
>>> BreakpointGraph(red_genome, blue_genome).two_break_distance()
3