コード例 #1
0
    public static Allele FromBinomial(BinomialAlleles alleles)
    {
        switch (alleles)
        {
        case (BinomialAlleles.AA):
            return(Allele.A);

        case (BinomialAlleles.AB):
            return((Random.Range(0.0f, 1.0f) < 0.5f) ? Allele.A : Allele.B);

        case (BinomialAlleles.BB):
            return(Allele.B);

        default:
            return(Allele.UNKNOWN);
        }
    }
コード例 #2
0
    public static BinomialAlleles Punnet(BinomialAlleles a, BinomialAlleles b)
    {
        Allele aInherit = FromBinomial(a);
        Allele bInherit = FromBinomial(b);

        if (aInherit == bInherit)
        {
            if (aInherit == Allele.A)
            {
                return(BinomialAlleles.AA);
            }
            else
            {
                return(BinomialAlleles.BB);
            }
        }
        else
        {
            return(BinomialAlleles.AB);
        }
    }
コード例 #3
0
    public static string GetBinomialTrait(string traitName, BinomialAlleles alleles)
    {
        if (!binomialTraitDict.ContainsKey(traitName))
        {
            return("N/A");
        }
        switch (alleles)
        {
        case (BinomialAlleles.AA):
            return(binomialTraitDict[traitName].aa);

        case (BinomialAlleles.AB):
            return(binomialTraitDict[traitName].ab);

        case (BinomialAlleles.BB):
            return(binomialTraitDict[traitName].bb);

        default:
            return("N/A");
        }
    }