def test_get_annotation_names(self): schema_with_annotations = bigquery_schema_util.get_sample_table_schema( with_annotation_fields=True) self.assertEqual( bq_to_vcf._extract_annotation_names(schema_with_annotations), {'CSQ': ['Consequence', 'IMPACT']}) schema_with_no_annotation = bigquery_schema_util.get_sample_table_schema( ) self.assertEqual( bq_to_vcf._extract_annotation_names(schema_with_no_annotation), {})
def test_schema_to_vcf_header_to_schema(self): original_schema = bigquery_schema_util.get_sample_table_schema() header = bigquery_vcf_schema_converter.generate_header_fields_from_schema( original_schema) reconstructed_schema = ( bigquery_vcf_schema_converter.generate_schema_from_header_fields( header, processed_variant.ProcessedVariantFactory(header))) self.assertEqual(_get_fields_from_schema(reconstructed_schema), _get_fields_from_schema(original_schema))
def test_generate_header_fields_from_schema(self): sample_schema = bigquery_schema_util.get_sample_table_schema() header = schema_converter.generate_header_fields_from_schema( sample_schema) infos = OrderedDict([ ('AF', createInfo('AF', 'A', 'Float', 'desc', None, None)), ('AA', createInfo('AA', 1, 'String', 'desc', None, None)), ('IFR', createInfo('IFR', '.', 'Float', 'desc', None, None)), ('IS', createInfo('IS', 1, 'String', 'desc', None, None))]) formats = OrderedDict([ ('FB', createFormat('FB', 1, 'String', 'desc')), ('GQ', createFormat('GQ', 1, 'Integer', 'desc'))]) expected_header = vcf_header_io.VcfHeader(infos=infos, formats=formats) self.assertEqual(header, expected_header)
def test_generate_header_fields_from_schema_with_annotation(self): sample_schema = bigquery_schema_util.get_sample_table_schema( with_annotation_fields=True) header = bigquery_vcf_schema_converter.generate_header_fields_from_schema( sample_schema) infos = OrderedDict([ ('AF', Info('AF', field_counts['A'], 'Float', 'desc', None, None)), ('CSQ', Info('CSQ', field_counts['.'], 'String', 'desc Format: Consequence|IMPACT', None, None)), ('AA', Info('AA', 1, 'String', 'desc', None, None)), ('IFR', Info('IFR', field_counts['.'], 'Float', 'desc', None, None)), ('IS', Info('IS', 1, 'String', 'desc', None, None)) ]) formats = OrderedDict([('FB', parser._Format('FB', 0, 'Flag', 'desc')), ('GQ', parser._Format('GQ', 1, 'Integer', 'desc'))]) expected_header = vcf_header_io.VcfHeader(infos=infos, formats=formats) self.assertEqual(header, expected_header)