def test_add_tag_values_oneValueReturnsNull(self): tag = summarize_caller._DepthRangeTag() sample_tag_values = {"SA": {"JQ_foo_DP": "."}} record = VcfRecord("CHROM", "POS", "REF", "ALT", sample_tag_values=sample_tag_values) tag.add_tag_values(record) self.assertEquals(".", record.sample_tag_values["SA"][DepthRangeTagTestCase._TAG_ID])
def test_add_tag_values_rounds(self): tag = summarize_caller._DepthRangeTag() sample_tag_values = {"SA": {"JQ_foo_DP": "0", "JQ_bar_DP": "42.666666"}} record = VcfRecord("CHROM", "POS", "REF", "ALT", sample_tag_values=sample_tag_values) tag.add_tag_values(record) self.assertEquals("42.6667", record.sample_tag_values["SA"][DepthRangeTagTestCase._TAG_ID])
def test_add_tag_values_nullsDoNotCount(self): tag = summarize_caller._DepthRangeTag() sample_tag_values = {"SA": {"JQ_foo_DP": ".", "JQ_bar_DP": "1", "JQ_baz_DP":"2"}} record = VcfRecord("CHROM", "POS", "REF", "ALT", sample_tag_values=sample_tag_values) tag.add_tag_values(record) self.assertEquals("1", record.sample_tag_values["SA"][DepthRangeTagTestCase._TAG_ID])
def test_add_tag_values_inconsistentMultAlt(self): tag = summarize_caller._DepthRangeTag() sample_tag_values = {"SA": {"JQ_foo_DP": "0,0.1", "JQ_bar_DP": "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_metaheader(self): split_meta_header = summarize_caller._DepthRangeTag().metaheader.split("\n") self.assertEquals('##FORMAT=<ID={0}DP_RANGE,Number=1,Type=Float,Description="Max(depth) - min (depth) across recognized callers.">'.format(summarize_caller.JQ_SUMMARY_TAG), split_meta_header[0])