def test_conv_align2GRmat_sam_4(self): currentdir = os.path.dirname(os.path.abspath(__file__)) ali_file = currentdir + os.sep + 'data' + os.sep + 'ex4.sam' aliFormat = 1 (U, NU, genomes, reads) = PathoID.conv_align2GRmat(ali_file,self.scoreCutoff,aliFormat) print U, NU, genomes, reads scaledScore = 2.6881171418161356e+43 #Expected Re-scaled score expectedU = {2: [0, scaledScore]} self.assertEquals(len(expectedU), len(U), "Failed sam Example 4 Unique Reads length Assertion") for read in expectedU: self.assertEquals(expectedU[read][0], U[read][0], "Failed sam Example 4 Unique Read %d genome mapping Assertion" %read) self.assertAlmostEquals(expectedU[read][1], U[read][1], 2, "Failed sam Example 4 Unique Read %d score Assertion" %read) expectedNU = {0: [[0, 1], [scaledScore, scaledScore], [0.5, 0.5], scaledScore], 1: [[1, 0], [scaledScore, scaledScore], [0.5, 0.5], scaledScore], 3: [[2, 3], [scaledScore, scaledScore], [0.5, 0.5], scaledScore], 4: [[2, 1], [scaledScore, scaledScore], [0.5, 0.5], scaledScore]} self.assertEquals(len(expectedNU), len(NU), "Failed sam Example 4 Non-Unique Reads length Assertion") for read in expectedNU: self.assertEquals(expectedNU[read][0], NU[read][0], "Failed sam Example 4 Non-Unique Read %d genome mapping Assertion" %read) for j in range(len(expectedNU[read][1])): self.assertAlmostEquals(expectedNU[read][1][j], NU[read][1][j], 2, "Failed sam Example 4 Non-Unique Read %d score Assertion" %read) for j in range(len(expectedNU[read][2])): self.assertAlmostEquals(NU[read][2][j], expectedNU[read][2][j], 4, "Failed sam Example 4 Non-Unique Read %d proportion Assertion" %read) self.assertAlmostEquals(expectedNU[read][3], NU[read][3], 2, "Failed sam Example 4 Non-Unique Read %d weight Assertion" %read) expectedGenomes = ['genome4', 'genome3', 'genome1', 'genome2'] self.assertEquals(expectedGenomes, genomes, "Failed sam Example 4 Genomes Assertion") expectedReads = ['read1_34', 'read2_34', 'read3_4', 'read4_12', 'read5_13'] self.assertEquals(expectedReads, reads, "Failed sam Example 4 Reads Assertion")
def test_conv_align2GRmat_bl8_2(self): currentdir = os.path.dirname(os.path.abspath(__file__)) ali_file = currentdir + os.sep + 'data' + os.sep + 'ex2.bl8' aliFormat = 2 (U, NU, genomes, reads) = PathoID.conv_align2GRmat(ali_file,self.scoreCutoff,aliFormat) print U, NU, genomes, reads score = 7036818.21 #Expected score from the alignment file expectedU = {} self.assertEquals(expectedU, U, "Failed bl8 Example 2 Unique Reads Assertion") expectedNU = {0: [[0, 1], [score, score], [0.5, 0.5], score], 1: [[0, 1], [score, score], [0.5, 0.5], score], 2: [[2, 1], [score, score], [0.5, 0.5], score], 3: [[2, 1], [score, score], [0.5, 0.5], score], 4: [[2, 0, 1], [score, score, score], [0.3333, 0.3333, 0.3333], score], 5: [[2, 0, 1], [score, score, score], [0.3333, 0.3333, 0.3333], score], 6: [[2, 0, 1], [score, score, score], [0.3333, 0.3333, 0.3333], score]} self.assertEquals(len(expectedNU), len(NU), "Failed bl8 Example 1 Non-Unique Reads length Assertion") for read in expectedNU: self.assertEquals(expectedNU[read][0], NU[read][0], "Failed bl8 Example 2 Non-Unique Read %d genome mapping Assertion" %read) for j in range(len(expectedNU[read][1])): self.assertAlmostEquals(expectedNU[read][1][j], NU[read][1][j], 2, "Failed bl8 Example 2 Non-Unique Read %d score Assertion" %read) for j in range(len(expectedNU[read][2])): self.assertAlmostEquals(NU[read][2][j], expectedNU[read][2][j], 4, "Failed bl8 Example 2 Non-Unique Read %d proportion Assertion" %read) self.assertAlmostEquals(expectedNU[read][3], NU[read][3], 2, "Failed bl8 Example 1 Non-Unique Read %d weight Assertion" %read) expectedGenomes = ['genome2', 'genome1', 'genome3'] self.assertEquals(expectedGenomes, genomes, "Failed bl8 Example 2 Genomes Assertion") expectedReads = ['read1_12', 'read2_12', 'read3_13', 'read4_13', 'read5_123', 'read6_123', 'read7_123'] self.assertEquals(expectedReads, reads, "Failed bl8 Example 2 Reads Assertion")
def test_conv_align2GRmat_gsam_3(self): currentdir = os.path.dirname(os.path.abspath(__file__)) ali_file = currentdir + os.sep + 'data' + os.sep + 'ex3.g.sam' aliFormat = 0 (U, NU, genomes, reads) = PathoID.conv_align2GRmat(ali_file,self.scoreCutoff,aliFormat) print U, NU, genomes, reads expectedU = {0: [0, 1.0], 1: [0, 1.0], 2: [0, 1.0], 3: [1, 1.0], 4: [1, 1.0]} self.assertEquals(len(expectedU), len(U), "Failed gnusam Example 3 Unique Reads length Assertion") for read in expectedU: self.assertEquals(expectedU[read][0], U[read][0], "Failed gnusam Example 3 Unique Read %d genome mapping Assertion" %read) self.assertAlmostEquals(expectedU[read][1], U[read][1], 2, "Failed gnusam Example 3 Unique Read %d score Assertion" %read) expectedNU = {5: [[0, 1, 2], [0.33, 0.33, 0.33], [0.3333, 0.3333, 0.3333], 0.33], 6: [[0, 1, 2], [0.33, 0.33, 0.33], [0.3333, 0.3333, 0.3333], 0.33], 7: [[0, 1, 2], [0.33, 0.33, 0.33], [0.3333, 0.3333, 0.3333], 0.33]} self.assertEquals(len(expectedNU), len(NU), "Failed gnusam Example 3 Non-Unique Reads length Assertion") for read in expectedNU: self.assertEquals(expectedNU[read][0], NU[read][0], "Failed gnusam Example 3 Non-Unique Read %d genome mapping Assertion" %read) for j in range(len(expectedNU[read][1])): self.assertAlmostEquals(expectedNU[read][1][j], NU[read][1][j], 2, "Failed gnusam Example 3 Non-Unique Read %d score Assertion" %read) for j in range(len(expectedNU[read][2])): self.assertAlmostEquals(NU[read][2][j], expectedNU[read][2][j], 4, "Failed gnusam Example 3 Non-Unique Read %d proportion Assertion" %read) self.assertAlmostEquals(expectedNU[read][3], NU[read][3], 2, "Failed gnusam Example 3 Non-Unique Read %d weight Assertion" %read) expectedGenomes = ['genome1', 'genome2', 'genome3'] self.assertEquals(expectedGenomes, genomes, "Failed gnusam Example 3 Genomes Assertion") expectedReads = ['read1_1', 'read2_1', 'read3_1', 'read4_3', 'read5_2', 'read6_123', 'read7_123', 'read8_123'] self.assertEquals(expectedReads, reads, "Failed gnusam Example 3 Reads Assertion")