about summary refs log tree commit diff
path: root/gn2/base/webqtlCaseData.py
diff options
context:
space:
mode:
authorAlexander_Kabui2024-01-02 13:21:07 +0300
committerAlexander_Kabui2024-01-02 13:21:07 +0300
commit70c4201b332e0e2c0d958428086512f291469b87 (patch)
treeaea4fac8782c110fc233c589c3f0f7bd34bada6c /gn2/base/webqtlCaseData.py
parent5092eb42f062b1695c4e39619f0bd74a876cfac2 (diff)
parent965ce5114d585624d5edb082c710b83d83a3be40 (diff)
downloadgenenetwork2-70c4201b332e0e2c0d958428086512f291469b87.tar.gz
merge changes
Diffstat (limited to 'gn2/base/webqtlCaseData.py')
-rw-r--r--gn2/base/webqtlCaseData.py81
1 files changed, 81 insertions, 0 deletions
diff --git a/gn2/base/webqtlCaseData.py b/gn2/base/webqtlCaseData.py
new file mode 100644
index 00000000..b4717b4b
--- /dev/null
+++ b/gn2/base/webqtlCaseData.py
@@ -0,0 +1,81 @@
+# 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
+
+
+import gn2.utility.tools
+
+gn2.utility.tools.show_settings()
+
+
+class webqtlCaseData:
+    """one case data in one trait"""
+
+    def __init__(self, name, value=None, variance=None, num_cases=None, name2=None):
+        self.name = name
+        # Other name (for traits like BXD65a)
+        self.name2 = name2
+        self.value = value                  # Trait Value
+        self.variance = variance            # Trait Variance
+        self.num_cases = num_cases          # Number of individuals/cases
+        self.extra_attributes = None
+        # Set a sane default (can't be just "id" cause that's a reserved word)
+        self.this_id = None
+        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"