Exemplo n.º 1
0
	def testGetRealKmerDetails(self):
		realKmerDict = dict()

		realKmerDict["1"] = ["ATTA", 10]
		realKmerDict["2"] = ["ATTAAAA", 20]
		realKmerDict["3"] = ["ATTAAAAATTTT", 30]

		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, "1")

		self.assertEqual(realKmer, "ATTA")
		self.assertEqual(realStart, 10)
		self.assertEqual(realEnd, (10 + len("ATTA")))

		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, "2")

		self.assertEqual(realKmer, "ATTAAAA")
		self.assertEqual(realStart, 20)
		self.assertEqual(realEnd, (20 + len("ATTAAAA")))

		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, "3")


		self.assertEqual(realKmer, "ATTAAAAATTTT")
		self.assertEqual(realStart, 30)
		self.assertEqual(realEnd, (30 + len("ATTAAAAATTTT")))
Exemplo n.º 2
0
	def test_getRealKmerDetailsKeyDoesNotExists(self):
		realKmerDict  = dict();

		realKmerDict['0'] = ['ATTTA', 10]
		realKmerDict['1'] = ['ATTTTA', 10]
		realKmerDict['2'] = ['ATTTTTA', 10]
		realKmerDict['3'] = ['ATTTAAAA', 10]

		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, '0')
		self.assertEqual(realKmer, 'ATTTA');
		self.assertEqual(realStart, 10);
		self.assertEqual(realEnd, 15)

		# does not exist.
		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, '4')
		self.assertEqual(realKmer, '');
		self.assertEqual(realStart, 0);
		self.assertEqual(realEnd, 0)
def compareRealAndPredicted(realKmerDict, seqDict, pssmList, positive=True):
	totalFN = totalTP = totalFP = totalTN = 0;
	kmerEmbedded = True;

	for seqid, seq in seqDict.iteritems():
		realKmer, realStart, realEnd = compareKmerCommon.getRealKmerDetails(realKmerDict, seqid);
		if realKmer == "" and realStart == 0 and realEnd == 0:
			#print "Sequence ID: ", seqid , " should be treated like a negative."
			kmerEmbedded = False;

		#print "===== Seq ID: ", seqid, ": EMBEDDED K-MER: ", realKmer, ", PREDICTED: ", kmerREString
		predictedKmerList = getPredictedKmerList(pssmList, seq);
		kmerFoundInSeq = compareKmerCommon.isRealKmerInPredictedKmerList(realKmer, predictedKmerList)
		numTP, numFP, numFN, numTN = compareKmerCommon.getNumbers(kmerFoundInSeq, kmerEmbedded, positive);
		totalTP = totalTP + numTP;
		totalFP = totalFP + numFP;
		totalFN = totalFN + numFN;
		totalTN = totalTN + numTN;


	return totalTP, totalFP, totalFN, numTN;