def get_vcf_header(self, sample_name, contigs): header = VariantHeader() items = [('ID', "PASS"), ('Description', "All filters passed")] header.add_meta(key='FILTER', items=items) items = [('ID', "refCall"), ('Description', "Call is homozygous")] header.add_meta(key='FILTER', items=items) items = [('ID', "lowGQ"), ('Description', "Low genotype quality")] header.add_meta(key='FILTER', items=items) items = [('ID', "lowQUAL"), ('Description', "Low variant call quality")] header.add_meta(key='FILTER', items=items) items = [('ID', "conflictPos"), ('Description', "Overlapping record")] header.add_meta(key='FILTER', items=items) items = [('ID', "GT"), ('Number', 1), ('Type', 'String'), ('Description', "Genotype")] header.add_meta(key='FORMAT', items=items) items = [('ID', "GQ"), ('Number', 1), ('Type', 'Float'), ('Description', "Genotype Quality")] header.add_meta(key='FORMAT', items=items) sqs = self.fasta_handler.get_chromosome_names() for sq in sqs: if sq not in contigs: continue sq_id = sq ln = self.fasta_handler.get_chromosome_sequence_length(sq) header.contigs.add(sq_id, length=ln) header.add_sample(sample_name) return header
def get_vcf_header(self, sample_name): header = VariantHeader() items = [('ID', "PASS"), ('Description', "All filters passed")] header.add_meta(key='FILTER', items=items) items = [('ID', "refCall"), ('Description', "Call is homozygous")] header.add_meta(key='FILTER', items=items) items = [('ID', "lowGQ"), ('Description', "Low genotype quality")] header.add_meta(key='FILTER', items=items) items = [('ID', "lowQUAL"), ('Description', "Low variant call quality")] header.add_meta(key='FILTER', items=items) items = [('ID', "conflictPos"), ('Description', "Overlapping record")] header.add_meta(key='FILTER', items=items) items = [('ID', "GT"), ('Number', 1), ('Type', 'String'), ('Description', "Genotype")] header.add_meta(key='FORMAT', items=items) items = [('ID', "GQ"), ('Number', 1), ('Type', 'Float'), ('Description', "Genotype Quality")] header.add_meta(key='FORMAT', items=items) bam_sqs = self.bam_handler.get_header_sq() for sq in bam_sqs: id = sq['SN'] ln = sq['LN'] items = [('ID', id), ('length', ln)] header.add_meta(key='contig', items=items) header.add_sample(sample_name) return header