def test_add_tag_values_rounds(self):
        tag = summarize_caller._AlleleFreqAverageTag()
        sample_tag_values = {"SA": {"JQ_foo_AF": "0", "JQ_bar_AF": "0.666666"}}
        record = VcfRecord("CHROM", "POS", "REF", "ALT",
                           sample_tag_values=sample_tag_values)
        tag.add_tag_values(record)

        self.assertEquals("0.3333", record.sample_tag_values["SA"][AlleleFreqAverageTagTestCase._TAG_ID])
    def test_add_tag_values_missingTag(self):
        tag = summarize_caller._AlleleFreqAverageTag()
        sample_tag_values = {"SA": {"JQ_foo_XX": "."}}
        record = VcfRecord("CHROM", "POS", "REF", "ALT",
                           sample_tag_values=sample_tag_values)
        tag.add_tag_values(record)

        self.assertEquals(".", record.sample_tag_values["SA"][AlleleFreqAverageTagTestCase._TAG_ID])
 def test_add_tag_values_inconsistentMultAlt(self):
     tag = summarize_caller._AlleleFreqAverageTag()
     sample_tag_values = {"SA": {"JQ_foo_AF": "0,0.1", "JQ_bar_AF": "0.2"}}
     record = VcfRecord("CHROM", "POS", "REF", "ALT",
                        sample_tag_values=sample_tag_values)
     self.assertRaisesRegexp(JQException,
                             r"Error summarizing values \[.*\] at record \[.*\]",
                             tag.add_tag_values,
                             record)
    def test_add_tag_values_multAlts(self):
        tag = summarize_caller._AlleleFreqAverageTag()
        sample_tag_values = {"SA": {"JQ_foo_AF": "0,0.1", "JQ_bar_AF": "0.1,0.2"},
                             "SB": {"JQ_foo_AF": "0.2", "JQ_bar_AF": "0.3"}}
        record = VcfRecord("CHROM", "POS", "REF", "ALT",
                           sample_tag_values=sample_tag_values)
        tag.add_tag_values(record)

        self.assertEquals("0.05,0.15", record.sample_tag_values["SA"][AlleleFreqAverageTagTestCase._TAG_ID])
 def test_metaheader(self):
     split_meta_header = summarize_caller._AlleleFreqAverageTag().metaheader.split("\n")
     self.assertEqual('##FORMAT=<ID={0}AF_AVERAGE,Number=1,Type=Float,Description="Average allele frequency across recognized variant callers that reported frequency for this sample-locus [average(JQ_*_AF)].">'.format(summarize_caller.JQ_SUMMARY_TAG),
                      split_meta_header[0])