torch-molecule 0.1.0.dev2__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/PKG-INFO +30 -21
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/README.md +28 -16
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/pyproject.toml +2 -5
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/__init__.py +1 -1
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/gnn/modeling_gnn.py +11 -9
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/lstm/model.py +1 -2
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/lstm/modeling_lstm.py +1 -2
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/smiles_transformer/modeling_transformer.py +0 -1
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/ssr/model.py +0 -2
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/PKG-INFO +30 -21
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/SOURCES.txt +0 -1
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/requires.txt +1 -4
- torch_molecule-0.1.0.dev2/tests/test_io.py +0 -319
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/LICENSE +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/setup.cfg +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/base.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/encoder.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/generator.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/old_encoder.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/old_predictor.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/old_predictor2.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/base/predictor.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/attrmask/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/attrmask/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/attrmask/modeling_attrmask.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/constant.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/contextpred/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/contextpred/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/contextpred/modeling_contextpred.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/contextpred/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/edgepred/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/edgepred/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/edgepred/modeling_edgepred.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/graphmae/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/graphmae/dataloader.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/graphmae/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/graphmae/modeling_graphmae.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/infograph/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/infograph/loss_function.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/infograph/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/infograph/modeling_infograph.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/infograph/module.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/moama/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/moama/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/moama/modeling_moama.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/moama/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/pretrained/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/pretrained/modeling_pretrained.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/supervised/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/supervised/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/encoder/supervised/modeling_supervised.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/digress/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/digress/diffusion.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/digress/modeling_digress.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/digress/transformer.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/digress/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/layers.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/modeling_gdss.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/sde.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/solver.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/toremove/ScoreNetworkA.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/toremove/ScoreNetworkX.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/gdss/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_dit/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_dit/diffusion.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_dit/modeling_graph_dit.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_dit/transformer.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_dit/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_ga/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_ga/crossover.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_ga/modeling_graph_ga.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_ga/mutate.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/graph_ga/oracle.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/chemutils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/datautils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/jtmpn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/jtnn_dec.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/jtnn_enc.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/mol_tree.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/mpn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/nnutils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn/vocab.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/jtnn_vae.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/jtvae/modeling_jtvae.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/action_sampler.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/lstm.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/modeling_lstm.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/smiles_char_dict.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/lstm/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/molgpt/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/molgpt/dataset.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/molgpt/gpt.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/molgpt/modeling_molgpt.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/generator/pretrained/modeling_pretrained.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/nn/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/nn/attention.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/nn/embedder.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/nn/gnn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/nn/mlp.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/bfgnn/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/bfgnn/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/bfgnn/modeling_bfgnn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/dir/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/dir/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/dir/modeling_dir.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/dir/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/gnn/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/gnn/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/gnn/old_modeling_gnn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/modeling_grea.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/old1_features.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/old1_modeling_grea.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grea/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grin/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grin/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/grin/modeling_grin.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/irm/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/irm/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/irm/modeling_irm.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/lstm/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/lstm/token_from_smiles.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/old_modeling_graph.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/rpgnn/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/rpgnn/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/rpgnn/modeling_rpgnn.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/sgir/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/sgir/modeling_sgir.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/sgir/strategy.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/smiles_transformer/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/smiles_transformer/model.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/ssr/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/ssr/modeling_ssr.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/ssr/utils.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/__init__.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/checker.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/checkpoint.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/format.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/generic/metrics.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/generic/pseudo_tasks.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/generic/weights.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/graph/features.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/graph/graph_from_smiles.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/graph/graph_to_smiles.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/hf.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/utils/search.py +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/dependency_links.txt +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/not-zip-safe +0 -0
- {torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: torch_molecule
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Deep learning packages for molecular discovery with a simple sklearn-style interface
|
|
5
5
|
Author-email: Gang Liu <gliu7@nd.edu>
|
|
6
6
|
License: MIT
|
|
@@ -16,14 +16,11 @@ License-File: LICENSE
|
|
|
16
16
|
Requires-Dist: torch>=2.2.0
|
|
17
17
|
Requires-Dist: torch-geometric>=2.6.1
|
|
18
18
|
Requires-Dist: numpy
|
|
19
|
-
Requires-Dist: pandas>=2.2.3
|
|
20
|
-
Requires-Dist: click
|
|
21
19
|
Requires-Dist: huggingface_hub>=0.22.2
|
|
22
20
|
Requires-Dist: joblib>=1.3.2
|
|
23
21
|
Requires-Dist: networkx>=3.2.1
|
|
24
|
-
Requires-Dist: PyYAML>=6.0.2
|
|
25
22
|
Requires-Dist: rdkit>=2023.9.5
|
|
26
|
-
Requires-Dist: scikit_learn>=1.
|
|
23
|
+
Requires-Dist: scikit_learn>=1.2.2
|
|
27
24
|
Requires-Dist: scipy>=1.14.1
|
|
28
25
|
Requires-Dist: tqdm>=4.66.2
|
|
29
26
|
Requires-Dist: optuna>=4.0.0
|
|
@@ -35,7 +32,7 @@ Requires-Dist: flake8; extra == "dev"
|
|
|
35
32
|
Dynamic: license-file
|
|
36
33
|
|
|
37
34
|
<p align="center">
|
|
38
|
-
<img src="assets/logo.png" alt="torch-molecule logo" width="600"/>
|
|
35
|
+
<img src="https://github.com/liugangcode/torch-molecule/blob/main/assets/logo.png?raw=true" alt="torch-molecule logo" width="600"/>
|
|
39
36
|
</p>
|
|
40
37
|
|
|
41
38
|
<p align="center">
|
|
@@ -53,9 +50,16 @@ Dynamic: license-file
|
|
|
53
50
|
|
|
54
51
|
---
|
|
55
52
|
|
|
56
|
-
`torch-molecule` is a package
|
|
53
|
+
`torch-molecule` is a package that facilitates molecular discovery through deep learning, featuring a user-friendly, `sklearn`-style interface. It includes model checkpoints for efficient deployment and benchmarking across a range of molecular tasks. Currently, the package focuses on three main components: **Predictive Models**, **Generative Models**, and **Representation Models**. See the [List of Supported Models](#list-of-supported-models) section for all available models.
|
|
54
|
+
|
|
55
|
+
### API Comparison
|
|
56
|
+
|
|
57
|
+
| Functionality | scikit-learn | torch-molecule |
|
|
58
|
+
|---------------|-------------|----------------|
|
|
59
|
+
| Property Prediction | `predictor.fit/predict(...)` | `predictor.fit/autofit/predict(...)` |
|
|
60
|
+
| Representation Learning | Not supported | `encoder.fit/encode(...)` |
|
|
61
|
+
| Molecular Generation | Not supported | `generator.fit/generate(...)` |
|
|
57
62
|
|
|
58
|
-
> **Note**: This project is in active development, and features may change.
|
|
59
63
|
|
|
60
64
|
## Installation
|
|
61
65
|
|
|
@@ -65,26 +69,25 @@ Dynamic: license-file
|
|
|
65
69
|
conda activate torch_molecule
|
|
66
70
|
```
|
|
67
71
|
|
|
68
|
-
2. **Install
|
|
72
|
+
2. **Install using pip (0.1.2)**:
|
|
69
73
|
|
|
70
|
-
Clone the repository:
|
|
71
74
|
```bash
|
|
72
|
-
|
|
75
|
+
pip install torch-molecule
|
|
73
76
|
```
|
|
74
77
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
```
|
|
78
|
+
3. **Install from source for the latest version**:
|
|
79
|
+
|
|
80
|
+
Clone the repository:
|
|
79
81
|
|
|
80
|
-
Editable install:
|
|
81
82
|
```bash
|
|
82
|
-
|
|
83
|
+
git clone https://github.com/liugangcode/torch-molecule
|
|
84
|
+
cd torch-molecule
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
|
|
87
|
+
Install:
|
|
88
|
+
|
|
86
89
|
```bash
|
|
87
|
-
pip install
|
|
90
|
+
pip install .
|
|
88
91
|
```
|
|
89
92
|
|
|
90
93
|
### Additional Packages
|
|
@@ -95,6 +98,12 @@ Dynamic: license-file
|
|
|
95
98
|
| BFGNNMolecularPredictor | torch-scatter |
|
|
96
99
|
| GRINMolecularPredictor | torch-scatter |
|
|
97
100
|
|
|
101
|
+
**For models that require `torch-scatter`: Install using the following command: `pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html`, e.g.,
|
|
102
|
+
|
|
103
|
+
> `pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.1+cu128.html`
|
|
104
|
+
|
|
105
|
+
**For models that require `transformers`:** `pip install transformers`
|
|
106
|
+
|
|
98
107
|
## Usage
|
|
99
108
|
|
|
100
109
|
Refer to the `tests` folder for more use cases.
|
|
@@ -236,8 +245,8 @@ See the structure of `torch_molecule` with the command `tree -L 2 torch_molecule
|
|
|
236
245
|
2. **Generative Models**: Done: Graph DiT, GraphGA, DiGress, GDS, MolGPT TODO: more
|
|
237
246
|
3. **Representation Models**: Done: MoAMa, AttrMasking, ContextPred, EdgePred. Many pretrained models from HF. TODO: checkpoints, more
|
|
238
247
|
|
|
239
|
-
|
|
248
|
+
> **Note**: This project is in active development, and features may change.
|
|
240
249
|
|
|
241
|
-
|
|
250
|
+
## Acknowledgements
|
|
242
251
|
|
|
243
252
|
The project template was adapted from [https://github.com/lwaekfjlk/python-project-template](https://github.com/lwaekfjlk/python-project-template). We thank the authors for their contribution to the open-source community.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/logo.png" alt="torch-molecule logo" width="600"/>
|
|
2
|
+
<img src="https://github.com/liugangcode/torch-molecule/blob/main/assets/logo.png?raw=true" alt="torch-molecule logo" width="600"/>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -17,9 +17,16 @@
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
`torch-molecule` is a package
|
|
20
|
+
`torch-molecule` is a package that facilitates molecular discovery through deep learning, featuring a user-friendly, `sklearn`-style interface. It includes model checkpoints for efficient deployment and benchmarking across a range of molecular tasks. Currently, the package focuses on three main components: **Predictive Models**, **Generative Models**, and **Representation Models**. See the [List of Supported Models](#list-of-supported-models) section for all available models.
|
|
21
|
+
|
|
22
|
+
### API Comparison
|
|
23
|
+
|
|
24
|
+
| Functionality | scikit-learn | torch-molecule |
|
|
25
|
+
|---------------|-------------|----------------|
|
|
26
|
+
| Property Prediction | `predictor.fit/predict(...)` | `predictor.fit/autofit/predict(...)` |
|
|
27
|
+
| Representation Learning | Not supported | `encoder.fit/encode(...)` |
|
|
28
|
+
| Molecular Generation | Not supported | `generator.fit/generate(...)` |
|
|
21
29
|
|
|
22
|
-
> **Note**: This project is in active development, and features may change.
|
|
23
30
|
|
|
24
31
|
## Installation
|
|
25
32
|
|
|
@@ -29,26 +36,25 @@
|
|
|
29
36
|
conda activate torch_molecule
|
|
30
37
|
```
|
|
31
38
|
|
|
32
|
-
2. **Install
|
|
39
|
+
2. **Install using pip (0.1.2)**:
|
|
33
40
|
|
|
34
|
-
Clone the repository:
|
|
35
41
|
```bash
|
|
36
|
-
|
|
42
|
+
pip install torch-molecule
|
|
37
43
|
```
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
```
|
|
45
|
+
3. **Install from source for the latest version**:
|
|
46
|
+
|
|
47
|
+
Clone the repository:
|
|
43
48
|
|
|
44
|
-
Editable install:
|
|
45
49
|
```bash
|
|
46
|
-
|
|
50
|
+
git clone https://github.com/liugangcode/torch-molecule
|
|
51
|
+
cd torch-molecule
|
|
47
52
|
```
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
Install:
|
|
55
|
+
|
|
50
56
|
```bash
|
|
51
|
-
pip install
|
|
57
|
+
pip install .
|
|
52
58
|
```
|
|
53
59
|
|
|
54
60
|
### Additional Packages
|
|
@@ -59,6 +65,12 @@
|
|
|
59
65
|
| BFGNNMolecularPredictor | torch-scatter |
|
|
60
66
|
| GRINMolecularPredictor | torch-scatter |
|
|
61
67
|
|
|
68
|
+
**For models that require `torch-scatter`: Install using the following command: `pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html`, e.g.,
|
|
69
|
+
|
|
70
|
+
> `pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.1+cu128.html`
|
|
71
|
+
|
|
72
|
+
**For models that require `transformers`:** `pip install transformers`
|
|
73
|
+
|
|
62
74
|
## Usage
|
|
63
75
|
|
|
64
76
|
Refer to the `tests` folder for more use cases.
|
|
@@ -200,8 +212,8 @@ See the structure of `torch_molecule` with the command `tree -L 2 torch_molecule
|
|
|
200
212
|
2. **Generative Models**: Done: Graph DiT, GraphGA, DiGress, GDS, MolGPT TODO: more
|
|
201
213
|
3. **Representation Models**: Done: MoAMa, AttrMasking, ContextPred, EdgePred. Many pretrained models from HF. TODO: checkpoints, more
|
|
202
214
|
|
|
203
|
-
|
|
215
|
+
> **Note**: This project is in active development, and features may change.
|
|
204
216
|
|
|
205
|
-
|
|
217
|
+
## Acknowledgements
|
|
206
218
|
|
|
207
219
|
The project template was adapted from [https://github.com/lwaekfjlk/python-project-template](https://github.com/lwaekfjlk/python-project-template). We thank the authors for their contribution to the open-source community.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "torch_molecule"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.2"
|
|
8
8
|
description = "Deep learning packages for molecular discovery with a simple sklearn-style interface"
|
|
9
9
|
authors = [{name = "Gang Liu", email = "gliu7@nd.edu"}]
|
|
10
10
|
readme = "README.md"
|
|
@@ -19,14 +19,11 @@ dependencies = [
|
|
|
19
19
|
"torch>=2.2.0",
|
|
20
20
|
"torch-geometric>=2.6.1",
|
|
21
21
|
"numpy",
|
|
22
|
-
"pandas>=2.2.3",
|
|
23
|
-
"click",
|
|
24
22
|
"huggingface_hub>=0.22.2",
|
|
25
23
|
"joblib>=1.3.2",
|
|
26
24
|
"networkx>=3.2.1",
|
|
27
|
-
"PyYAML>=6.0.2",
|
|
28
25
|
"rdkit>=2023.9.5",
|
|
29
|
-
"scikit_learn>=1.
|
|
26
|
+
"scikit_learn>=1.2.2",
|
|
30
27
|
"scipy>=1.14.1",
|
|
31
28
|
"tqdm>=4.66.2",
|
|
32
29
|
"optuna>=4.0.0",
|
{torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/gnn/modeling_gnn.py
RENAMED
|
@@ -317,7 +317,7 @@ class GNNMolecularPredictor(BaseMolecularPredictor):
|
|
|
317
317
|
y_val: Optional[Union[List, np.ndarray]] = None,
|
|
318
318
|
X_unlbl: Optional[List[str]] = None,
|
|
319
319
|
search_parameters: Optional[Dict[str, ParameterSpec]] = None,
|
|
320
|
-
n_trials: int = 10,
|
|
320
|
+
n_trials: int = 10,
|
|
321
321
|
) -> "GNNMolecularPredictor":
|
|
322
322
|
"""Automatically find the best hyperparameters using Optuna optimization."""
|
|
323
323
|
import optuna
|
|
@@ -565,19 +565,17 @@ class GNNMolecularPredictor(BaseMolecularPredictor):
|
|
|
565
565
|
best_eval = current_eval
|
|
566
566
|
best_state_dict = self.model.state_dict()
|
|
567
567
|
cnt_wait = 0
|
|
568
|
+
if self.verbose:
|
|
569
|
+
print(
|
|
570
|
+
f"Better result found at Epoch {epoch}: Loss = {np.mean(train_losses):.4f}, "
|
|
571
|
+
f"{self.evaluate_name} = {best_eval:.4f}"
|
|
572
|
+
)
|
|
568
573
|
else:
|
|
569
574
|
cnt_wait += 1
|
|
570
575
|
if cnt_wait > self.patience:
|
|
571
576
|
if self.verbose:
|
|
572
577
|
print(f"Early stopping triggered after {epoch} epochs")
|
|
573
578
|
break
|
|
574
|
-
|
|
575
|
-
if self.verbose and epoch % 10 == 0:
|
|
576
|
-
print(
|
|
577
|
-
f"Epoch {epoch}: Loss = {np.mean(train_losses):.4f}, "
|
|
578
|
-
f"{self.evaluate_name} = {current_eval:.4f}, "
|
|
579
|
-
f"Best {self.evaluate_name} = {best_eval:.4f}"
|
|
580
|
-
)
|
|
581
579
|
|
|
582
580
|
# Restore best model
|
|
583
581
|
if best_state_dict is not None:
|
|
@@ -621,7 +619,11 @@ class GNNMolecularPredictor(BaseMolecularPredictor):
|
|
|
621
619
|
self.model.eval()
|
|
622
620
|
predictions = []
|
|
623
621
|
with torch.no_grad():
|
|
624
|
-
|
|
622
|
+
if self.verbose:
|
|
623
|
+
iterator = tqdm(loader, desc="Predicting")
|
|
624
|
+
else:
|
|
625
|
+
iterator = loader
|
|
626
|
+
for batch in iterator:
|
|
625
627
|
batch = batch.to(self.device)
|
|
626
628
|
out = self.model(batch)
|
|
627
629
|
predictions.append(out["prediction"].cpu().numpy())
|
|
@@ -60,8 +60,7 @@ class LSTM(nn.Module):
|
|
|
60
60
|
self.lstm2 = nn.LSTM(input_size=LSTMunits * 2, hidden_size=LSTMunits, bidirectional=True, batch_first=True)
|
|
61
61
|
self.timedist_dense = nn.Linear(LSTMunits * 2, hidden_dim)
|
|
62
62
|
self.relu = nn.ReLU()
|
|
63
|
-
self.fc = nn.Linear(hidden_dim * max_input_len,
|
|
64
|
-
|
|
63
|
+
self.fc = nn.Linear(hidden_dim * max_input_len, num_task)
|
|
65
64
|
|
|
66
65
|
def initialize_parameters(self, seed=None):
|
|
67
66
|
"""Initialize model parameters randomly.
|
{torch_molecule-0.1.0.dev2 → torch_molecule-0.1.2}/torch_molecule/predictor/lstm/modeling_lstm.py
RENAMED
|
@@ -575,7 +575,6 @@ class LSTMMolecularPredictor(BaseMolecularPredictor):
|
|
|
575
575
|
y_true_list.append(batched_label.cpu().numpy())
|
|
576
576
|
|
|
577
577
|
y_pred = np.concatenate(y_pred_list, axis=0)
|
|
578
|
-
y_pred = y_pred.reshape(-1, 1)
|
|
579
578
|
y_true = np.concatenate(y_true_list, axis=0)
|
|
580
579
|
|
|
581
580
|
# Compute metric
|
|
@@ -606,7 +605,7 @@ class LSTMMolecularPredictor(BaseMolecularPredictor):
|
|
|
606
605
|
for batch in iterator:
|
|
607
606
|
batched_input, batched_label = batch
|
|
608
607
|
batched_input = batched_input.to(self.device)
|
|
609
|
-
batched_label = batched_label.to(self.device)
|
|
608
|
+
batched_label = batched_label.to(self.device)
|
|
610
609
|
optimizer.zero_grad()
|
|
611
610
|
|
|
612
611
|
# Forward pass and loss computation
|
|
@@ -240,7 +240,6 @@ class SMILESTransformerMolecularPredictor(LSTMMolecularPredictor):
|
|
|
240
240
|
mode='min' if not self.evaluate_higher_better else 'max',
|
|
241
241
|
factor=self.scheduler_factor,
|
|
242
242
|
patience=self.scheduler_patience,
|
|
243
|
-
verbose=self.verbose
|
|
244
243
|
)
|
|
245
244
|
|
|
246
245
|
return optimizer, scheduler
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: torch_molecule
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: Deep learning packages for molecular discovery with a simple sklearn-style interface
|
|
5
5
|
Author-email: Gang Liu <gliu7@nd.edu>
|
|
6
6
|
License: MIT
|
|
@@ -16,14 +16,11 @@ License-File: LICENSE
|
|
|
16
16
|
Requires-Dist: torch>=2.2.0
|
|
17
17
|
Requires-Dist: torch-geometric>=2.6.1
|
|
18
18
|
Requires-Dist: numpy
|
|
19
|
-
Requires-Dist: pandas>=2.2.3
|
|
20
|
-
Requires-Dist: click
|
|
21
19
|
Requires-Dist: huggingface_hub>=0.22.2
|
|
22
20
|
Requires-Dist: joblib>=1.3.2
|
|
23
21
|
Requires-Dist: networkx>=3.2.1
|
|
24
|
-
Requires-Dist: PyYAML>=6.0.2
|
|
25
22
|
Requires-Dist: rdkit>=2023.9.5
|
|
26
|
-
Requires-Dist: scikit_learn>=1.
|
|
23
|
+
Requires-Dist: scikit_learn>=1.2.2
|
|
27
24
|
Requires-Dist: scipy>=1.14.1
|
|
28
25
|
Requires-Dist: tqdm>=4.66.2
|
|
29
26
|
Requires-Dist: optuna>=4.0.0
|
|
@@ -35,7 +32,7 @@ Requires-Dist: flake8; extra == "dev"
|
|
|
35
32
|
Dynamic: license-file
|
|
36
33
|
|
|
37
34
|
<p align="center">
|
|
38
|
-
<img src="assets/logo.png" alt="torch-molecule logo" width="600"/>
|
|
35
|
+
<img src="https://github.com/liugangcode/torch-molecule/blob/main/assets/logo.png?raw=true" alt="torch-molecule logo" width="600"/>
|
|
39
36
|
</p>
|
|
40
37
|
|
|
41
38
|
<p align="center">
|
|
@@ -53,9 +50,16 @@ Dynamic: license-file
|
|
|
53
50
|
|
|
54
51
|
---
|
|
55
52
|
|
|
56
|
-
`torch-molecule` is a package
|
|
53
|
+
`torch-molecule` is a package that facilitates molecular discovery through deep learning, featuring a user-friendly, `sklearn`-style interface. It includes model checkpoints for efficient deployment and benchmarking across a range of molecular tasks. Currently, the package focuses on three main components: **Predictive Models**, **Generative Models**, and **Representation Models**. See the [List of Supported Models](#list-of-supported-models) section for all available models.
|
|
54
|
+
|
|
55
|
+
### API Comparison
|
|
56
|
+
|
|
57
|
+
| Functionality | scikit-learn | torch-molecule |
|
|
58
|
+
|---------------|-------------|----------------|
|
|
59
|
+
| Property Prediction | `predictor.fit/predict(...)` | `predictor.fit/autofit/predict(...)` |
|
|
60
|
+
| Representation Learning | Not supported | `encoder.fit/encode(...)` |
|
|
61
|
+
| Molecular Generation | Not supported | `generator.fit/generate(...)` |
|
|
57
62
|
|
|
58
|
-
> **Note**: This project is in active development, and features may change.
|
|
59
63
|
|
|
60
64
|
## Installation
|
|
61
65
|
|
|
@@ -65,26 +69,25 @@ Dynamic: license-file
|
|
|
65
69
|
conda activate torch_molecule
|
|
66
70
|
```
|
|
67
71
|
|
|
68
|
-
2. **Install
|
|
72
|
+
2. **Install using pip (0.1.2)**:
|
|
69
73
|
|
|
70
|
-
Clone the repository:
|
|
71
74
|
```bash
|
|
72
|
-
|
|
75
|
+
pip install torch-molecule
|
|
73
76
|
```
|
|
74
77
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
```
|
|
78
|
+
3. **Install from source for the latest version**:
|
|
79
|
+
|
|
80
|
+
Clone the repository:
|
|
79
81
|
|
|
80
|
-
Editable install:
|
|
81
82
|
```bash
|
|
82
|
-
|
|
83
|
+
git clone https://github.com/liugangcode/torch-molecule
|
|
84
|
+
cd torch-molecule
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
|
|
87
|
+
Install:
|
|
88
|
+
|
|
86
89
|
```bash
|
|
87
|
-
pip install
|
|
90
|
+
pip install .
|
|
88
91
|
```
|
|
89
92
|
|
|
90
93
|
### Additional Packages
|
|
@@ -95,6 +98,12 @@ Dynamic: license-file
|
|
|
95
98
|
| BFGNNMolecularPredictor | torch-scatter |
|
|
96
99
|
| GRINMolecularPredictor | torch-scatter |
|
|
97
100
|
|
|
101
|
+
**For models that require `torch-scatter`: Install using the following command: `pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html`, e.g.,
|
|
102
|
+
|
|
103
|
+
> `pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.1+cu128.html`
|
|
104
|
+
|
|
105
|
+
**For models that require `transformers`:** `pip install transformers`
|
|
106
|
+
|
|
98
107
|
## Usage
|
|
99
108
|
|
|
100
109
|
Refer to the `tests` folder for more use cases.
|
|
@@ -236,8 +245,8 @@ See the structure of `torch_molecule` with the command `tree -L 2 torch_molecule
|
|
|
236
245
|
2. **Generative Models**: Done: Graph DiT, GraphGA, DiGress, GDS, MolGPT TODO: more
|
|
237
246
|
3. **Representation Models**: Done: MoAMa, AttrMasking, ContextPred, EdgePred. Many pretrained models from HF. TODO: checkpoints, more
|
|
238
247
|
|
|
239
|
-
|
|
248
|
+
> **Note**: This project is in active development, and features may change.
|
|
240
249
|
|
|
241
|
-
|
|
250
|
+
## Acknowledgements
|
|
242
251
|
|
|
243
252
|
The project template was adapted from [https://github.com/lwaekfjlk/python-project-template](https://github.com/lwaekfjlk/python-project-template). We thank the authors for their contribution to the open-source community.
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
torch>=2.2.0
|
|
2
2
|
torch-geometric>=2.6.1
|
|
3
3
|
numpy
|
|
4
|
-
pandas>=2.2.3
|
|
5
|
-
click
|
|
6
4
|
huggingface_hub>=0.22.2
|
|
7
5
|
joblib>=1.3.2
|
|
8
6
|
networkx>=3.2.1
|
|
9
|
-
PyYAML>=6.0.2
|
|
10
7
|
rdkit>=2023.9.5
|
|
11
|
-
scikit_learn>=1.
|
|
8
|
+
scikit_learn>=1.2.2
|
|
12
9
|
scipy>=1.14.1
|
|
13
10
|
tqdm>=4.66.2
|
|
14
11
|
optuna>=4.0.0
|