if __name__ == '__main__': parser = optparse.OptionParser(usage='%prog [--mpi] [--print] script', version=pyproct.__version__) parser.add_option('--mpi', action="store_true", dest = "use_mpi", help="Add this flag if you want to use MPI-based scheduling.") parser.add_option('--print', action="store_true", dest = "print_messages", help="Add this flag to print observed messages to stdout.") options, args = parser.parse_args() if(len(args)==0): parser.error("You need to specify the script to be executed.") json_script = args[0] parameters = None try: parameters = ProtocolParameters.get_params_from_json(tools.remove_comments(open(json_script).read())) parameters["global"]["workspace"]["base"] = os.path.abspath(parameters["global"]["workspace"]["base"]) except ValueError, e: print "Malformed json script." print e.message exit() observer = None cmd_thread = None if options.use_mpi: from pyproct.driver.mpidriver import MPIDriver from pyproct.driver.observer.MPIObserver import MPIObserver observer = MPIObserver() if options.print_messages: cmd_thread = CmdLinePrinter(observer) cmd_thread.start()
# Saving matrices for dataset_name in data.all_datasets: handler = MatrixHandler(condensed_matrices[dataset_name], {"method": "load"}) handler.save_matrix("./matrices/%s" % dataset_name) # Run pyProCT for each of them base_script = "".join(open("base_script.json", "r").readlines()) for dataset_name in ['concentric_circles' ]: #data.all_datasets: #["spaeth_06"]:# print dataset_name # Change placeholders script_str = base_script % (os.path.abspath( "./tmp/%s" % dataset_name), "./matrices/%s" % dataset_name) parameters = ProtocolParameters.get_params_from_json(script_str) # And change another hypothesis stuff parameters["clustering"]["evaluation"]["maximum_noise"] = data.noise[ dataset_name] parameters["clustering"]["evaluation"][ "minimum_cluster_size"] = data.minsize[dataset_name] parameters["clustering"]["evaluation"][ "minimum_clusters"] = data.num_cluster_ranges[dataset_name][0] parameters["clustering"]["evaluation"][ "maximum_clusters"] = data.num_cluster_ranges[dataset_name][1] print parameters["clustering"]["evaluation"][ "minimum_clusters"], parameters["clustering"]["evaluation"][ "maximum_clusters"] if dataset_name in data.criteria: parameters["clustering"]["evaluation"][ "evaluation_criteria"] = data.criteria[dataset_name]
create_directory("./matrices") create_directory("./tmp") condensed_matrices, all_observations = vtools.create_matrices(data) # Saving matrices for dataset_name in data.all_datasets: handler = MatrixHandler(condensed_matrices[dataset_name], {"method":"load"}) handler.save_matrix("./matrices/%s"%dataset_name) # Run pyProCT for each of them base_script = "".join(open("base_script.json","r").readlines()) for dataset_name in ['concentric_circles']: #data.all_datasets: #["spaeth_06"]:# print dataset_name # Change placeholders script_str = base_script%(os.path.abspath("./tmp/%s"%dataset_name),"./matrices/%s"%dataset_name) parameters = ProtocolParameters.get_params_from_json(script_str) # And change another hypothesis stuff parameters["clustering"]["evaluation"]["maximum_noise"] = data.noise[dataset_name] parameters["clustering"]["evaluation"]["minimum_cluster_size"] = data.minsize[dataset_name] parameters["clustering"]["evaluation"]["minimum_clusters"] = data.num_cluster_ranges[dataset_name][0] parameters["clustering"]["evaluation"]["maximum_clusters"] = data.num_cluster_ranges[dataset_name][1] print parameters["clustering"]["evaluation"]["minimum_clusters"], parameters["clustering"]["evaluation"]["maximum_clusters"] if dataset_name in data.criteria: parameters["clustering"]["evaluation"]["evaluation_criteria"] = data.criteria[dataset_name] else: parameters["clustering"]["evaluation"]["evaluation_criteria"] = data.criteria["default"] Driver(Observer()).run(parameters) for dataset_name in ['concentric_circles']: #data.all_datasets: results_file = os.path.join(os.path.abspath("./tmp/%s"%dataset_name),"results/results.json") results = convert_to_utf8(json.loads(open(results_file).read()))
@author: victor """ from pyproct.driver.parameters import ProtocolParameters from pyproct.driver.driver import Driver from pyproct.driver.observer.observer import Observer import sys from pyproct.driver.handlers.matrix.matrixHandler import MatrixHandler from pyproct.tools.matrixTools import get_submatrix from pyproct.tools.plotTools import matrixToImage from itertools import product import numpy from pyproct.tools.pdbTools import get_number_of_frames if __name__ == '__main__': base_script = "".join(open("base_script.json","r").readlines()) parameters = ProtocolParameters.get_params_from_json(base_script) parameters["global"]["workspace"]["base"] = sys.argv[3] parameters["data"]["files"] = [sys.argv[1], sys.argv[2]] frames_ini = get_number_of_frames(sys.argv[1]) frames_proto = get_number_of_frames(sys.argv[2]) print sys.argv[1],"->",frames_ini print sys.argv[2],"->",frames_proto try: Driver(Observer()).run(parameters) except SystemExit: # Expected improductive search # Load again the matrix handler = MatrixHandler({ "method": "load",
if __name__ == '__main__': parser = optparse.OptionParser(usage='%prog [--mpi] [--print] script', version=pyproct.__version__) parser.add_option('--mpi', action="store_true", dest = "use_mpi", help="Add this flag if you want to use MPI-based scheduling.") parser.add_option('--print', action="store_true", dest = "print_messages", help="Add this flag to print observed messages to stdout.") options, args = parser.parse_args() if(len(args)==0): parser.error("You need to specify the script to be executed.") json_script = args[0] parameters = None try: parameters = ProtocolParameters.get_params_from_json(open(json_script).read()) parameters["global"]["workspace"]["base"] = os.path.abspath(parameters["global"]["workspace"]["base"]) except ValueError, e: print "Malformed json script." print e.message exit() observer = None cmd_thread = None if options.use_mpi: from pyproct.driver.mpidriver import MPIDriver from pyproct.driver.observer.MPIObserver import MPIObserver observer = MPIObserver() if options.print_messages: cmd_thread = CmdLinePrinter(observer) cmd_thread.start()
@author: victor """ from pyproct.driver.parameters import ProtocolParameters from pyproct.driver.driver import Driver from pyproct.driver.observer.observer import Observer import sys from pyproct.driver.handlers.matrix.matrixHandler import MatrixHandler from pyproct.tools.matrixTools import get_submatrix from pyproct.tools.plotTools import matrixToImage from itertools import product import numpy from pyproct.tools.pdbTools import get_number_of_frames if __name__ == '__main__': base_script = "".join(open("base_script.json", "r").readlines()) parameters = ProtocolParameters.get_params_from_json(base_script) parameters["global"]["workspace"]["base"] = sys.argv[3] parameters["data"]["files"] = [sys.argv[1], sys.argv[2]] frames_ini = get_number_of_frames(sys.argv[1]) frames_proto = get_number_of_frames(sys.argv[2]) print sys.argv[1], "->", frames_ini print sys.argv[2], "->", frames_proto try: Driver(Observer()).run(parameters) except SystemExit: # Expected improductive search # Load again the matrix handler = MatrixHandler({ "method": "load",
parser.add_option( '--print', action="store_true", dest="print_messages", help="Add this flag to print observed messages to stdout.") options, args = parser.parse_args() if (len(args) == 0): parser.error("You need to specify the script to be executed.") json_script = args[0] parameters = None try: parameters = ProtocolParameters.get_params_from_json( tools.remove_comments(open(json_script).read())) parameters["global"]["workspace"]["base"] = os.path.abspath( parameters["global"]["workspace"]["base"]) except ValueError, e: print "Malformed json script." print e.message exit() observer = None cmd_thread = None if options.use_mpi: from pyproct.driver.mpidriver import MPIDriver from pyproct.driver.observer.MPIObserver import MPIObserver observer = MPIObserver() if options.print_messages: cmd_thread = CmdLinePrinter(observer)