Ejemplo n.º 1
0
def caffeine_metabolism(genome):
    """Caffeine metabolism."""
    assert_european(genome)
    return unphased_match(
        genome.rs762551,
        {"AA": "Fast metabolizer", "AC": "Slow metabolizer", "CC": "Slow metabolizer", None: "Unable to determine"},
    )
Ejemplo n.º 2
0
def exfoliation_glaucoma(genome):
    """Exfoliation glaucoma."""
    assert_european(genome)
    OR = unphased_match(genome.rs2165241, {
        "CT": 0.79,
        })
    raise NotImplementedError()
Ejemplo n.º 3
0
def biological_age(genome):
    """Biological aging (telomere lengths)."""
    assert_european(genome)

    ages = {
        "rs10936599": {"TT": 7.82, "CT": 3.91, "CC": 0, None: 0},
        "rs2736100": {"AA": 3.14, "AC": 0, "CC": -3.14, None: 0},
        "rs9420907": {"AA": 0, "AC": -2.76, "CC": -5.52, None: 0},
        "rs755017": {"AA": 0, "AG": -2.47, "GG": -4.94, None: 0},
        "rs11100479": {"CC": 5.98, "CT": -2.99, "TT": 0, None: 0},
        "rs10165485": {"TT": 0, "CT": -2.23, "CC": -4.46, None: 0},
    }

    age = [unphased_match(genome[rsid], t) for (rsid, t) in ages.items()]

    def qual(age):
        if age <= 0:
            return "younger"
        elif age > 0:
            return "older"

    msg = "From %.1f years %s to %.1f years %s than actual age\n" % (
        abs(min(age)),
        qual(min(age)),
        abs(max(age)),
        qual(max(age)),
    )
    msg += "The sum is %.1f years %s, compared to actual age" % (abs(sum(age)), qual(sum(age)))
    return msg
Ejemplo n.º 4
0
def hair_curl(genome):
    assert_european(genome)
    return unphased_match(
        genome.rs17646946, {
            "AA": "Straighter hair on average",
            "AG": "Straighter hair on average",
            "GG": "Slightly curlier hair on average"
        })
Ejemplo n.º 5
0
def birth_weight(genome):
    """Birth weight."""
    assert_european(genome)
    weights = {
        "rs7903146": {"TT": 0, "CT": -30, "CC": -60, None: 0},
        "rs1799884": {"TT": +54, "CT": +27, "CC": 0, None: 0},
    }
    weight = [unphased_match(genome[rsid], w) for (rsid, w) in weights.items()]
    return "From %.1fg to %.1fg (sum: %.1fg) compared to typical weight" % (min(weight), max(weight), sum(weight))
Ejemplo n.º 6
0
def biological_age(genome):
    """Biological aging (telomere lengths)."""
    assert_european(genome)

    ages = {
        "rs10936599": {
            "TT": 7.82,
            "CT": 3.91,
            "CC": 0,
            None: 0
        },
        "rs2736100": {
            "AA": 3.14,
            "AC": 0,
            "CC": -3.14,
            None: 0
        },
        "rs9420907": {
            "AA": 0,
            "AC": -2.76,
            "CC": -5.52,
            None: 0
        },
        "rs755017": {
            "AA": 0,
            "AG": -2.47,
            "GG": -4.94,
            None: 0
        },
        "rs11100479": {
            "CC": 5.98,
            "CT": -2.99,
            "TT": 0,
            None: 0
        },
        "rs10165485": {
            "TT": 0,
            "CT": -2.23,
            "CC": -4.46,
            None: 0
        },
    }

    age = [unphased_match(genome[rsid], t) for (rsid, t) in ages.items()]

    def qual(age):
        if age <= 0:
            return "younger"
        elif age > 0:
            return "older"

    msg = "From %.1f years %s to %.1f years %s than actual age\n" % (abs(
        min(age)), qual(min(age)), abs(max(age)), qual(max(age)))
    msg += "The sum is %.1f years %s, compared to actual age" % (abs(
        sum(age)), qual(sum(age)))
    return msg
Ejemplo n.º 7
0
def hair_curl(genome):
    assert_european(genome)
    return unphased_match(
        genome.rs17646946,
        {
            "AA": "Straighter hair on average",
            "AG": "Straighter hair on average",
            "GG": "Slightly curlier hair on average",
        },
    )
Ejemplo n.º 8
0
def caffeine_metabolism(genome):
    """Caffeine metabolism."""
    assert_european(genome)
    return unphased_match(
        genome.rs762551, {
            "AA": "Fast metabolizer",
            "AC": "Slow metabolizer",
            "CC": "Slow metabolizer",
            None: "Unable to determine"
        })
Ejemplo n.º 9
0
def eye_color(genome):
    "Eye color."
    assert_european(genome)
    return unphased_match(
        genome.rs12913832, {
            "AA": "Brown eyes, although 14% have green and 1% have blue",
            "AG": "Most likely brown or green, but 7% have blue",
            "GG": "Most likely blue, but 30% have green and 1% brown",
            None: "Unable to determine"
        })
Ejemplo n.º 10
0
def blood_glucose(genome):
    """Blood glucose."""
    assert_european(genome)
    return unphased_match(
        genome.rs560887, {
            "CC": "Average fasting plasma glucose levels of 5.18mmol/L",
            "CT": "Average fasting plasma glucose levels of 5.12mmol/L",
            "TT": "Average fasting plasma glucose levels of 5.06mmol/L",
            None: "Unable to determine"
        })
