def test_labelledallele_delabeler(): ngenos = 10 # Number of genotypes per chromosome if ngenos % 2 == 1: raise ValueError('Even number of genotypes needed') p = Population() c = ChromosomeTemplate() for i in range(ngenos): c.add_genotype() p.add_chromosome(c) a = Individual(p, 1) a._init_genotypes(blankchroms=False) a.genotypes[0][0] = Alleles([1]*ngenos) a.genotypes[0][1] = Alleles([2]*ngenos) b = Individual(p, 2) b._init_genotypes(blankchroms=False) b.genotypes[0][0] = Alleles([3] * ngenos) b.genotypes[0][1] = Alleles([4] * ngenos) chromatid_spans = [InheritanceSpan(a, 0, 0, 0, ngenos//2), InheritanceSpan(b, 0, 1, ngenos//2, ngenos)] chromatid = LabelledAlleles(spans=chromatid_spans, chromobj=c) expected_value = [1]*(ngenos//2) + [4] * (ngenos//2) expected_value = Alleles(expected_value) actual_value = chromatid.delabel() assert all(actual_value == expected_value)
def test_labelledallele_delabeler(): ngenos = 10 # Number of genotypes per chromosome if ngenos % 2 == 1: raise ValueError('Even number of genotypes needed') p = Population() c = ChromosomeTemplate() for i in range(ngenos): c.add_genotype() p.add_chromosome(c) a = Individual(p, 1) a._init_genotypes(blankchroms=False) a.genotypes[0][0] = Alleles([1] * ngenos) a.genotypes[0][1] = Alleles([2] * ngenos) b = Individual(p, 2) b._init_genotypes(blankchroms=False) b.genotypes[0][0] = Alleles([3] * ngenos) b.genotypes[0][1] = Alleles([4] * ngenos) chromatid_spans = [ InheritanceSpan(a, 0, 0, 0, ngenos // 2), InheritanceSpan(b, 0, 1, ngenos // 2, ngenos) ] chromatid = LabelledAlleles(spans=chromatid_spans, chromobj=c) expected_value = [1] * (ngenos // 2) + [4] * (ngenos // 2) expected_value = Alleles(expected_value) actual_value = chromatid.delabel() assert all(actual_value == expected_value)
def test_labelledalleles(): IS = InheritanceSpan ngenos = 50 p = Population() c = ChromosomeTemplate() for i in range(ngenos): c.add_genotype() p.add_chromosome(c) a = Individual(p, 1) actual = LabelledAlleles.founder_chromosome(a, 0, 0, chromobj=c) expected = LabelledAlleles(spans=[IS(a, 0, 0, 0, ngenos)], chromobj=c) assert actual == expected
def labelled_chromatids(i, c): a = LabelledAlleles.founder_chromosome(self, i, 0, chromobj=c) b = LabelledAlleles.founder_chromosome(self, i, 1, chromobj=c) return (a, b)