def branchClearingUnitTest(G, N, L,K, liid, threshold, foldername = "",branchingDepth= 20):
    dummyParameters = logging.parameterObj()
    
    dummyParameters.defaultFolder = foldername

    dummyParameters.brachingDepth = branchingDepth    
    
    dummyParameters.K, dummyParameters.liid, dummyParameters.threshold = K, liid, threshold
    dummyParameters.G, dummyParameters.N, dummyParameters.L = G, N, L 
    
    motherGen, reads, noisyReads = logging.rawDataLoad(foldername+"UnitTest",G,N,L, "dn")
    
    returnfmapping= logging.fmappingLoad(foldername+'clusteredGroup.csv')
    G1,startList, fmapping = graphForm.getSeqGraph(returnfmapping,noisyReads, dummyParameters)
    #checkCondensingBasic(G1, startList, "simple")


    returnfmapping, G1= branchClear.clearResidual(returnfmapping,G1,dummyParameters)
    
    G2 = G1

    graphForm.debugSeqGraph(G2)
    
    #G2 = G1 
    checkCondensingBasic2(G2, [G2[0]], "simple")
def runAssembler(snpRate, typeOfGen, detail, parameterRobot):
    #N, G, L, p,K,snpRate, typeOfGen, detail = 100, 100, 10000, 0.01,30,0.001, 'r', "1000"

    motherGen, reads, noisyReads = dataGen.generateData(
        typeOfGen, detail, parameterRobot)
    motherGen, reads, noisyReads = logging.rawDataLoad(
        parameterRobot.defaultFolder + "UnitTest", parameterRobot.G,
        parameterRobot.N, parameterRobot.L, "dn")

    f1 = cluster.groupIndelNoisyKmers(noisyReads, parameterRobot)

    G1, startList, f1 = graphForm.getSeqGraph(f1, noisyReads, parameterRobot)
    f2, G2 = branchClear.clearResidual(f1, G1, parameterRobot)

    G3 = bridgeResolve.resolveRepeats(f2, G2, parameterRobot)

    G4 = alignmentBridge.MSAresolve(f2, G3, noisyReads, snpRate,
                                    parameterRobot)
    #G4 = G3
    recovSeq = eulerCycle.findEC(G4)

    recovGen = readAns.reportRecovSeq(recovSeq, f2, noisyReads, parameterRobot)

    numMistakes, success = compare.subAlignCompare(recovGen, motherGen,
                                                   parameterRobot)
    #numMistakes, success = 0 , 0
    return numMistakes, success


# Target of the new code : Fast Assemble and assembly in optimal amount of information
#t0 = time.time()
#N, G, L, p,snpRate, typeOfGen, detail = 1000, 10000,200, 0.015, 0.001 ,'m', "500-300-50"
#runAssembler(N, G, L, p,snpRate, typeOfGen, detail)
#print "Time (sec) :", time.time() - t0
Exemple #3
0
def branchClearingUnitTest(G,
                           N,
                           L,
                           K,
                           liid,
                           threshold,
                           foldername="",
                           branchingDepth=20):
    dummyParameters = logging.parameterObj()

    dummyParameters.defaultFolder = foldername

    dummyParameters.brachingDepth = branchingDepth

    dummyParameters.K, dummyParameters.liid, dummyParameters.threshold = K, liid, threshold
    dummyParameters.G, dummyParameters.N, dummyParameters.L = G, N, L

    motherGen, reads, noisyReads = logging.rawDataLoad(foldername + "UnitTest",
                                                       G, N, L, "dn")

    returnfmapping = logging.fmappingLoad(foldername + 'clusteredGroup.csv')
    G1, startList, fmapping = graphForm.getSeqGraph(returnfmapping, noisyReads,
                                                    dummyParameters)
    #checkCondensingBasic(G1, startList, "simple")

    returnfmapping, G1 = branchClear.clearResidual(returnfmapping, G1,
                                                   dummyParameters)

    G2 = G1

    graphForm.debugSeqGraph(G2)

    #G2 = G1
    checkCondensingBasic2(G2, [G2[0]], "simple")
def runAssembler(snpRate, typeOfGen, detail,parameterRobot):
    #N, G, L, p,K,snpRate, typeOfGen, detail = 100, 100, 10000, 0.01,30,0.001, 'r', "1000"

    
    motherGen, reads, noisyReads = dataGen.generateData(typeOfGen, detail,parameterRobot)
    motherGen, reads, noisyReads = logging.rawDataLoad(parameterRobot.defaultFolder+"UnitTest",parameterRobot.G,parameterRobot.N,parameterRobot.L, "dn")

    f1 = cluster.groupIndelNoisyKmers(noisyReads,parameterRobot)
    
    G1,startList, f1 = graphForm.getSeqGraph(f1,noisyReads, parameterRobot)
    f2, G2 = branchClear.clearResidual(f1, G1,parameterRobot)
    
    G3 = bridgeResolve.resolveRepeats(f2, G2,parameterRobot)  

    G4 = alignmentBridge.MSAresolve(f2, G3, noisyReads, snpRate,parameterRobot )
    #G4 = G3 
    recovSeq = eulerCycle.findEC(G4)
    
    recovGen = readAns.reportRecovSeq(recovSeq, f2, noisyReads,parameterRobot)
    
    numMistakes, success = compare.subAlignCompare(recovGen, motherGen,parameterRobot)
    #numMistakes, success = 0 , 0 
    return numMistakes, success

# Target of the new code : Fast Assemble and assembly in optimal amount of information 
#t0 = time.time()
#N, G, L, p,snpRate, typeOfGen, detail = 1000, 10000,200, 0.015, 0.001 ,'m', "500-300-50" 
#runAssembler(N, G, L, p,snpRate, typeOfGen, detail)
#print "Time (sec) :", time.time() - t0