Ejemplo n.º 11
0
def aspargus_detection(genome):
    """Aspargus metabolite detection."""
    assert_european(genome)
    return unphased_match(
        genome.rs4481887, {
            "AA": "Higher odds of smelling aspargus in urine",
            "AG": "Medium odds of smelling aspargus in urine",
            "GG": "Typical odds of smelling aspargus in urine",
            None: "Unable to determine"
        })
Ejemplo n.º 12
0
def heroin_addiction(genome):
    """Heroin addiction."""
    assert_european(genome)
    return unphased_match(
        genome.rs1799971, {
            "AA": "Typical odds of addiction",
            "AG": "Higher odds of addiction",
            "GG": "Higher odds of addiction",
            None: "Unable to determine"
        })
Ejemplo n.º 13
0
def smoking_behaviour(genome):
    """Smoking behaviour."""
    assert_european(genome)
    return unphased_match(
        genome.rs1051730, {
            "AA": "Likely to smoke more than average",
            "AG": "Likely to smoke a little bit more than average",
            "GG": "Likely to smoke typical amount of cigarettes per day",
            None: "Unable to determine"
        })
Ejemplo n.º 14
0
def aspargus_detection(genome):
    """Aspargus metabolite detection."""
    assert_european(genome)
    return unphased_match(
        genome.rs4481887,
        {
            "AA": "Higher odds of smelling aspargus in urine",
            "AG": "Medium odds of smelling aspargus in urine",
            "GG": "Typical odds of smelling aspargus in urine",
            None: "Unable to determine",
        },
    )
Ejemplo n.º 15
0
def heroin_addiction(genome):
    """Heroin addiction."""
    assert_european(genome)
    return unphased_match(
        genome.rs1799971,
        {
            "AA": "Typical odds of addiction",
            "AG": "Higher odds of addiction",
            "GG": "Higher odds of addiction",
            None: "Unable to determine",
        },
    )
Ejemplo n.º 16
0
def smoking_behaviour(genome):
    """Smoking behaviour."""
    assert_european(genome)
    return unphased_match(
        genome.rs1051730,
        {
            "AA": "Likely to smoke more than average",
            "AG": "Likely to smoke a little bit more than average",
            "GG": "Likely to smoke typical amount of cigarettes per day",
            None: "Unable to determine",
        },
    )
Ejemplo n.º 17
0
def blood_glucose(genome):
    """Blood glucose."""
    assert_european(genome)
    return unphased_match(
        genome.rs560887,
        {
            "CC": "Average fasting plasma glucose levels of 5.18mmol/L",
            "CT": "Average fasting plasma glucose levels of 5.12mmol/L",
            "TT": "Average fasting plasma glucose levels of 5.06mmol/L",
            None: "Unable to determine",
        },
    )
Ejemplo n.º 18
0
def eye_color(genome):
    "Eye color."
    assert_european(genome)
    return unphased_match(
        genome.rs12913832,
        {
            "AA": "Brown eyes, although 14% have green and 1% have blue",
            "AG": "Most likely brown or green, but 7% have blue",
            "GG": "Most likely blue, but 30% have green and 1% brown",
            None: "Unable to determine",
        },
    )
Ejemplo n.º 19
0
def breastfeeding_iq(genome):
    "Breastfeeding and IQ."
    assert_european(genome)
    s = ""

    if "C" in genome.rs174575:
        s += "Being breastfed raised subjects' IQ by 6-7 points on average (rs174575)\n"
    else:
        s += "Little to no effect of being breastfed on IQ (rs174575)\n"

    if "A" in genome.rs1535:
        s += "Being breastfed raised subjects' IQ by 4-5 points on average (rs1535)\n"
    else:
        s += "Little or no effect of being breastfed on IQ (rs1535)\n"

    return s
Ejemplo n.º 20
0
def birth_weight(genome):
    """Birth weight."""
    assert_european(genome)
    weights = {
        "rs7903146": {
            "TT": 0,
            "CT": -30,
            "CC": -60,
            None: 0
        },
        "rs1799884": {
            "TT": +54,
            "CT": +27,
            "CC": 0,
            None: 0
        },
    }
    weight = [unphased_match(genome[rsid], w) for (rsid, w) in weights.items()]
    return "From %.1fg to %.1fg (sum: %.1fg) compared to typical weight" % (
        min(weight), max(weight), sum(weight))
Ejemplo n.º 21
0
def migraines(genome):
    """Migranes."""
    assert_european(genome)
    s = []
    s.append(unphased_match(genome.rs2651899, {
        "CC": "Slightly higher odds of migraines",
        "CT": "Typical odds of migraines",
        "TT": "Slightly lower odds of migraines",
        None: "Unable to determine"}))

    s.append(unphased_match(genome.rs10166942, {
        "TT": "Typical odds of migraines",
        "CT": "Slightly lower odds of migraines",
        "CC": "Slightly lower odds of migraines",
        None: "Unable to determine"}))

    s.append(unphased_match(genome.rs11172113, {
        "TT": "Slightly higher odds of migraines",
        "CT": "Typical odds of migraines",
        "CC": "Slightly lower odds of migraines",
        None: "Unable to determine"}))

    return "\n".join(s)