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