Пример #1
0
	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")
Пример #2
0
	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")
Пример #3
0
	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")