def calcore_validate_model(model): smile = 'COc1ccccc1NC(=O)CC(=O)C' mol_path = '' temperature = 10.0 r = prediction_model_calculate(model, smile, mol_path, temperature) print r
def calculateTask(task, sid, model): try: generate_mol_image(task) suite = SuiteTask.objects.get(sid=sid) map_model_name = get_model_name(model['model']) smile = task.file_obj.smiles.encode( 'utf-8') if task.file_obj.file_type != 'mol' else '' # smile, mol_fpath 输入只选择一种方式(优先smile) mol_fpath = os.path.join( settings.SETTINGS_ROOT, task.file_obj.file_obj.path) if not smile else None try: temperature = float(model.get('temperature')) except: temperature = DEFAULT_TEMPERATURE_ARGS chemistry_logger.info( 'PredictionModel calculating: model name(%s),' 'smile(%s) mol path(%s) temperature(%s)', map_model_name, smile, mol_fpath, temperature) # 后台模型计算入口 predict_results = prediction_model_calculate(map_model_name, smile, mol_fpath, temperature) if task.file_obj.file_type == 'mol': name = os.path.basename(mol_fpath).split('.')[0] else: name = smile result = predict_results[name][map_model_name] chemistry_logger.info('[task]result %s' % result) except KeyError: chemistry_logger.exception('still cannot support this model') result = None task.result_state = "We don't support this model now" task.status = StatusCategory.objects.get(category=STATUS_FAILED) suite.status_id = StatusCategory.objects.get(category=STATUS_FAILED) except Exception as e: chemistry_logger.exception('failed to submit task to prediction model') result = None task.result_state = str(e) task.status = StatusCategory.objects.get(category=STATUS_FAILED) suite.status_id = StatusCategory.objects.get(category=STATUS_FAILED) else: chemistry_logger.info("calculate Successfully in celery queue!") task.result_state = "Calculate Successfully!" task.status = StatusCategory.objects.get(category=STATUS_SUCCESS) suite.status_id = StatusCategory.objects.get(category=STATUS_WORKING) task.end_time = utils.get_real_now() task.results = json.dumps(result) suite.save() task.save() add_counter(suite.sid) return result
def calculateTask(task, sid, model): try: generate_mol_image(task) suite = SuiteTask.objects.get(sid=sid) map_model_name = get_model_name(model['model']) smile = task.file_obj.smiles.encode('utf-8') if task.file_obj.file_type != 'mol' else '' # smile, mol_fpath 输入只选择一种方式(优先smile) mol_fpath = os.path.join(settings.SETTINGS_ROOT, task.file_obj.file_obj.path) if not smile else None try: temperature = float(model.get('temperature')) except: temperature = DEFAULT_TEMPERATURE_ARGS chemistry_logger.info('PredictionModel calculating: model name(%s),' 'smile(%s) mol path(%s) temperature(%s)', map_model_name, smile, mol_fpath, temperature) # 后台模型计算入口 predict_results = prediction_model_calculate(map_model_name, smile, mol_fpath, temperature) if task.file_obj.file_type == 'mol': name = os.path.basename(mol_fpath).split('.')[0] else: name = smile result = predict_results[name][map_model_name] chemistry_logger.info('[task]result %s' % result) except KeyError: chemistry_logger.exception('still cannot support this model') result = None task.result_state = "We don't support this model now" task.status = StatusCategory.objects.get(category=STATUS_FAILED) suite.status_id = StatusCategory.objects.get(category=STATUS_FAILED) except Exception as e: chemistry_logger.exception('failed to submit task to prediction model') result = None task.result_state = str(e) task.status = StatusCategory.objects.get(category=STATUS_FAILED) suite.status_id = StatusCategory.objects.get(category=STATUS_FAILED) else: chemistry_logger.info("calculate Successfully in celery queue!") task.result_state = "Calculate Successfully!" task.status = StatusCategory.objects.get(category=STATUS_SUCCESS) suite.status_id = StatusCategory.objects.get(category=STATUS_WORKING) task.end_time = utils.get_real_now() task.results = json.dumps(result) suite.save() task.save() add_counter(suite.sid) return result