def ingestLine(self, line):
    global VARIANT_TAB, FACET_TAB, TRANSCRIPT_TAB
    if line.endswith('\n'):
        line = line[:(- 1)]
    fields = line.split('\t')
    chrom = ('chr' + str(fields[0]))
    pos = int(fields[1])
    new_record = False
    if ((self.mCurRecord is None) or ((chrom, pos) != self.mCurRecord[0])):
        new_record = True
    new_variant = new_record
    var_data = dict()
    for (name, val) in iterFields(fields, VARIANT_TAB):
        var_data[name] = val
        if ((not new_variant) and (val != self.mCurRecord[1][(- 1)][name])):
            new_variant = True
    facet_data = {name: val for (name, val) in iterFields(fields, FACET_TAB)}
    tr_data_seq = None
    for (name, val_seq) in iterDeepFields(fields, TRANSCRIPT_TAB):
        if (tr_data_seq is None):
            tr_data_seq = [{name: val} for val in val_seq]
        else:
            for (idx, val) in enumerate(val_seq):
                tr_data_seq[idx][name] = val
    if (tr_data_seq is None):
        tr_data_seq = []
    facet_data['transcripts'] = tr_data_seq
    self.mCounts[2] += len(tr_data_seq)
    self.mCounts[1] += 1
    ret = None
    if new_record:
        self.mCounts[0] += 1
        var_data['facets'] = [facet_data]
        (ret, self.mCurRecord) = (self.mCurRecord, [(chrom, pos), [var_data]])
    elif new_variant:
        self.mCounts[0] += 1
        var_data['facets'] = [facet_data]
        self.mCurRecord[1].append(var_data)
    else:
        self.mCurRecord[1][(- 1)]['facets'].append(facet_data)
    return ret
def ingestLine(self, line):
    global VARIANT_TAB, FACET_TAB, TRANSCRIPT_TAB
    if line.endswith('\n'):
        line = line[:(- 1)]
    fields = line.split('\t')
    chrom = ('chr' + str(fields[0]))
    pos = int(fields[1])
    new_record = False
    if ((self.mCurRecord is None) or ((chrom, pos) != self.mCurRecord[0])):
        new_record = True
    new_variant = new_record
    var_data = dict()
    for (name, val) in iterFields(fields, VARIANT_TAB):
        var_data[name] = val
        if ((not new_variant) and (val != self.mCurRecord[1][(- 1)][name])):
            new_variant = True
    facet_data = {name: val for (name, val) in iterFields(fields, FACET_TAB)}
    tr_data_seq = None
    for (name, val_seq) in iterDeepFields(fields, TRANSCRIPT_TAB):
        if (tr_data_seq is None):
            tr_data_seq = [{name: val} for val in val_seq]
        else:
            for (idx, val) in enumerate(val_seq):
                tr_data_seq[idx][name] = val
    if (tr_data_seq is None):
        tr_data_seq = []
    facet_data['transcripts'] = tr_data_seq
    self.mCounts[2] += len(tr_data_seq)
    self.mCounts[1] += 1
    ret = None
    if new_record:
        self.mCounts[0] += 1
        var_data['facets'] = [facet_data]
        (ret, self.mCurRecord) = (self.mCurRecord, [(chrom, pos), [var_data]])
    elif new_variant:
        self.mCounts[0] += 1
        var_data['facets'] = [facet_data]
        self.mCurRecord[1].append(var_data)
    else:
        self.mCurRecord[1][(- 1)]['facets'].append(facet_data)
    return ret