aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsloan2019-05-17 14:16:41 -0500
committerzsloan2019-05-17 14:16:41 -0500
commitd906fe9bf77b9d18f787843f91882db9b88a755e (patch)
tree99955b2d339cf0af8604447f4e0bf6769257b902
parenta35498b0def3ab4bb950c407d5753eadb654277c (diff)
downloadgenenetwork2-d906fe9bf77b9d18f787843f91882db9b88a755e.tar.gz
Made check for trait IDs a bit more secure to hopefully avoid any errors similar to the previous one with a missing unigene id
-rw-r--r--wqflask/wqflask/show_trait/show_trait.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py
index 0e20722e..66d3a448 100644
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/wqflask/wqflask/show_trait/show_trait.py
@@ -128,7 +128,7 @@ class ShowTrait(object):
#Get nearest marker for composite mapping
if not self.temp_trait:
- if hasattr(self.this_trait, 'locus_chr') and self.this_trait.locus_chr != "" and self.dataset.type != "Geno" and self.dataset.type != "Publish":
+ if check_if_attr_exists(self.this_trait, 'locus_chr') and self.dataset.type != "Geno" and self.dataset.type != "Publish":
self.nearest_marker = get_nearest_marker(self.this_trait, self.dataset)
#self.nearest_marker1 = get_nearest_marker(self.this_trait, self.dataset)[0]
#self.nearest_marker2 = get_nearest_marker(self.this_trait, self.dataset)[1]
@@ -243,14 +243,14 @@ class ShowTrait(object):
def get_external_links(self):
#ZS: There's some weirdness here because some fields don't exist while others are empty strings
- self.pubmed_link = webqtlConfig.PUBMEDLINK_URL % self.this_trait.pubmed_id if hasattr(self.this_trait, 'pubmed_id') else None
- self.ncbi_gene_link = webqtlConfig.NCBI_LOCUSID % self.this_trait.geneid if hasattr(self.this_trait, 'geneid') else None
- self.omim_link = webqtlConfig.OMIM_ID % self.this_trait.omim if hasattr(self.this_trait, 'omim') else None
- self.unigene_link = webqtlConfig.UNIGEN_ID % tuple(string.split(self.this_trait.unigeneid, '.')[:2]) if (hasattr(self.this_trait, 'unigeneid') and self.this_trait.unigeneid != "" and self.this_trait.unigeneid != None) else None
- self.homologene_link = webqtlConfig.HOMOLOGENE_ID % self.this_trait.homologeneid if hasattr(self.this_trait, 'homologeneid') else None
+ self.pubmed_link = webqtlConfig.PUBMEDLINK_URL % self.this_trait.pubmed_id if check_if_attr_exists(self.this_trait, 'pubmed_id') else None
+ self.ncbi_gene_link = webqtlConfig.NCBI_LOCUSID % self.this_trait.geneid if check_if_attr_exists(self.this_trait, 'geneid') else None
+ self.omim_link = webqtlConfig.OMIM_ID % self.this_trait.omim if check_if_attr_exists(self.this_trait, 'omim') else None
+ self.unigene_link = webqtlConfig.UNIGEN_ID % tuple(string.split(self.this_trait.unigeneid, '.')[:2]) if check_if_attr_exists(self.this_trait, 'unigeneid') else None
+ self.homologene_link = webqtlConfig.HOMOLOGENE_ID % self.this_trait.homologeneid if check_if_attr_exists(self.this_trait, 'homologeneid') else None
self.genbank_link = None
- if hasattr(self.this_trait, 'genbankid') and self.this_trait.genbankid != None:
+ if check_if_attr_exists(self.this_trait, 'genbankid'):
genbank_id = '|'.join(self.this_trait.genbankid.split('|')[0:10])
if genbank_id[-1] == '|':
genbank_id = genbank_id[0:-1]
@@ -516,4 +516,13 @@ def get_trait_units(this_trait):
inside_brackets = False
if i == "[":
inside_brackets = True
- return unit_type \ No newline at end of file
+ return unit_type
+
+def check_if_attr_exists(the_trait, id_type):
+ if hasattr(the_trait, id_type):
+ if getattr(the_trait, id_type) == None or getattr(the_trait, id_type) == "":
+ return False
+ else:
+ return True
+ else:
+ return False \ No newline at end of file