Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
c392794
Implementierung PaccMann
gretag04 Apr 23, 2026
8adde68
Implementierung PaccMann
gretag04 Apr 23, 2026
7e854d7
Merge branch 'development' into development
PascalIversen Apr 23, 2026
72e982e
Pytoda hinzugefügt zu PaccMann
gretag04 Apr 27, 2026
ca94830
fix: remove top-level pytoda imports, fix SMILES loading
tereshchuk1 Jul 3, 2026
c01382f
fix: resolve merge conflicts with upstream/development
tereshchuk1 Jul 3, 2026
34e60fb
fix: mypy - remove None annotation for hyperparameters
tereshchuk1 Jul 3, 2026
3c2a22f
fix: mypy - initialize hyperparameters as empty dict
tereshchuk1 Jul 3, 2026
32ffccf
refactor: remove dead PaccMann confidence-estimation path (forward(co…
tereshchuk1 Jul 16, 2026
509392d
fix: make PaccMann gene_list a hyperparameter and use gene_list=None …
tereshchuk1 Jul 16, 2026
65ff137
documentation for PaccMann model was added
tereshchuk1 Jul 16, 2026
5486446
docs: add PaccMann to the model overview table in usage.rst
PascalIversen Aug 7, 2026
2cf94a6
feat: select the best PaccMann epoch on the early stopping set
PascalIversen Aug 8, 2026
47d0acd
fix: align PaccMann SMILES handling with upstream and drop dead code
PascalIversen Aug 8, 2026
268f8ff
feat: augment PaccMann drugs with equivalent SMILES strings
PascalIversen Aug 9, 2026
eb35ae0
refactor: drop historical residue from the PaccMann port
PascalIversen Aug 9, 2026
e27445b
refactor: rewrite PaccMann as a standalone module, fixing early stopp…
PascalIversen Aug 18, 2026
3085370
Merge branch 'development' into pr-388
PascalIversen Aug 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions docs/drevalpy.models.PaccMann.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
PaccMann
=============================

PaccMann Model
----------------------------------

.. automodule:: drevalpy.models.PaccMann.paccmann
:members:
:undoc-members:
:show-inheritance:

PaccMannV2 Network
----------------------------------

.. automodule:: drevalpy.models.PaccMann.paccmann_network_v2
:members:
:undoc-members:
:show-inheritance:

Hyperparameter utils
----------------------------------

.. automodule:: drevalpy.models.PaccMann.utils.hyperparams
:members:
:undoc-members:
:show-inheritance:

Layers
----------------------------------

.. automodule:: drevalpy.models.PaccMann.utils.layers
:members:
:undoc-members:
:show-inheritance:

Loss functions
----------------------------------

.. automodule:: drevalpy.models.PaccMann.utils.loss_functions
:members:
:undoc-members:
:show-inheritance:

Model utils
----------------------------------

.. automodule:: drevalpy.models.PaccMann.utils.utils
:members:
:undoc-members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/drevalpy.models.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Implemented models
drevalpy.models.DIPK
drevalpy.models.DrugGNN
drevalpy.models.MOLIR
drevalpy.models.PaccMann
drevalpy.models.PharmaFormer
drevalpy.models.Precily
drevalpy.models.SRMF
Expand Down
4 changes: 4 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ default ``pip install drevalpy``. They are provided as optional `extras`:
* - ``xgboost``
- The ``MultiViewXGBoost`` baseline model
- ``xgboost``
* - ``paccmann``
- SMILES augmentation for the ``PaccMann`` model. Without it, PaccMann trains on the
unaugmented SMILES and warns.
- ``rdkit``
* - ``multiprocessing``
- Parallelized cross-validation / tuning via Ray
- ``ray`` (and ``pydantic``, usually already present)
Expand Down
2 changes: 2 additions & 0 deletions docs/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,8 @@ See the sklearn model :ref:`flexible-inputs` or the SimpleNeuralNetwork :ref:`fl
+---------------------------------+----------------------------+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Precily | Published Model | Multi-Drug Model | `Precily <https://doi.org/10.1038/s41467-022-33291-z>`_ from Chawla et al. Uses GSVA pathway-activity scores with SMILESVec drug embeddings. Features are concatenated and passed through multiple linear layers with ReLU and Dropout. |
+---------------------------------+----------------------------+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| PaccMann | Published Model | Multi-Drug Model | `PaccMann <https://doi.org/10.1021/acs.molpharmaceut.9b00520>`_ from Manica et al. Embeds tokenized drug SMILES and encodes them with multi-scale convolutional layers, while cell line gene expression of a curated gene panel serves as biological context. Contextual attention layers connect the gene and molecule representations, which are concatenated and passed through stacked dense layers to predict the response. |
+---------------------------------+----------------------------+--------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


Available Datasets
Expand Down
5 changes: 5 additions & 0 deletions drevalpy/models/PaccMann/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Module for the Paccmann model."""

from .paccmann import PaccMann

__all__ = ["PaccMann"]
59 changes: 59 additions & 0 deletions drevalpy/models/PaccMann/hyperparameters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
PaccMann:
gene_list:
- gene_list_paccmann_network_prop

epochs:
- 10
batch_size:
- 64
learning_rate:
- 0.001
weight_decay:
- 0.0

smiles_embedding_size:
- 8

filters:
- [16, 16, 16]

molecule_heads:
- [2, 2, 2, 2]

gene_heads:
- [2, 2, 2, 2]

smiles_padding_length:
- 512

# Train each drug on several equivalent SMILES strings. Requires rdkit; without it
# training falls back to the unaugmented SMILES and warns.
augment_smiles:
- true

dropout:
- 0.5

batch_norm:
- true

activation_fn:
- relu

loss_fn:
- mse

smiles_attention_size:
- 64

gene_attention_size:
- 1

molecule_temperature:
- 1.0

gene_temperature:
- 1.0

stacked_dense_hidden_sizes:
- [512, 256]
Loading
Loading