Module ieugwaspy.variants

SNP/variant helper functions

Expand source code
"""SNP/variant helper functions
"""
import ieugwaspy.query as query


def variants_to_rsid(variants):
    """This function returns dbSNP rsid for variants provided in chr:pos format, calling the variants_chrpos function for each variant 

    Parameters:
        variants: list of variants in chr:pos format (Python list) (leaves rsids unchanged)

    Returns:
        data: list of variant rsids (Python list)

    """
    for pos, variant in enumerate(variants):
        if variant.find(":") > 0:
            variants[pos] = variants_chrpos(variant)
    variants = list(dict.fromkeys(variants))
    return variants


def variants_chrpos(chrpos, radius=0):
    """This function returns the dbSNP rsid for a single variant in chr:pos format

    Parameters:
        chrpos: variant in chr:pos format (string)

    Returns:
        data: variant rsid (string)

    """
    variantdata = query.api_query("variants/chrpos/{}".format(chrpos))
    result = variantdata[0][0]["_id"]
    return result

Functions

def variants_chrpos(chrpos, radius=0)

This function returns the dbSNP rsid for a single variant in chr:pos format

Parameters

chrpos
variant in chr:pos format (string)

Returns

data
variant rsid (string)
Expand source code
def variants_chrpos(chrpos, radius=0):
    """This function returns the dbSNP rsid for a single variant in chr:pos format

    Parameters:
        chrpos: variant in chr:pos format (string)

    Returns:
        data: variant rsid (string)

    """
    variantdata = query.api_query("variants/chrpos/{}".format(chrpos))
    result = variantdata[0][0]["_id"]
    return result
def variants_to_rsid(variants)

This function returns dbSNP rsid for variants provided in chr:pos format, calling the variants_chrpos function for each variant

Parameters

variants
list of variants in chr:pos format (Python list) (leaves rsids unchanged)

Returns

data
list of variant rsids (Python list)
Expand source code
def variants_to_rsid(variants):
    """This function returns dbSNP rsid for variants provided in chr:pos format, calling the variants_chrpos function for each variant 

    Parameters:
        variants: list of variants in chr:pos format (Python list) (leaves rsids unchanged)

    Returns:
        data: list of variant rsids (Python list)

    """
    for pos, variant in enumerate(variants):
        if variant.find(":") > 0:
            variants[pos] = variants_chrpos(variant)
    variants = list(dict.fromkeys(variants))
    return variants