diff options
author | BonfaceKilz | 2021-04-13 08:18:19 +0300 |
---|---|---|
committer | BonfaceKilz | 2021-05-08 19:19:47 +0300 |
commit | c6f9aca5917d9838680349dc91db215c9a38ecda (patch) | |
tree | c4761d442a665b738585dd2418a5e5a3bdf4bf6e | |
parent | baf2b6daa2c9d8646a68465269d1a64646e0e162 (diff) | |
download | genenetwork3-c6f9aca5917d9838680349dc91db215c9a38ecda.tar.gz |
Add method to fetch riset name and id
-rw-r--r-- | gn3/db/__init__.py | 0 | ||||
-rw-r--r-- | gn3/db/traits.py | 31 |
2 files changed, 31 insertions, 0 deletions
diff --git a/gn3/db/__init__.py b/gn3/db/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/gn3/db/__init__.py diff --git a/gn3/db/traits.py b/gn3/db/traits.py new file mode 100644 index 0000000..b0d1831 --- /dev/null +++ b/gn3/db/traits.py @@ -0,0 +1,31 @@ +"""This contains all the necessary functions that are required to add traits +to the published database""" +from collections import namedtuple +from typing import Any + + +riset = namedtuple('riset', ['name', 'id']) + + +def get_riset(data_type: str, name: str, conn: Any): + query, _name, _id = None, None, None + if data_type == "Publish": + query = ("SELECT InbredSet.Name, InbredSet.Id FROM InbredSet, " + "PublishFreeze WHERE PublishFreeze.InbredSetId = " + "InbredSet.Id AND PublishFreeze.Name = '%s'" % name) + elif data_type == "Geno": + query = ("SELECT InbredSet.Name, InbredSet.Id FROM InbredSet, " + "GenoFreeze WHERE GenoFreeze.InbredSetId = " + "InbredSet.Id AND GenoFreeze.Name = '%s'" % name) + elif data_type == "ProbeSet": + query = ("SELECT InbredSet.Name, InbredSet.Id FROM " + "InbredSet, ProbeSetFreeze, ProbeFreeze WHERE " + "ProbeFreeze.InbredSetId = InbredSet.Id AND " + "ProbeFreeze.Id = ProbeSetFreeze.ProbeFreezeId AND " + "ProbeSetFreeze.Name = '%s'" % name) + if query: + with conn.cursor() as cursor: + _name, _id = cursor.fetchone() + if _name == "BXD300": + _name = "BXD" + return riset(_name, _id) |