def test_pred_single_prod(): # Load model model = darkchem.utils.load_model( '/Family/David/UW_ChemE/2019_Spring/ChemE_547/DarKnight_File/Final Trained DarkChem Network Weights/N7b_[M+H]/' ) # Generate some data to use smilescc = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } smi = 'CCCc1ccc(CCC=O)cc1' path_vec = functions.path_vec(smilescc, model) # Operate the function wihch is being tested pred_single = functions.pred_single_prod(smi, model, path_vec, k=1) # Assert several arguments assert len(pred_single) == 1 assert pred_single.shape == (1, 2) return 0
def test_path_vec(): # Load model model = darkchem.utils.load_model( '/Family/David/UW_ChemE/2019_Spring/ChemE_547/DarKnight_File/Final Trained DarkChem Network Weights/N7b_[M+H]/' ) # Generate some data to use smilescc = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } # Operate the function wihch is being tested path_vec = functions.path_vec(smilescc, model) # Assert several arguments assert path_vec.shape == (128, ) assert len(path_vec) == 128 assert type(path_vec).__module__ == 'numpy' return 0
def test_transform_r2p_str(): # Load model model = darkchem.utils.load_model( '/Family/David/UW_ChemE/2019_Spring/ChemE_547/DarKnight_File/Final Trained DarkChem Network Weights/N7b_[M+H]/' ) # Generate some data to use smilescc = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } smi = 'CC(=O)C' path_vec = functions.path_vec(smilescc, model) # Operate the function wihch is being tested transform_r2p_str = functions.transform_r2p_str(smi, model, path_vec, 5) # Assert several arguments assert len(transform_r2p_str) == 5 assert isinstance(transform_r2p_str, list) return 0
def test_output_multiple_prod(): # Load model model = darkchem.utils.load_model('../../../database/N7b_[M+H]/') # Generate some data to use smilescc = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } testdf = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } path_vec = functions.path_vec(smilescc, model) testdf = pd.DataFrame(testdf) # Operate the function wihch is being tested output_multiple_prod = functions.output_multiple_prod(testdf, model, path_vec, k=15) # Assert several arguments assert len(output_multiple_prod) == len(testdf) assert output_multiple_prod.shape == (11, 2) return 0
def test_pred_multiple_prod(): # Load model model = darkchem.utils.load_model( '/Family/David/UW_ChemE/2019_Spring/ChemE_547/DarKnight_File/Final Trained DarkChem Network Weights/N7b_[M+H]/' ) # Generate some data to use smilescc = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } testdf = { 'Reactants': [ 'CC(=O)C', 'O=C1CCCCC1', 'O=C1CCCC1C', 'O=C1CCCC1C', 'CCCC(=O)CCC', 'CCCCC(=O)CCCC', 'CC(=O)CC(=O)C', 'CC(=O)CC(=O)C', 'COCC(=O)C', 'COCC(=O)C', 'CC(=O)c1ccccc1' ], 'Products': [ 'CCC(=O)C', 'CC1CCCCC1=O', 'CC1CCC(C1=O)C', 'O=C1CCCC1(C)C', 'CCCC(=O)C(CC)C', 'CCCCC(=O)C(CCC)C', 'CC(C(=O)C)C(=O)C', 'CC(=O)C(C(=O)C)(C)C', 'COCC(=O)CC', 'COC(C(=O)CC)C', 'CCC(=O)c1ccccc1' ] } path_vec = functions.path_vec(smilescc, model) testdf = pd.DataFrame(testdf) # Operate the function wihch is being tested pred_multiple = functions.pred_multiple_prod(testdf, model, path_vec, k=1) # Assert several arguments assert len(pred_multiple) == len(testdf) assert type(pred_multiple) == type(testdf) return 0