ó
BªVCc           @   s0   d  Z  d d l m Z d e f d „  ƒ  YZ d S(   sù  Perform two-point crossovers between the genomes of two organisms.

This module performs two-point crossover between two genomes.
There are two flavors: OnePointCrossover (Point) and TwoPointCrossover.

TwoPointCrossover is the minimal crossover technique that
facilitates diverse genome length.  Do not use this if you need to
maintain consistent genome length.

TwoPointCrossover:
genome 1 --       A B*C D E F
genome 2 --       a b c*d e f

new genome 1 --   A B d e f
new genome 2 --   a b c C D E F

iÿÿÿÿ(   t   TwoCrossovert   TwoPointCrossoverc           B   s   e  Z d  Z d d „ Z RS(   s  Perform two point crossover between genomes at some defined rate.

    This performs a crossover between two genomes at some defined frequency.
    The location of the points of crossover are chosen randomly if the
    crossover meets the probability to occur.  
    gš™™™™™¹?c         C   s   t  j |  d | ƒ d S(   sB   Initialize to do crossovers at the specified probability.
        i   N(   R    t   __init__(   t   selft   crossover_prob(    (    sŒ   /oak/stanford/groups/akundaje/marinovg/programs/biopython-1.50.tar.gz/biopython-1.50/build/lib.linux-x86_64-2.7/Bio/GA/Crossover/TwoPoint.pyR      s    (   t   __name__t
   __module__t   __doc__R   (    (    (    sŒ   /oak/stanford/groups/akundaje/marinovg/programs/biopython-1.50.tar.gz/biopython-1.50/build/lib.linux-x86_64-2.7/Bio/GA/Crossover/TwoPoint.pyR      s   N(   R   t   GeneralPointR    R   (    (    (    sŒ   /oak/stanford/groups/akundaje/marinovg/programs/biopython-1.50.tar.gz/biopython-1.50/build/lib.linux-x86_64-2.7/Bio/GA/Crossover/TwoPoint.pyt   <module>   s   