aboutsummaryrefslogtreecommitdiff
path: root/wqflask/base
diff options
context:
space:
mode:
authorzsloan2016-05-23 22:23:51 +0000
committerzsloan2016-05-23 22:23:51 +0000
commit29b50856ab9b9ef87b81228b782dd6bebe28b7c1 (patch)
tree5dd197acac06dfaea5aae7823b6e903695207c00 /wqflask/base
parentf7520d9a6e05b103bab983c31ef0e53fad59f5e6 (diff)
downloadgenenetwork2-29b50856ab9b9ef87b81228b782dd6bebe28b7c1.tar.gz
Reaper mapping results are now correct and account for samples with two names (like BXD65a)
R/qtl and PYLMM still not working with the change and bootstrap results are also still wrong, so need to fix those issues.
Diffstat (limited to 'wqflask/base')
-rw-r--r--wqflask/base/data_set.py6
-rw-r--r--wqflask/base/trait.py46
-rwxr-xr-xwqflask/base/webqtlCaseData.py3
-rw-r--r--[-rwxr-xr-x]wqflask/base/webqtlConfig.py0
4 files changed, 9 insertions, 46 deletions
diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py
index 053b45fc..4953e728 100644
--- a/wqflask/base/data_set.py
+++ b/wqflask/base/data_set.py
@@ -711,7 +711,7 @@ class PhenotypeDataSet(DataSet):
def retrieve_sample_data(self, trait):
query = """
SELECT
- Strain.Name, PublishData.value, PublishSE.error, NStrain.count
+ Strain.Name, PublishData.value, PublishSE.error, NStrain.count, Strain.Name2
FROM
(PublishData, Strain, PublishXRef, PublishFreeze)
left join PublishSE on
@@ -803,7 +803,7 @@ class GenotypeDataSet(DataSet):
def retrieve_sample_data(self, trait):
query = """
SELECT
- Strain.Name, GenoData.value, GenoSE.error, GenoData.Id
+ Strain.Name, GenoData.value, GenoSE.error, GenoData.Id, Sample.Name2
FROM
(GenoData, GenoFreeze, Strain, Geno, GenoXRef)
left join GenoSE on
@@ -1031,7 +1031,7 @@ class MrnaAssayDataSet(DataSet):
def retrieve_sample_data(self, trait):
query = """
SELECT
- Strain.Name, ProbeSetData.value, ProbeSetSE.error, ProbeSetData.Id
+ Strain.Name, ProbeSetData.value, ProbeSetSE.error, ProbeSetData.Id, Strain.Name2
FROM
(ProbeSetData, ProbeSetFreeze, Strain, ProbeSet, ProbeSetXRef)
left join ProbeSetSE on
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py
index af22b5a1..05ee3d96 100644
--- a/wqflask/base/trait.py
+++ b/wqflask/base/trait.py
@@ -180,13 +180,15 @@ class GeneralTrait(object):
samples = []
vals = []
the_vars = []
+ sample_aliases = []
for sample_name, sample_data in self.data.items():
if sample_data.value != None:
if not include_variance or sample_data.variance != None:
samples.append(sample_name)
vals.append(sample_data.value)
the_vars.append(sample_data.variance)
- return samples, vals, the_vars
+ sample_aliases.append(sample_data.name2)
+ return samples, vals, the_vars, sample_aliases
#
@@ -230,7 +232,7 @@ class GeneralTrait(object):
if results:
for item in results:
- name, value, variance, num_cases = item
+ name, value, variance, num_cases, name2 = item
if not samplelist or (samplelist and name in samplelist):
self.data[name] = webqtlCaseData(*item) #name, value, variance, num_cases)
@@ -308,46 +310,6 @@ class GeneralTrait(object):
if isinstance(trait_info[i], basestring):
holder = unicode(trait_info[i], "utf8", "ignore")
setattr(self, field, holder)
-<<<<<<< HEAD
-
- description_string = unicode(str(self.description).strip(codecs.BOM_UTF8), 'utf-8')
- target_string = unicode(str(self.probe_target_description).strip(codecs.BOM_UTF8), 'utf-8')
-
- if len(description_string) > 1 and description_string != 'None':
- description_display = description_string
- else:
- description_display = self.symbol
-
- if (len(description_display) > 1 and description_display != 'N/A' and
- len(target_string) > 1 and target_string != 'None'):
- description_display = description_display + '; ' + target_string.strip()
-
- # Save it for the jinja2 template
- self.description_display = description_display
-
- #XZ: trait_location_value is used for sorting
- trait_location_repr = 'N/A'
- trait_location_value = 1000000
-
- if self.chr and self.mb:
- #Checks if the chromosome number can be cast to an int (i.e. isn't "X" or "Y")
- #This is so we can convert the location to a number used for sorting
- trait_location_value = convert_location_to_value(self.chr, self.mb)
- #try:
- # trait_location_value = int(self.chr)*1000 + self.mb
- #except ValueError:
- # if self.chr.upper() == 'X':
- # trait_location_value = 20*1000 + self.mb
- # else:
- # trait_location_value = (ord(str(self.chr).upper()[0])*1000 +
- # self.mb)
-
- #ZS: Put this in function currently called "convert_location_to_value"
- self.location_repr = 'Chr%s: %.6f' % (self.chr, float(self.mb))
- self.location_value = trait_location_value
-
-=======
->>>>>>> e0c5c1aae3aaaa1d81bcec36835a97e169dcc2e2
if self.dataset.type == 'Publish':
self.confidential = 0
diff --git a/wqflask/base/webqtlCaseData.py b/wqflask/base/webqtlCaseData.py
index 42763aed..99a34866 100755
--- a/wqflask/base/webqtlCaseData.py
+++ b/wqflask/base/webqtlCaseData.py
@@ -29,8 +29,9 @@ print("Mr. Mojo Risin 2")
class webqtlCaseData(object):
"""one case data in one trait"""
- def __init__(self, name, value=None, variance=None, num_cases=None):
+ 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
diff --git a/wqflask/base/webqtlConfig.py b/wqflask/base/webqtlConfig.py
index 0358bcbf..0358bcbf 100755..100644
--- a/wqflask/base/webqtlConfig.py
+++ b/wqflask/base/webqtlConfig.py