diff options
Diffstat (limited to 'wqflask/base')
-rw-r--r-- | wqflask/base/trait.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index a0679041..58169b5c 100644 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -135,9 +135,20 @@ class GeneralTrait(object): alias = 'Not available' if self.symbol: - response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol) - alias_list = json.loads(response.content) - alias = "; ".join(alias_list) + human_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.upper()) + mouse_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.capitalize()) + other_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.lower()) + alias_list = json.loads(human_response.content) + json.loads(mouse_response.content) + json.loads(other_response.content) + + filtered_aliases = [] + seen = set() + for item in alias_list: + if item in seen: + continue + else: + filtered_aliases.append(item) + seen.add(item) + alias = "; ".join(filtered_aliases) return alias |