aboutsummaryrefslogtreecommitdiff
path: root/gn3/base/webqtlCaseData.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/base/webqtlCaseData.py')
-rw-r--r--gn3/base/webqtlCaseData.py84
1 files changed, 84 insertions, 0 deletions
diff --git a/gn3/base/webqtlCaseData.py b/gn3/base/webqtlCaseData.py
new file mode 100644
index 0000000..8395af8
--- /dev/null
+++ b/gn3/base/webqtlCaseData.py
@@ -0,0 +1,84 @@
+# Copyright (C) University of Tennessee Health Science Center, Memphis, TN.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License
+# as published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU Affero General Public License for more details.
+#
+# This program is available from Source Forge: at GeneNetwork Project
+# (sourceforge.net/projects/genenetwork/).
+#
+# Contact Drs. Robert W. Williams and Xiaodong Zhou (2010)
+# at rwilliams@uthsc.edu and xzhou15@uthsc.edu
+#
+# This module is used by GeneNetwork project (www.genenetwork.org)
+#
+# Created by GeneNetwork Core Team 2010/08/10
+
+
+# uncomment below
+
+# from utility.logger import getLogger
+# logger = getLogger(__name__)
+
+# import utility.tools
+
+# utility.tools.show_settings()
+# pylint: disable-all
+
+class webqtlCaseData:
+ """one case data in one trait"""
+
+ def __init__(self, name, value=None, variance=None, num_cases=None, name2=None):
+ self.name = name
+ self.name2 = name2 # Other name (for traits like BXD65a)
+ self.value = value # Trait Value
+ self.variance = variance # Trait Variance
+ self.num_cases = num_cases # Number of individuals/cases
+ self.extra_attributes = None
+ self.this_id = None # Set a sane default (can't be just "id" cause that's a reserved word)
+ self.outlier = None # Not set to True/False until later
+
+ def __repr__(self):
+ case_data_string = "<webqtlCaseData> "
+ if self.value is not None:
+ case_data_string += "value=%2.3f" % self.value
+ if self.variance is not None:
+ case_data_string += " variance=%2.3f" % self.variance
+ if self.num_cases:
+ case_data_string += " ndata=%s" % self.num_cases
+ if self.name:
+ case_data_string += " name=%s" % self.name
+ if self.name2:
+ case_data_string += " name2=%s" % self.name2
+ return case_data_string
+
+ @property
+ def class_outlier(self):
+ """Template helper"""
+ if self.outlier:
+ return "outlier"
+ return ""
+
+ @property
+ def display_value(self):
+ if self.value is not None:
+ return "%2.3f" % self.value
+ return "x"
+
+ @property
+ def display_variance(self):
+ if self.variance is not None:
+ return "%2.3f" % self.variance
+ return "x"
+
+ @property
+ def display_num_cases(self):
+ if self.num_cases is not None:
+ return "%s" % self.num_cases
+ return "x" \ No newline at end of file