Exemplo n.º 1
0
    def test_duplicatePosition_raisesError(self):
        stream = StringIO(
            "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n"
            "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n"
        )

        with pytest.raises(IndexError):
            load_panel(stream)
Exemplo n.º 2
0
    def test_headerOnly_returnsEmpty(self):
        stream = StringIO("header,line\n")

        actual = load_panel(stream, no_header=False)
        expected = dict()

        assert actual == expected
Exemplo n.º 3
0
    def test_emptyFile_returnsEmpty(self):
        stream = StringIO()

        actual = load_panel(stream)
        expected = dict()

        assert actual == expected
Exemplo n.º 4
0
    def test_noHeader_allPanelVariantsInPanel(self):
        stream = StringIO(
            "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n"
            "lineage1.1,4404247,1056,G/A,352,CTG/CTA,L/L,Rv3915,-"
        )

        actual = load_panel(stream)
        expected = {
            615938: PanelVariant(
                Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104
            ),
            4404247: PanelVariant(
                Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056
            ),
        }

        assert actual == expected
Exemplo n.º 5
0
    def test_fileWithNoIssues_loadsOk(self):
        stream = StringIO(
            "lineage,position,gene_coord,allele_change,codon_number,codon_change,amino_acid_change,locus_id,gene_name\n"
            "lineage1,615938,1104,G/A,368,GAG/GAA,E/E,Rv0524,hemL\n"
            "lineage1.1,4404247,1056,G/A,352,CTG/CTA,L/L,Rv3915,-"
        )

        actual = load_panel(stream, no_header=False)
        expected = {
            615938: PanelVariant(
                Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104
            ),
            4404247: PanelVariant(
                Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056
            ),
        }

        assert actual == expected
Exemplo n.º 6
0
    def test_nonDefaultDelim_loadsOk(self):
        stream = StringIO(
            "lineage1|615938|1104|G/A|368|GAG/GAA|E/E|Rv0524|hemL\n"
            "lineage1.1|4404247|1056|G/A|352|CTG/CTA|L/L|Rv3915|-"
        )
        delim = "|"

        actual = load_panel(stream, delim=delim)
        expected = {
            615938: PanelVariant(
                Lineage("1"), 615938, "G", "A", "Rv0524", "hemL", 1104
            ),
            4404247: PanelVariant(
                Lineage("1", "1"), 4404247, "G", "A", "Rv3915", "-", 1056
            ),
        }

        assert actual == expected