def test_write_headers(self): header = _get_vcf_header_from_lines(self.lines) with temp_dir.TempDir() as tempdir: tempfile = tempdir.create_temp_file(suffix='.vcf') header_fn = WriteVcfHeaderFn(tempfile) header_fn.process(header) self._assert_file_contents_equal(tempfile, self.lines)
def test_write_headers_with_vcf_version_line(self): header = _get_vcf_header_from_lines(self.lines) vcf_version_line = '##fileformat=VCFv4.3\n' expected_results = [ vcf_version_line.encode('utf-8'), b'##INFO=<ID=NS,Number=1,Type=Integer,Description="Number samples">\n', b'##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency">\n', b'##INFO=<ID=HG,Number=G,Type=Integer,Description="IntInfo_G">\n', b'##INFO=<ID=HR,Number=R,Type=String,Description="ChrInfo_R">\n', b'##FILTER=<ID=MPCBT,Description="Mate pair count below 10">\n', b'##ALT=<ID=INS:ME:MER,Description="Insertion of MER element">\n', b'##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">\n', b'##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="GQ">\n', b'#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT\n' ] with temp_dir.TempDir() as tempdir: tempfile = tempdir.create_temp_file(suffix='.vcf') header_fn = WriteVcfHeaderFn(tempfile) header_fn.process(header, vcf_version_line) with open(tempfile, 'rb') as f: actual = f.readlines() self.assertCountEqual(actual, expected_results)