Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-05-29 | 6.7 kB | |
v2.2.0 Atom and bond property prediction + Foundation Models source code.tar.gz | 2025-05-29 | 136.5 MB | |
v2.2.0 Atom and bond property prediction + Foundation Models source code.zip | 2025-05-29 | 136.7 MB | |
Totals: 3 Items | 273.3 MB | 2 |
With this release, we finish our reimplementation of chemprop v1 to be modern and maintainable. The last major feature from chemprop v1 that we plan to port to v2 is support for atom and bond property prediction. This was accomplished in [#1136]. Documentation for using this feature from the CLI is available here while examples for using it from a python script are available here and here. As a reminder for CLI users coming from v1, we have a helpful transition guide here. Also note that we do not support converting v1 models for atom and bond targets to v2 models as the model architecture has been simplified in v2. Now if there are multiple atom targets (or similarly multiple bond targets) a single feed forward network (FFN) with multiple outputs is used to make predictions for all those targets. A separate FFN is used for each of molecule, atom, and bond targets, as well as for each of atom prediction constraints and bond prediction constraints if those are used (see the example notebooks).
A notable new feature is the ability to use pretrained message passing layers with new predictor heads, added in [#1226], with the CLI flag --from-foundation
. This makes it possible to train large foundation style chemprop models on many basic chemistry tasks and then use the message passing layer weights to initialize a new model for training on other smaller datasets. An example of such a model CheMeleon
is shown here.
CLI changes
- The hyperparameter search space has been updated to include 6 message passing steps as an option in [#1230]. This option was included in chemprop v1 and was accidentally excluded during our reimplementation in v2.
- The "scaled exponential linear unit" (SELU) activation function is removed from the hyperparameter search space in [#1146] because it is normally used in self normalizing models, which chemprop does not support. In the same PR, all other torch activation modules are made available as an option via the CLI. In python scripts, customized activation functions may also now be used.
- Stereochemical information (R/S and cis/trans) is included in the default featurization. If a model is trained on molecules that do not include this stereochemical info, some of the model weights will not be updated. This could cause erroneous predictions at inference time if molecules are used with stereochemical info. To remedy this, we have added a
--ignore-stereo
flag and corresponding function argumentchemprop.utils.utils.make_mol(smi, ignore_stereo = True)
that tells chemprop to ignore any stereochemical info in the input molecule. See [#1196] and [#1216].
Bug fixes
- Previously a dataset could not be missing values if the values were bounded. This is fixed in [#1203]. Thank you to @lewismervin1 for the bug report and fix.
- Also fixed the output shape of dropout uncertainty predictions in [#1205] thanks to a bug report by @lewismervin1.
- If matthew correlation coefficient (MCC) is used as a metric, a higher value is better, but the checkpointing callback was told that lower is better. This is fixed by [#1218].
- The paths of extra atom/bond features/descriptors would not save properly in a config file. This is fixed in [#1189] and [#1190].
- Scalers from a pretrained GPU-trained model would not load correctly on a CPU-only machine. This is fixed in [#1231]. Thank you to @jonwzheng for the bug report.
Finally, not exactly related to this version of chemprop, but we have also added lists of external dependency versions that are known to work with previous versions of chemprop in [#1225]. This is useful if you want to use a specific version of chemprop but are unsure if it is compatible with the most up to date versions of external dependencies. For example, torch
v2.6 is incompatible with earlier versions of chemprop because torch.load
now uses weights_only=True
by default.
What's Changed
- Allow Numpy 2+ by @JacksonBurns in https://github.com/chemprop/chemprop/pull/1193
- Adds CLI option to ignore chirality in SMILES by @craabreu in https://github.com/chemprop/chemprop/pull/1196
- Make sure bounded targets dataframe is all strings by @KnathanM in https://github.com/chemprop/chemprop/pull/1203
- Includes Chemprop logo for dark mode by @craabreu in https://github.com/chemprop/chemprop/pull/1198
- Fix dropout uncertainty output shape by @KnathanM in https://github.com/chemprop/chemprop/pull/1205
- (Data point) weights should be shape
b
orb x 1
by @KnathanM in https://github.com/chemprop/chemprop/pull/1210 - Add warning to use v1 featurizer to converting script by @KnathanM in https://github.com/chemprop/chemprop/pull/1180
- MCC metrics higher is better by @KnathanM in https://github.com/chemprop/chemprop/pull/1218
- Expand chirality ignore to ignore bond stereochemistry by @KnathanM in https://github.com/chemprop/chemprop/pull/1216
- Make converting 2.0 to 2.1 models easier and more obvious by @JacksonBurns in https://github.com/chemprop/chemprop/pull/1191
- Add Support for Fine-Tuning Foundation Models with
--from-foundation
and addCheMeleon
by @JacksonBurns in https://github.com/chemprop/chemprop/pull/1226 - Add Known Working External Dependency Lists by @JacksonBurns in https://github.com/chemprop/chemprop/pull/1225
- Make features descriptors path config file-able by @KnathanM in https://github.com/chemprop/chemprop/pull/1189
- Ensure
device="cpu"
when loading Scalers by @JacksonBurns in https://github.com/chemprop/chemprop/pull/1231 - Increases customizability of activation functions by @craabreu in https://github.com/chemprop/chemprop/pull/1146
- Allow importing uncertainty as a subpackage by @craabreu in https://github.com/chemprop/chemprop/pull/1237
- Fix hpopt write config by @KnathanM in https://github.com/chemprop/chemprop/pull/1190
- v2.2: Atom and bond property predictions by @KnathanM in https://github.com/chemprop/chemprop/pull/1136
- undo unintended v1 -> v2 hpopt search space changes by @KnathanM in https://github.com/chemprop/chemprop/pull/1230
Full Changelog: https://github.com/chemprop/chemprop/compare/v2.1.2...v2.2.0