Moldrug

Latest version: v3.7.3

Safety actively analyzes 681812 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

3.7.3

Changed

- Name from MolDrug to moldrug (mainly for documentation).

3.7.2

Fix

- It was possible to generate the same children in the same generations. Now there is a filter to avoid repeated evaluations.

3.7.1

Fix

- Remove an unnecessary print statement.

3.7.0

Fixed

- Calculate SA_score with the molecule without explicit hydrogens for all built-in fitness functions. Based on: [https://github.com/rdkit/rdkit/discussions/7047](https://github.com/rdkit/rdkit/discussions/7047)

Added

- The `moldrug.constraintconf.clashes_present` function.

Changed

- `bio.PDB` object is no longer used for filtering of conformations that clash with the protein. Now the coordinates are retrieved from the RDKit molecule object and the distance is calculated with NumPy.

3.6.1

Fix

- LICENCE on PyPi.

Add

- Extra metadata to the package.

3.6.0

Added

- `vina_seed` argument for:
- all the cost functions of `moldrug.fitness`,
- `moldrug.fitness._vinadock`.
- `randomseed`:
- `moldrug.utils.confgen`,
- `moldrug.utils.Individual`,
- `moldrug.utils.Local`,
- `moldrug.utils.GA`,
- `moldrug.constraintconf.constraintconf` as well its CLI with the flag `--seed`.
- `-V` and `--verbose` flag in the CLI of moldrug.
- `moldrug.utils.softmax` function.
- `moldrug.utils.deep_update` function.
- `moldrug.`utils.__get_default_desirability` to store the default desirability values.
- `vina_score_type = 'ensemble'`, this is used by CostMultiReceptors* functions. It is meant to be used to account for flexibility in the receptor. This is equivalent to performing ensemble docking.

Removed

- `outdir` flag in `moldrug` CLI.

Changed

- Use `random.random` instead `numpy.random.rand` function for some small cases.
- `AllChem.MMFFOptimizeMolecule` is only used internally for `moldrug.utils.confgen` and `moldrug.constraintconf.gen_aligned_conf` if `randomseed` is not set and with `maxIters = 500`.
- `pickle` module is replaced by `dill`. It is better to handle users' custom fitness functions.
- Data now is retrieved with `moldrug``.data.get_data` function.
- Is not needed to input the whole desirability definition if only is intended to change one part of the default desirability used internally by the cost functions of `moldrug.fitness`. For example, if you would like to change the `Target` value of `vina_score` from its default value.

Before:

python
ga = GA(
...
costfunc = moldrug.fitness.Cost
costfunc_kwargs = {
...
"desirability": {
"qed": {
"w": 1,
"LargerTheBest": {
"LowerLimit": 0.1,
"Target": 0.75,
"r": 1
}
},
"sa_score": {
"w": 1,
"SmallerTheBest": {
"Target": 3,
"UpperLimit": 7,
"r": 1
}
},
"vina_score": {
"w": 1,
"SmallerTheBest": {
"Target": -12,
"UpperLimit": -6,
"r": 1
}
}
},
...
}
...
)


Now:

python
ga = GA(
...
costfunc = moldrug.fitness.Cost
costfunc_kwargs = {
...
"desirability": {
"vina_score": {
"SmallerTheBest": {
"Target": -12,
}
}
},
...
}
...
)


The same from the CLI.

Fixed

- Small bug when the population has Individuals with the same cost. Better reproducibility.
- Refactored changes.
- Handled properly in case `receptor_pdbqt_path = None`.
- Convert `self.crem_db_path` to absolute path in `moldrug.utils.Local` and `moldrug.utils.GA`.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.