def _createMutRow(self,m): if m is None: return None # Calculate values # TODO: This is a sloppy way to do GT n_lod = self._extract_lod(m, 'init_n_lod') t_lod = self._extract_lod(m, 't_lod_fstar') # Nothing to call if both LODs are too low. if (t_lod < 0) and (n_lod < 0): return qual = max(t_lod, 0) gtN, gtT = self.genotype(n_lod, t_lod) ref,alt,new_start = MutUtils.retrievePrecedingBaseFromReference(m) ss,ssCode = self.determineSomaticStatus(gtN, gtT, qual) if ss is None or ssCode is None: return n_alt_count = self._get_annotation_value(m, 'n_alt_count', '0', is_blank_default=True) n_ref_count = self._get_annotation_value(m, 'n_ref_count', '0', is_blank_default=True) n_alt_sum = self._get_annotation_value(m, 'n_alt_sum', '0', is_blank_default=True) t_alt_count = self._get_annotation_value(m, 't_alt_count', '0', is_blank_default=True) t_ref_count = self._get_annotation_value(m, 't_ref_count', '0', is_blank_default=True) t_alt_sum = self._get_annotation_value(m, 't_alt_sum', '0', is_blank_default=True) mq0=0 normalFormat = self._generateFormatFieldWithValues(gtN, n_alt_count, n_ref_count, mq0, self._generateBQ(n_alt_count, n_alt_sum), ssCode) primaryFormat = self._generateFormatFieldWithValues(gtT, t_alt_count, t_ref_count, mq0, self._generateBQ(t_alt_count, t_alt_sum), ssCode) filterVal = self._generateFilterField(m) info = self._generateInfoField(m,filterVal, mq0, ss) #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NORMAL PRIMARY mutRow = dict() mutRow['CHROM'] = self._renderChrom(m.chr) mutRow['POS'] = new_start mutRow['ID'] = self.renderID(m) mutRow['REF'] = ref mutRow['ALT'] = alt mutRow['QUAL'] = qual mutRow['FILTER'] = filterVal mutRow['INFO'] = info mutRow['FORMAT'] = self._generateFormatField() mutRow['NORMAL'] = normalFormat mutRow['PRIMARY'] = primaryFormat return mutRow
def _createMutRow(self, m): if m is None: return None # Calculate values # TODO: This is a sloppy way to do GT n_lod = self._extract_lod(m, 'init_n_lod') t_lod = self._extract_lod(m, 't_lod_fstar') # Nothing to call if both LODs are too low. if (t_lod < 0) and (n_lod < 0): return qual = max(t_lod, 0) gtN, gtT = self.genotype(n_lod, t_lod) ref, alt, new_start = MutUtils.retrievePrecedingBaseFromReference(m) ss, ssCode = self.determineSomaticStatus(gtN, gtT, qual) if ss is None or ssCode is None: return n_alt_count = self._get_annotation_value(m, 'n_alt_count', '0', is_blank_default=True) n_ref_count = self._get_annotation_value(m, 'n_ref_count', '0', is_blank_default=True) n_alt_sum = self._get_annotation_value(m, 'n_alt_sum', '0', is_blank_default=True) t_alt_count = self._get_annotation_value(m, 't_alt_count', '0', is_blank_default=True) t_ref_count = self._get_annotation_value(m, 't_ref_count', '0', is_blank_default=True) t_alt_sum = self._get_annotation_value(m, 't_alt_sum', '0', is_blank_default=True) mq0 = 0 normalFormat = self._generateFormatFieldWithValues( gtN, n_alt_count, n_ref_count, mq0, self._generateBQ(n_alt_count, n_alt_sum), ssCode) primaryFormat = self._generateFormatFieldWithValues( gtT, t_alt_count, t_ref_count, mq0, self._generateBQ(t_alt_count, t_alt_sum), ssCode) filterVal = self._generateFilterField(m) info = self._generateInfoField(m, filterVal, mq0, ss) #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NORMAL PRIMARY mutRow = dict() mutRow['CHROM'] = self._renderChrom(m.chr) mutRow['POS'] = new_start mutRow['ID'] = self.renderID(m) mutRow['REF'] = ref mutRow['ALT'] = alt mutRow['QUAL'] = qual mutRow['FILTER'] = filterVal mutRow['INFO'] = info mutRow['FORMAT'] = self._generateFormatField() mutRow['NORMAL'] = normalFormat mutRow['PRIMARY'] = primaryFormat return mutRow