Example #1
0
def load_Forward_Transformer(mincount=100, worker_no=0):
    '''
    Load the forward prediction neural network
    '''
    if worker_no == 0:
        MyLogger.print_and_log('Loading forward prediction model...',
                               model_loader_loc)
    transformer = ForwardTransformer()
    transformer.load(worker_no=worker_no)
    if worker_no == 0:
        MyLogger.print_and_log('Forward transformer loaded.', model_loader_loc)
    return transformer
Example #2
0
def configure_worker(options={}, **kwargs):
    if 'queues' not in options:
        # print('Queues not in options')
        return
    if CORRESPONDING_QUEUE not in options['queues'].split(','):
        # print('Queues not in options as key')
        return
    print('### STARTING UP A FORWARD ENUMERATION WORKER ###')

    global templates
    global forwardTransformer

    # # Database
    # from database import db_client
    # db = db_client[settings.SYNTH_TRANSFORMS['database']]
    # SYNTH_DB = db[settings.SYNTH_TRANSFORMS['collection']]
    # # Load templates
    # mincount_synth = settings.SYNTH_TRANSFORMS['mincount']
    forwardTransformer = ForwardTransformer(celery=True)
    forwardTransformer.load()
    print('### FORWARD ENUMERATION WORKER STARTED UP ###')
Example #3
0
        for product in stiched_result.products:
            all_results.append(product.as_dict())
            candidate_edits.append((product.get_smiles(), product.get_edits()))

        self.stop_expansion()
        return (all_results, candidate_edits)


def softmax(x):
    """Compute softmax values for each sets of scores in x."""
    e_x = np.exp(x - np.max(x))
    return e_x / e_x.sum()
if __name__ == '__main__':
    MyLogger.initialize_logFile()
    celery = False
    
    if not celery:
        forw_trans = ForwardTransformer(mincount=25, celery=False)
        forw_trans.load()
        scorer = TemplateNeuralNetScorer(forward_transformer=forw_trans)
    else:
        scorer = TemplateNeuralNetScorer(celery=celery)

    scorer.load(gc.PREDICTOR['trained_model_path'])
    res = scorer.evaluate('CN1C2CCC1CC(O)C2.O=C(O)C(CO)c1ccccc1', [
                          [80.0, '', '', '', -1, 50.0]], batch_size=100, nproc=8)
    for re in res[0]:
        print((re['outcome'].smiles + " {}".format(re['prob'])))
    print('done')