biopython v1.71.0 Bio.GA.Crossover.GeneralPoint
Generalized N-Point Crossover.
For even values of N, perform N point crossover (select N/2 points each in the two genomes, and alternate)
For odd values of N, perform symmetric N+1 point crossover (select N/2 points for both genomes)
N-Point introduction (my notation)::
| genome 1: A-----B-----C-----D-----E-----F-----G
| genome 2: a=====b=====c=====d=====e=====f=====g
|
| 2-point, symmetric (points=1):
| A-----B-----C- 1 -D-----E-----F-----G
| a=====b=====c= 2 =d=====e=====f=====g
| returns: (ABCdefg, abcDEFG)
|
| 2-point, asymmetric (points=2):
| A-----B- 1 -C-----D-----E-----F-----G
| a=====b=====c=====d=====e= 2 =f=====g
| returns: (ABfg, abcdeCDEFG)
and for the drastic (n can be arbitrary to the length of the genome!)::
| 12-point, symmetric (points=11):
| A- 1 -B- 2 -C- 3 -D- 4 -E- 5 -F- 6 -G
| a= 7 =b= 8 =c= 9 =d= 10 e= 11 f= 12 g
| returns: (AbCdEfG, aBcDeFg)
| (note that points=12 will yield the same result, but 11
| may be somewhat faster)