Ejemplo n.º 1
0
  def test_default_featurizer(self):
    smiles = ["C1=CC=CN=C1", "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"]
    featurizer = MolGraphConvFeaturizer()
    graph_feat = featurizer.featurize(smiles)
    assert len(graph_feat) == 2

    # assert "C1=CC=CN=C1"
    assert graph_feat[0].num_nodes == 6
    assert graph_feat[0].num_node_features == 30
    assert graph_feat[0].num_edges == 12

    # assert "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"
    assert graph_feat[1].num_nodes == 22
    assert graph_feat[1].num_node_features == 30
    assert graph_feat[1].num_edges == 44
Ejemplo n.º 2
0
  def test_featurizer_with_use_partial_charge(self):
    smiles = ["C1=CC=CN=C1", "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"]
    featurizer = MolGraphConvFeaturizer(use_partial_charge=True)
    graph_feat = featurizer.featurize(smiles)
    assert len(graph_feat) == 2

    # assert "C1=CC=CN=C1"
    assert graph_feat[0].num_nodes == 6
    assert graph_feat[0].num_node_features == 31
    assert graph_feat[0].num_edges == 12

    # assert "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"
    assert graph_feat[1].num_nodes == 22
    assert graph_feat[1].num_node_features == 31
    assert graph_feat[1].num_edges == 44
    def test_featurizer_with_self_loop(self):
        smiles = ["C1=CC=CN=C1", "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"]
        featurizer = MolGraphConvFeaturizer(add_self_edges=True)
        graph_feat = featurizer.featurize(smiles)
        assert len(graph_feat) == 2

        # assert "C1=CC=CN=C1"
        assert graph_feat[0].num_nodes == 6
        assert graph_feat[0].num_node_features == 39
        assert graph_feat[0].num_edges == 12 + 6
        assert graph_feat[0].num_edge_features == 11

        # assert "O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C"
        assert graph_feat[1].num_nodes == 22
        assert graph_feat[1].num_node_features == 39
        assert graph_feat[1].num_edges == 44 + 22
        assert graph_feat[1].num_edge_features == 11