Exemple #1
0
 def testFastaReadWriteC(self):
     """Tests consistency with C version of this function.
     """
     tempFile = getTempFile()
     self.tempFiles.append(tempFile)
     tempFile2 = getTempFile()
     self.tempFiles.append(tempFile2)
     for test in xrange(0, self.testNo):
         fastaNumber = random.choice(xrange(10))
         l = [ getRandomSequence() for i in xrange(fastaNumber) ]
         fileHandle = open(tempFile, 'w')
         for name, seq in l:
             fastaWrite(fileHandle, name, seq)
         fileHandle.close()
         
         command = "sonLib_fastaCTest %s %s" % (tempFile, tempFile2)
         
         print command
         
         system(command)
         
         fileHandle = open(tempFile2, 'r')
         l.reverse()
         for i in fastaRead(fileHandle):
             name, seq = i
             assert i == l.pop()
             fastaWrite(sys.stdout, name, seq)
         fileHandle.close()
Exemple #2
0
 def testFastqReadWrite(self):
     tempFile = getTempFile()
     self.tempFiles.append(tempFile)
     for test in xrange(0, self.testNo):
         fastaNumber = random.choice(xrange(10))
         fastqs = [ (name, seq, [ random.randint(33, 126) for i in range(len(seq)) ]) for name, seq in [ getRandomSequence() for i in xrange(fastaNumber) ]]
         fH = open(tempFile, 'w')
         for name, seq, quals in fastqs:
             fastqWrite(fH, name, seq, quals)
         fH.close()
         fastqs.reverse()
         for i in fastqRead(tempFile):
             assert i == fastqs.pop()
             name, seq, quals = i
             fastqWrite(sys.stdout, name, seq, quals)
Exemple #3
0
 def testPWMParser(self):
     tempFile = getTempFile()
     self.tempFiles.append(tempFile)
     for test in xrange(0, self.testNo):
         pWM = getRandomPWM()
         
         fileHandle = open(tempFile, 'w')
         pWMWrite(fileHandle, pWM)
         fileHandle.close()
         
         fileHandle = open(tempFile, 'r')
         pWM2 = pWMRead(fileHandle)
         fileHandle.close()
         
         for i in xrange(0, len(pWM)):  
             pWM[i] == pWM2[i]
Exemple #4
0
 def testFastaReadWrite(self):
     tempFile = getTempFile()
     self.tempFiles.append(tempFile)
     for test in xrange(0, self.testNo):
         fastaNumber = random.choice(xrange(10))
         l = [ getRandomSequence() for i in xrange(fastaNumber) ]
         fileHandle = open(tempFile, 'w')
         for name, seq in l:
             fastaWrite(fileHandle, name, seq)
         fileHandle.close()
         fileHandle = open(tempFile, 'r')
         l.reverse()
         for i in fastaRead(fileHandle):
             assert i == l.pop()
             name, seq = i
             fastaWrite(sys.stdout, name, seq)
         fileHandle.close()
Exemple #5
0
 def testCigarReadWrite(self):
     tempFile = getTempFile()
     self.tempFiles.append(tempFile)
     for test in xrange(0, self.testNo):
         cigarNumber = random.choice(xrange(10))
         l = [ getRandomPairwiseAlignment() for i in xrange(cigarNumber) ]
         fileHandle = open(tempFile, 'w')
         for cigar in l:
             cigarWrite(fileHandle, cigar)
         fileHandle.close()
         fileHandle = open(tempFile, 'r')
         l.reverse()
         for cigar in cigarRead(fileHandle):
             cigarWrite(sys.stdout, l[-1])
             cigarWrite(sys.stdout, cigar)
             assert cigar == l.pop()
         assert len(l) == 0
         fileHandle.close()
Exemple #6
0
    def testCigarReadWrite(self):
        """Tests the C code for reading and writing cigars against the python parser for cigars.
        """
        tempFile = getTempFile()
        self.tempFiles.append(tempFile)
        for test in xrange(0, self.testNo):
            pairwiseAlignmentNumber = random.choice(xrange(10))
            l = [
                getRandomPairwiseAlignment()
                for i in xrange(pairwiseAlignmentNumber)
            ]
            fileHandle = open(tempFile, 'w')

            keepProbs = random.random() > 0.5
            if keepProbs == False:
                for pA in l:
                    for op in pA.operationList:
                        op.score = 0.0

            for pairwiseAlignment in l:
                cigarWrite(fileHandle, pairwiseAlignment, keepProbs)
            fileHandle.close()

            #Now call sonLib_cigarsTest and read and write chains
            command = "sonLib_cigarTest %s %s" % (tempFile, keepProbs)
            #return
            system(command)

            #Now check the chain is okay
            fileHandle = open(tempFile, 'r')
            l.reverse()

            for pairwiseAlignment in cigarRead(fileHandle):
                pairwiseAlignment2 = l.pop()
                cigarWrite(sys.stdout, pairwiseAlignment, keepProbs)
                cigarWrite(sys.stdout, pairwiseAlignment2, keepProbs)
                assert pairwiseAlignment == pairwiseAlignment2
            assert len(l) == 0
            fileHandle.close()
Exemple #7
0
    def testCigarReadWrite(self):
        """Tests the C code for reading and writing cigars against the python parser for cigars.
        """
        tempFile = getTempFile()
        self.tempFiles.append(tempFile)
        for test in xrange(0, self.testNo):
            pairwiseAlignmentNumber = random.choice(xrange(10))
            l = [ getRandomPairwiseAlignment() for i in xrange(pairwiseAlignmentNumber) ]
            fileHandle = open(tempFile, 'w')
            
            keepProbs = random.random() > 0.5
            if keepProbs == False:
                for pA in l:
                    for op in pA.operationList:
                        op.score = 0.0
            
            for pairwiseAlignment in l:
                cigarWrite(fileHandle, pairwiseAlignment, keepProbs)
            fileHandle.close()

            #Now call sonLib_cigarsTest and read and write chains
            command = "sonLib_cigarTest %s %s" % (tempFile, keepProbs)
            #return
            system(command)
            
            #Now check the chain is okay
            fileHandle = open(tempFile, 'r')
            l.reverse()
            
            for pairwiseAlignment in cigarRead(fileHandle):
                pairwiseAlignment2 = l.pop()
                cigarWrite(sys.stdout, pairwiseAlignment, keepProbs)
                cigarWrite(sys.stdout, pairwiseAlignment2, keepProbs)
                assert pairwiseAlignment == pairwiseAlignment2
            assert len(l) == 0
            fileHandle.close()