def write_record(self, individual, data_samples, data_collection_samples=None): allele_patterns = {0: 'AA', 1: 'BB', 2:'AB', 3: 'NN'} if data_collection_samples: dsamples = [d for d in data_samples if d in data_collection_samples] else: dsamples = data_samples if len(dsamples) > 0: if self.igd: dsamples = dsamples[:1] for ds in dsamples: start = time.time() probs, _ = ds.resolve_to_data() end = time.time() - start self.counter['total_fetch_time'] += end if end < self.counter['faster_fetch'] or 'faster_fetch' not in self.counter: self.counter['faster_fetch'] = end if end > self.counter['slower_fetch']: self.counter['slower_fetch'] = end self.logger.debug('Retrieved data for %s in %f seconds' % (ds.label, end)) if probs is not None: self.counter['fetched_samples'] += 1 self.out_ds_csvw.writerow([ds.id]) disc_probs = [allele_patterns[x] for x in project_to_discrete_genotype(probs)] if self.tro: self.out_gt_csvw.writerow(disc_probs) else: self.out_data.append(disc_probs)
def dump_genotype(fo, data_sample): if data_sample is None: probs = self.null_probs else: probs, _ = data_sample.resolve_to_data() if self.selected_markers: probs = probs[:, self.selected_markers] fo.write('\t'.join([allele_patterns[x] for x in project_to_discrete_genotype(probs)])) fo.write('\n')
def write_record(self, individual, data_samples, data_collection_samples=None): allele_patterns = {0: 'AA', 1: 'BB', 2: 'AB', 3: 'NN'} if data_collection_samples: dsamples = [ d for d in data_samples if d in data_collection_samples ] else: dsamples = data_samples if len(dsamples) > 0: if self.igd: dsamples = dsamples[:1] for ds in dsamples: start = time.time() probs, _ = ds.resolve_to_data() end = time.time() - start self.counter['total_fetch_time'] += end if end < self.counter[ 'faster_fetch'] or 'faster_fetch' not in self.counter: self.counter['faster_fetch'] = end if end > self.counter['slower_fetch']: self.counter['slower_fetch'] = end self.logger.debug('Retrieved data for %s in %f seconds' % (ds.label, end)) if probs is not None: self.counter['fetched_samples'] += 1 self.out_ds_csvw.writerow([ds.id]) disc_probs = [ allele_patterns[x] for x in project_to_discrete_genotype(probs) ] if self.tro: self.out_gt_csvw.writerow(disc_probs) else: self.out_data.append(disc_probs)