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'))
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)
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'))