def long(generations:int): data = "/netapp/home/tianjiao.zhang/data/microstates.dat"; targetFreqs = "/netapp/home/tianjiao.zhang/data/ecDHFR_openseq_bacterial_representative_final_align_trim.fasta"; MACROSTATES = enum("E-DHF-NADPH", "E-NADPH", "E-THF", "E-THF-NADPX", "TS"); RESIDUES = enum('A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'Y'); ensembleSizes = numpy.array([16, 24, 32, 64, 128]); backrubTemps = numpy.array([0.3, 0.6, 0.9, 1.2, 1.5, 1.8]); boltzmannTemps = numpy.array([-1, 5]); steepnessRange = numpy.array([1, 7]); minWeights = numpy.array([0, 0, 0, 0, 0]); maxWeights = numpy.array([1, 1, 1, 1, 1]); optimizer = Optimizer(MACROSTATES, True); optimizer.readTargetFrequencies(targetFreqs); optimizer.readFormattedMicrostateData(data); search = CuckooSearch(optimizer.models, JensenShannonDistance(optimizer.targetFrequencies), True, 128, 1.25, 0.25); search.setMaxIterations(generations); search.setParamBounds(ensembleSizes, backrubTemps, boltzmannTemps, steepnessRange, minWeights, maxWeights); search.setAllSearchToTrue(); search.suppressOutputs = True; optimizer.useAlgorithm(search); optimizer.optimize(); now = datetime.now(); optimizer.writeFrequenciesToFASTA(optimizer.getBestFrequencies(), "var ensembles " + now.strftime('%Y%m%d%H%M') + ".fasta"); optimizer.writeBestParamsToText("var ensembles " + now.strftime('%Y%m%d%H%M'));
def smallTestBoltz(): print("Hello!\n"); MACROSTATES = enum("E-DHF-NADPH", "E-NADPH", "E-THF", "E-THF-NADPX", "TS"); RESIDUES = enum('A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'Y'); ensembleSizes = numpy.array([128]); backrubTemps = numpy.array([0.3, 0.6, 0.9, 1.2, 1.5, 1.8]); boltzmannTemps = numpy.array([-1, 5]); steepnessRange = numpy.array([1, 7]); minWeights = numpy.array([0, 0, 0, 0, 0]); maxWeights = numpy.array([1, 1, 1, 1, 1]); print("Initializing objects\n"); targetFreqs = "C:\\Users\\Candy\\SkyDrive\\Documents\\rotation 2\\ecDHFR_openseq_bacterial_representative_final_align_trim.fasta"; targetFreqsAlt = "C:\\Users\\Candy_000\\SkyDrive\\Documents\\rotation 2\\ecDHFR_openseq_bacterial_representative_final_align_trim.fasta"; dataMicro = "C:\\Users\\Candy\\SkyDrive\\Documents\\rotation 2\\20160120_M20_enumeration_scores\\microstates.dat"; dataMicroAlt = "C:\\Users\\Candy_000\\SkyDrive\\Documents\\rotation 2\\20160120_M20_enumeration_scores\\microstates.dat"; optimizer = Optimizer(MACROSTATES, True); try: optimizer.readTargetFrequencies(targetFreqs); optimizer.readFormattedMicrostateData(dataMicro); except FileNotFoundError: optimizer.readtargetfrequencies(targetfreqsalt); optimizer.readFormattedMicrostatedata(datamicroalt); search = CuckooSearch(optimizer.models, JensenShannonDistance(optimizer.targetFrequencies), True, 64, 1, 0.25); search.setMaxIterations(2048); search.setParamBounds(ensembleSizes, backrubTemps, boltzmannTemps, steepnessRange, minWeights, maxWeights); search.setSearchParameters(False, True, True, True, numpy.array([True, True, True, True, True, True])); optimizer.useAlgorithm(search); optimizer.optimize(); now = datetime.now(); optimizer.writeFrequenciesToFASTA(optimizer.getBestFrequencies(), "var ensembles " + now.strftime('%Y%m%d%H%M') + ".fasta"); optimizer.writeBestParamsToText("var ensembles " + now.strftime('%Y%m%d%H%M')); #for i in range(8): # thread = optimizerThread(); # thread.copyOptimizer(optimizer); # thread.run(); return None;
steepnessRange = numpy.array([0.5, 5]); minWeights = numpy.array([0, 0, 0, 0, 0]); maxWeights = numpy.array([1, 1, 1, 1, 1]); data = "/netapp/home/tianjiao.zhang/data/microstates.dat"; targetFreqs = "/netapp/home/tianjiao.zhang/data/ecDHFR_openseq_bacterial_representative_final_align_trim.fasta"; dataAlt = "C:\\users\\candy\\skydrive\\documents\\rotation 2\\DHFR microstates\\microstates.dat"; targetFreqsAlt = "C:\\users\\candy\\skydrive\\documents\\rotation 2\\ecDHFR_openseq_bacterial_representative_final_align_trim.fasta"; optimizer = Optimizer(MACROSTATES, True); # slightly different paths on my two computers optimizer.readTargetFrequencies(targetFreqs); optimizer.readFormattedMicrostateData(data); if similarityMeasure == 0: search = CuckooSearch(optimizer.models, JensenShannonDistance(optimizer.targetFrequencies), True, 32, 1, 0.25); elif similarityMeasure == 1: search = CuckooSearch(optimizer.models, CosineSimilarity(optimizer.targetFrequencies), True, 32, 1, 0.25); elif similarityMeasure == 2: search = CuckooSearch(optimizer.models, KLDivergence(optimizer.targetFrequencies), True, 32, 1, 0.25); elif similarityMeasure == 3: search = CuckooSearch(optimizer.models, Chi2Kernel(optimizer.targetFrequencies), True, 32, 1, 0.25); elif similarityMeasure == 4: search = CuckooSearch(optimizer.models, EntropyWeightedSimilarity(JensenShannonDistance(), optimizer.targetFrequencies), True, 32, 1, 0.25); elif similarityMeasure == 5: search = CuckooSearch(optimizer.models, EntropyWeightsMixedSimilarity(JensenShannonDistance(), CosineSimilarity(), optimizer.targetFrequencies), True, 32, 1, 0.25); else: search = CuckooSearch(optimizer.models, JensenShannonDistance(optimizer.targetFrequencies), True, 32, 1, 0.25);