diff --git a/tests/test_molecule_metrics.py b/tests/test_molecule_metrics.py index 125ead0..af9bc6f 100644 --- a/tests/test_molecule_metrics.py +++ b/tests/test_molecule_metrics.py @@ -20,10 +20,20 @@ "CC(C)Cc1ccc(cc1)C(C)C(=O)O", "CC1(C)SC2C(NC(=O)C2=O)C1(C)C(=O)N", "C1C(=O)N(C2=CC=CC=C12)C3=CC=C(C=C3)C(F)(F)F", + "CCCCCCOc1ccc(C(=O)C=Cc2c(C=Cc3ccc(OC)cc3)cc(OC)cc2OC)cc1", "O=C(Nc1nc(-c2ccc(Cl)s2)cs1)c1ccncc1", + "COc1nc(N(C)C)ncc1-n1nc2c(c1C(C)C)C(c1ccc(C#N)c(F)c1)N(c1c[nH]c(=O)c(Cl)c1)C2=O", "Cc1ncc([N+](=O)[O-])n1CC(=O)Nc1ccccc1", + "CCOC(=O)N=C(NC(C)C)c1ccc(-c2ccc(-c3ccc(C(=NC(=O)OCC)NC(C)C)cc3)o2)cc1", + "COCC(=O)N1CCC(C2CC(C(F)(F)F)n3nc(C)cc3N2)CC1", + "Fc1ccc(C(OCCN2C3CCC2CC(Cc2ccccc2)C3)c2ccc(F)cc2)cc1", + "CC(C)C1CCN(C(=O)C2CCC(=O)N(C3CCCCCC3)C2)CC1", + "CCc1c2c(n(C)c1C)CCCC2=NOC(=O)Nc1ccc(C(C)=O)cc1", + "Cc1cc2c(-c3ccc(S(=O)(=O)NCCO)cc3)ccnc2[nH]1", "CC(C)N1CCN(C(=O)c2ccc(Oc3ccc(F)cc3)nc2)CC1", "O=C(Nc1ccc(Cl)c(O)c1)Nc1ccc(Cl)c(Cl)c1", + "O=C1NC(=NN=CC(O)C(O)C(O)C(O)CO)NC1=Cc1ccfo1", + "O=C(NCCO)c1c(O)c2ncc(Cc3ccc(F)cc3)cc2[nH]c1=O", "NC(=O)C(=O)C(Cc1ccccc1)NC(=O)C1CCN(C(=O)C=Cc2ccncc2)CC1", ] @@ -31,11 +41,21 @@ "CC1=C(C=CC=C1)NC2=NC=CC(=N2)NC3=CC=CC=C3C(=O)NC4=CC=CC=N4", "CN1CCN(C2=CC3=C(C=C2)N=CN3C)C4=CC=CC=C14", "CN(C)CCCN1C2=CC=CC=C2SC3=CC=CC=C31", + "CC(C)C(C(=O)NCC(C)C)NC(=O)C1=CC=CC=C1C(C)C(C)NC(=O)C2=CN=CC=C2", "CN1C(=O)CN=C(C2=CC=CC=C12)C3=CC=CC=C3Cl", "O=C(c1cc(-c2ccc(Cl)cc2Cl)n[nH]1)N1CCCC1", "COc1cccc(OC)c1C=CC(=O)NC1CCCCC1", "O=C1NC(O)CCN1C1OC(CO)C(O)C1O", + "Cc1c2ccnc(C(=O)NCCN(C)C)c2cc2c3cc(OC(=O)CCCCC(=O)O)ccc3n(C)c12", "CC1(C)SC2C(NC(=O)C2=O)C1(C)C(=O)N", + "C1C(=O)N(C2=CC=CC=C12)C3=CC=C(C=C3)C(F)(F)F", + "CCCCCCOc1ccc(C(=O)C=Cc2c(C=Cc3ccc(OC)cc3)cc(OC)cc2OC)cc1", + "O=C(Nc1nc(-c2ccc(Cl)s2)cs1)c1ccncc1", + "COc1nc(N(C)C)ncc1-n1nc2c(c1C(C)C)C(c1ccc(C#N)c(F)c1)N(c1c[nH]c(=O)c(Cl)c1)C2=O", + "Cc1ncc([N+](=O)[O-])n1CC(=O)Nc1ccccc1", + "CCOC(=O)N=C(NC(C)C)c1ccc(-c2ccc(-c3ccc(C(=NC(=O)OCC)NC(C)C)cc3)o2)cc1", + "COCC(=O)N1CCC(C2CC(C(F)(F)F)n3nc(C)cc3N2)CC1", + "Fc1ccc(C(OCCN2C3CCC2CC(Cc2ccccc2)C3)c2ccc(F)cc2)cc1", "O=C(NCC1CCCO1)c1ccc2c(=O)n(-c3ccccc3)c(=S)[nH]c2c1", "CCNc1nc(C#N)nc(N2CCCCC2)n1", ] @@ -103,5 +123,5 @@ def test_smoke_molecule_pgd(): metric = MoleculePGD(mols_a) metric.compute(mols_b) - metric = MoleculePGDInterval(mols_a, subsample_size=4, num_samples=4) + metric = MoleculePGDInterval(mols_a, subsample_size=8, num_samples=4) metric.compute(mols_b) diff --git a/tests/test_polygraphdiscrepancy.py b/tests/test_polygraphdiscrepancy.py index 047d460..b0a102e 100644 --- a/tests/test_polygraphdiscrepancy.py +++ b/tests/test_polygraphdiscrepancy.py @@ -1,3 +1,4 @@ +import numpy as np import pytest from sklearn.linear_model import LogisticRegression @@ -234,9 +235,10 @@ def test_standard_pgd(dense_graphs, sparse_graphs): } for name, (_, individual_result) in individual_results.items(): + joint = result["subscores"][name] assert isinstance(individual_result, float) - assert individual_result == result["subscores"][name], ( - f"Individual result {individual_result} for descriptor {name} does not match the overall result {result['subscores'][name]}" + assert np.isclose(individual_result, joint, rtol=1e-3), ( + f"Individual result {individual_result} for descriptor {name} does not match the overall result {joint}" ) metric = StandardPGDInterval(dense_graphs, subsample_size=10, num_samples=4)