Exemple #1
0
def main():
    xDB     = readJSON('res/xDB.json')
    bmDir 	= 'bm/fun'

    designers = []
    designers.append(Greedy.GreedyDesigner(xDB, 'maxHeavy'))
    # MCDesigner
    # ...

    (avgD, minD, maxD) = getXDBStat()

    # Process all benchmarks
    for charFile in glob.glob(bmDir + '/*.csv'):
        with open(charFile, 'r') as file:
    	    pts = [[float(n) for n in re.split(', *| *', l.strip())] for l in file.read().split('\n')]

        spec = {'coms': pts}
        npts = np.asarray(pts)
        # Use total length/avgD as heuristic. avgD is average xDB pair distance
        targetLen = int(np.ceil(sum(np.linalg.norm(npts-np.roll(npts, 1, axis=0), axis=1)) / avgD))

    	for designer in designers:
            designerName = designer.__class__.__name__
            print 'Benchmarking {} on {}, target length={}'.format(
                designerName, charFile, targetLen)

            startTime = time.clock()
            (nodes,shape,score) = designer.design(spec, targetLen)
            print "{:.2f}s, score: {}".format(time.clock() - startTime, score)
            
            makePdbFromNodes(xDB, nodes, 'res/centered_pdb/pair', charFile.replace('.csv', '_' + designerName + '_FUN.pdb'))
Exemple #2
0
def main():
    xDB     = readJSON('res/xDB.json')
    bmDir 	= 'bm/l10'

    designers = []
    designers.append(Greedy.GreedyDesigner(xDB, 'maxHeavy'))
    # MCDesigner
    # ...

    # Process all benchmarks
    for jsonFile in glob.glob(bmDir + '/*.json'):
    	spec = readJSON(jsonFile)
        targetLen = len(spec['nodes'])

    	for designer in designers:
            designerName = designer.__class__.__name__
            inputName = jsonFile.replace('.json', '')
            print 'Benchmarking {} on {}, target length={}'.format(
                designerName, inputName, targetLen)

            startTime = time.clock()
            (nodes,shape,score,fRot) = designer.design(inputName, spec, targetLen)
            print "{:.2f}s, score: {}".format(time.clock() - startTime, score)

            if nodes == spec['nodes']:
                print 'Pass'
            else:
                print 'Failed'
                pauseCode()
    
            makePdbFromNodes(xDB, 
                nodes, 
                'res/centered_pdb/pair', 
                jsonFile.replace('.json', suffixPdb(
                    designerName, 
                    'PCT',
                    1.0, 
                    targetLen)),
                fRot)
Exemple #3
0
def main():
    xDB     = readJSON('res/xDB.json')
    bmDir 	= 'bm/l10'

    designers = []
    designers.append(Greedy.GreedyDesigner(xDB, 'maxHeavy'))
    # MCDesigner
    # ...

    # Process all benchmarks
    for jsonFile in glob.glob(bmDir + '/*.json'):
    	spec = readJSON(jsonFile)

        # we add one point between each pair of com
        coms = np.asarray(spec['coms'])
        targetLen = len(coms)
        mids = np.asarray([np.mean(p, axis=0) for p in zip(coms, np.roll(coms, -1, axis=0))[0:-1]])

        spec['coms'] = np.append([val for p in zip(coms, mids) for val in p], [coms[-1]], axis=0)

    	for designer in designers:
            designerName = designer.__class__.__name__
            print 'Benchmarking {} on {}, target length={}'.format(
                designerName, jsonFile, targetLen)

            startTime = time.clock()
            (nodes,shape,score) = designer.design(spec, targetLen)
            print "{:.2f}s, score: {}".format(time.clock() - startTime, score)

            if nodes == spec['nodes']:
                print 'Pass'
            else:
                print 'Failed'
                # pauseCode()

            makePdbFromNodes(xDB, nodes, 'res/centered_pdb/pair', jsonFile.replace('.json', '_' + designerName + '_LV2.pdb'))