def retrieve_sample_data(trait, dataset, samplelist=None): if samplelist == None: samplelist = [] if dataset.type == "Temp": results = Redis.get(trait.name).split() else: results = dataset.retrieve_sample_data(trait.name) # Todo: is this necessary? If not remove trait.data.clear() if results: if dataset.type == "Temp": all_samples_ordered = dataset.group.all_samples_ordered() for i, item in enumerate(results): try: trait.data[all_samples_ordered[i]] = webqtlCaseData(all_samples_ordered[i], float(item)) except: pass else: for item in results: name, value, variance, num_cases, name2 = item if not samplelist or (samplelist and name in samplelist): trait.data[name] = webqtlCaseData(*item) #name, value, variance, num_cases) return trait
def __init__(self, dataset, sample_names, this_trait, sample_group_type, header): self.dataset = dataset self.this_trait = this_trait self.sample_group_type = sample_group_type # primary or other self.header = header self.sample_list = [] # The actual list self.sample_attribute_values = {} self.get_attributes() print("camera: attributes are:", pf(self.attributes)) if self.this_trait and self.dataset and self.dataset.type == 'ProbeSet': self.get_extra_attribute_values() for counter, sample_name in enumerate(sample_names, 1): sample_name = sample_name.replace("_2nd_", "") #ZS - If there's no value for the sample/strain, create the sample object (so samples with no value are still displayed in the table) try: sample = self.this_trait.data[sample_name] except KeyError: print("No sample %s, let's create it now" % sample_name) sample = webqtlCaseData.webqtlCaseData(sample_name) #sampleNameAdd = '' #if fd.RISet == 'AXBXA' and sampleName in ('AXB18/19/20','AXB13/14','BXA8/17'): # sampleNameAdd = HT.Href(url='/mouseCross.html#AXB/BXA', text=HT.Sup('#'), Class='fs12', target="_blank") sample.extra_info = {} if self.dataset.group.name == 'AXBXA' and sample_name in ( 'AXB18/19/20', 'AXB13/14', 'BXA8/17'): sample.extra_info['url'] = "/mouseCross.html#AXB/BXA" sample.extra_info['css_class'] = "fs12" print(" type of sample:", type(sample)) if sample_group_type == 'primary': sample.this_id = "Primary_" + str(counter) else: sample.this_id = "Other_" + str(counter) #### For extra attribute columns; currently only used by several datasets - Zach if self.sample_attribute_values: sample.extra_attributes = self.sample_attribute_values.get( sample_name, {}) print("sample.extra_attributes is", pf(sample.extra_attributes)) self.sample_list.append(sample) print("self.attributes is", pf(self.attributes)) self.do_outliers() #do_outliers(the_samples) print("*the_samples are [%i]: %s" % (len(self.sample_list), pf(self.sample_list))) for sample in self.sample_list: print("apple:", type(sample), sample)
def __init__(self, dataset, sample_names, this_trait, sample_group_type, header): self.dataset = dataset self.this_trait = this_trait self.sample_group_type = sample_group_type # primary or other self.header = header self.sample_list = [] # The actual list self.sample_attribute_values = {} self.get_attributes() print("camera: attributes are:", pf(self.attributes)) if self.this_trait and self.dataset and self.dataset.type == 'ProbeSet': self.get_extra_attribute_values() for counter, sample_name in enumerate(sample_names, 1): sample_name = sample_name.replace("_2nd_", "") #ZS - If there's no value for the sample/strain, create the sample object (so samples with no value are still displayed in the table) try: sample = self.this_trait.data[sample_name] except KeyError: print("No sample %s, let's create it now" % sample_name) sample = webqtlCaseData.webqtlCaseData(sample_name) #sampleNameAdd = '' #if fd.RISet == 'AXBXA' and sampleName in ('AXB18/19/20','AXB13/14','BXA8/17'): # sampleNameAdd = HT.Href(url='/mouseCross.html#AXB/BXA', text=HT.Sup('#'), Class='fs12', target="_blank") sample.extra_info = {} if self.dataset.group.name == 'AXBXA' and sample_name in ('AXB18/19/20','AXB13/14','BXA8/17'): sample.extra_info['url'] = "/mouseCross.html#AXB/BXA" sample.extra_info['css_class'] = "fs12" print(" type of sample:", type(sample)) if sample_group_type == 'primary': sample.this_id = "Primary_" + str(counter) else: sample.this_id = "Other_" + str(counter) #### For extra attribute columns; currently only used by several datasets - Zach if self.sample_attribute_values: sample.extra_attributes = self.sample_attribute_values.get(sample_name, {}) print("sample.extra_attributes is", pf(sample.extra_attributes)) self.sample_list.append(sample) print("self.attributes is", pf(self.attributes)) self.do_outliers() #do_outliers(the_samples) print("*the_samples are [%i]: %s" % (len(self.sample_list), pf(self.sample_list))) for sample in self.sample_list: print("apple:", type(sample), sample)
def retrieve_sample_data(self, samplelist=None): if samplelist == None: samplelist = [] #assert self.dataset #if self.cellid: # #Probe Data # query = ''' # SELECT # Strain.Name, ProbeData.value, ProbeSE.error, ProbeData.Id # FROM # (ProbeData, ProbeFreeze, ProbeSetFreeze, ProbeXRef, # Strain, Probe, ProbeSet) # left join ProbeSE on # (ProbeSE.DataId = ProbeData.Id AND ProbeSE.StrainId = ProbeData.StrainId) # WHERE # Probe.Name = '%s' AND ProbeSet.Name = '%s' AND # Probe.ProbeSetId = ProbeSet.Id AND # ProbeXRef.ProbeId = Probe.Id AND # ProbeXRef.ProbeFreezeId = ProbeFreeze.Id AND # ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id AND # ProbeSetFreeze.Name = '%s' AND # ProbeXRef.DataId = ProbeData.Id AND # ProbeData.StrainId = Strain.Id # Order BY # Strain.Name # ''' % (self.cellid, self.name, self.dataset.name) # #else: results = self.dataset.retrieve_sample_data(self.name) # Todo: is this necessary? If not remove self.data.clear() if self.dataset.group.parlist: all_samples_ordered = (self.dataset.group.parlist + self.dataset.group.f1list + self.dataset.group.samplelist) elif self.dataset.group.f1list: all_samples_ordered = self.dataset.group.f1list + self.dataset.group.samplelist else: all_samples_ordered = self.dataset.group.samplelist if results: for item in results: name, value, variance, num_cases = item if not samplelist or (samplelist and name in samplelist): self.data[name] = webqtlCaseData(*item) #name, value, variance, num_cases)
def retrieve_sample_data(self, samplelist=None): if samplelist == None: samplelist = [] results = self.dataset.retrieve_sample_data(self.name) # Todo: is this necessary? If not remove self.data.clear() all_samples_ordered = self.dataset.group.all_samples_ordered() if results: for item in results: 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)
def retrieve_sample_data(self, samplelist=None): if samplelist == None: samplelist = [] results = self.dataset.retrieve_sample_data(self.name) # Todo: is this necessary? If not remove self.data.clear() all_samples_ordered = self.dataset.group.all_samples_ordered() if results: for item in results: name, value, variance, num_cases = item if not samplelist or (samplelist and name in samplelist): self.data[name] = webqtlCaseData(*item) #name, value, variance, num_cases)
def __init__(self, dataset, sample_names, this_trait, sample_group_type="primary", header="Samples"): self.dataset = dataset self.this_trait = this_trait self.sample_group_type = sample_group_type # primary or other self.header = header self.sample_list = [] # The actual list self.sample_attribute_values = {} self.get_attributes() if self.this_trait and self.dataset: self.get_extra_attribute_values() for counter, sample_name in enumerate(sample_names, 1): sample_name = sample_name.replace("_2nd_", "") # ZS: self.this_trait will be a list if it is a Temp trait if isinstance(self.this_trait, list): sample = webqtlCaseData.webqtlCaseData(name=sample_name) if counter <= len(self.this_trait): if isinstance(self.this_trait[counter - 1], (bytes, bytearray)): if (self.this_trait[counter - 1].decode("utf-8").lower() != 'x'): sample = webqtlCaseData.webqtlCaseData( name=sample_name, value=float(self.this_trait[counter - 1])) else: if (self.this_trait[counter - 1].lower() != 'x'): sample = webqtlCaseData.webqtlCaseData( name=sample_name, value=float(self.this_trait[counter - 1])) else: # ZS - If there's no value for the sample/strain, # create the sample object (so samples with no value # are still displayed in the table) try: sample = self.this_trait.data[sample_name] except KeyError: sample = webqtlCaseData.webqtlCaseData(name=sample_name) sample.extra_info = {} if (self.dataset.group.name == 'AXBXA' and sample_name in ('AXB18/19/20', 'AXB13/14', 'BXA8/17')): sample.extra_info['url'] = "/mouseCross.html#AXB/BXA" sample.extra_info['css_class'] = "fs12" sample.this_id = str(counter) # ZS: For extra attribute columns; currently only used by # several datasets if self.sample_attribute_values: sample.extra_attributes = self.sample_attribute_values.get( sample_name, {}) self.sample_list.append(sample) self.se_exists = any(sample.variance for sample in self.sample_list) self.num_cases_exists = any(sample.num_cases for sample in self.sample_list) first_attr_col = self.get_first_attr_col() for sample in self.sample_list: sample.first_attr_col = first_attr_col self.do_outliers()
def __init__(self, dataset, sample_names, this_trait, sample_group_type="primary", header="Samples"): self.dataset = dataset self.this_trait = this_trait self.sample_group_type = sample_group_type # primary or other self.header = header self.sample_list = [] # The actual list self.sample_attribute_values = {} self.get_attributes() #self.sample_qnorm = get_transform_vals(self.dataset, this_trait) if self.this_trait and self.dataset: self.get_extra_attribute_values() for counter, sample_name in enumerate(sample_names, 1): sample_name = sample_name.replace("_2nd_", "") if type( self.this_trait ) is list: #ZS: self.this_trait will be a list if it is a Temp trait if counter <= len(self.this_trait) and str( self.this_trait[counter - 1]).upper() != 'X': sample = webqtlCaseData.webqtlCaseData( name=sample_name, value=float(self.this_trait[counter - 1])) else: sample = webqtlCaseData.webqtlCaseData(name=sample_name) else: #ZS - If there's no value for the sample/strain, create the sample object (so samples with no value are still displayed in the table) try: sample = self.this_trait.data[sample_name] except KeyError: #logger.debug("No sample %s, let's create it now" % sample_name) sample = webqtlCaseData.webqtlCaseData(name=sample_name) sample.extra_info = {} if self.dataset.group.name == 'AXBXA' and sample_name in ( 'AXB18/19/20', 'AXB13/14', 'BXA8/17'): sample.extra_info['url'] = "/mouseCross.html#AXB/BXA" sample.extra_info['css_class'] = "fs12" sample.this_id = str(counter) #### For extra attribute columns; currently only used by several datasets - Zach if self.sample_attribute_values: sample.extra_attributes = self.sample_attribute_values.get( sample_name, {}) #logger.debug("sample.extra_attributes is", pf(sample.extra_attributes)) self.sample_list.append(sample) #logger.debug("attribute vals are", pf(self.sample_attribute_values)) self.do_outliers()
def setUp(self): self.w = webqtlCaseData(name="Test", value=0, variance=0.0, num_cases=10, name2="Test2")