def test_asTextWhenEmptyFormatField(self): sampleA = OrderedDict({}) sampleB = OrderedDict({}) sample_tag_values = OrderedDict({"SampleA": sampleA, "SampleB": sampleB}) record = VcfRecord("CHROM", "POS", "REF", "ALT", "ID", "QUAL", "FILTER", "INFO", sample_tag_values) expected = self.entab("CHROM|POS|ID|REF|ALT|QUAL|FILTER|INFO|.|.|.\n") self.assertEquals(expected, record.text())
def test_text(self): sampleA = OrderedDict(sorted({"F1": "SA.1", "F2": "SA.2", "F3": "SA.3"}.items())) sampleB = OrderedDict(sorted({"F1": "SB.1", "F2": "SB.2", "F3": "SB.3"}.items())) sample_tag_values = OrderedDict(sorted({"SampleA": sampleA, "SampleB": sampleB}.items())) record = VcfRecord("CHROM", "POS", "REF", "ALT", "ID", "QUAL", "FILTER", "INFO", sample_tag_values) expected = self.entab("CHROM|POS|ID|REF|ALT|QUAL|FILTER|INFO|F1:F2:F3|SA.1:SA.2:SA.3|SB.1:SB.2:SB.3\n") self.assertEquals(expected, record.text())
def test_empty_record(self): sample_names = ["SampleA"] base = VcfRecord.parse_record(self.entab("chr2|1|ID|A|C|QUAL|FILTER|INFO|F|S\n"), sample_names) empty_record = base.get_empty_record() expected_record = VcfRecord(chrom="chr2", pos="1", ref="A", alt="C") self.assertEquals(expected_record.text(), empty_record.text())
def test_empty_record(self): sample_names = ["SampleA"] base = VcfRecord.parse_record( self.entab("chr2|1|ID|A|C|QUAL|FILTER|INFO|F|S\n"), sample_names) empty_record = base.get_empty_record() expected_record = VcfRecord(chrom="chr2", pos="1", ref="A", alt="C") self.assertEquals(expected_record.text(), empty_record.text())
def test_asTextExpandsEmptyTrailingFormatField(self): sampleA = OrderedDict([('a', '1'), ('b', '2')]) sampleB = OrderedDict([('a', '10')]) sample_tag_values = OrderedDict([("SampleA", sampleA), ("SampleB", sampleB)]) record = VcfRecord("CHROM", "POS", "REF", "ALT", "ID", "QUAL", "FILTER", "INFO", sample_tag_values) expected = self.entab( "CHROM|POS|ID|REF|ALT|QUAL|FILTER|INFO|a:b|1:2|10:.\n") self.assertEquals(expected, record.text())
def test_asTextWhenEmptyFormatField(self): sampleA = OrderedDict({}) sampleB = OrderedDict({}) sample_tag_values = OrderedDict({ "SampleA": sampleA, "SampleB": sampleB }) record = VcfRecord("CHROM", "POS", "REF", "ALT", "ID", "QUAL", "FILTER", "INFO", sample_tag_values) expected = self.entab("CHROM|POS|ID|REF|ALT|QUAL|FILTER|INFO|.|.|.\n") self.assertEquals(expected, record.text())
def test_text(self): sampleA = OrderedDict( sorted({ "F1": "SA.1", "F2": "SA.2", "F3": "SA.3" }.items())) sampleB = OrderedDict( sorted({ "F1": "SB.1", "F2": "SB.2", "F3": "SB.3" }.items())) sample_tag_values = OrderedDict( sorted({ "SampleA": sampleA, "SampleB": sampleB }.items())) record = VcfRecord("CHROM", "POS", "REF", "ALT", "ID", "QUAL", "FILTER", "INFO", sample_tag_values) expected = self.entab( "CHROM|POS|ID|REF|ALT|QUAL|FILTER|INFO|F1:F2:F3|SA.1:SA.2:SA.3|SB.1:SB.2:SB.3\n" ) self.assertEquals(expected, record.text())