Padelpy

Latest version: v0.1.15

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

Scan your dependencies

Page 2 of 3

0.1.9

Per pull request https://github.com/ECRL/PaDELPy/pull/21 and issue https://github.com/ECRL/PaDELPy/issues/20, this update ensures descriptor dictionaries/lists are returned in the same order as the SMILES used as inputs.

0.1.8

This release allows users to submit multiple SMILES strings (i.e. list of strings) to the "from_smiles" function:

python
from padelpy import from_smiles

obtain descriptors for propane and butane
descriptors = from_smiles(['CCC', 'CCCC'])


In issue https://github.com/ECRL/PaDELPy/issues/15 it was pointed out that multiprocessing/multithreading could not be utilized for the "from_smiles" function. The updated implementation allows for this. If your code/pipeline currently supplies one SMILES string to the "from_smiles" function, it will continue to operate as expected.

Additionally, error handling/reporting has been updated to ensure proper feedback, and the default maximum runtimes for the "from_smiles" and "from_mdl" functions has been increased from 12 seconds to 60 seconds.

Unit tests for submitting multiple SMILES strings and proper exception handling/reporting have been included.

0.1.7

This update includes handling for an error observed in issue https://github.com/ECRL/PaDELPy/issues/12, where some compounds would return no computed descriptors/fingerprints (temporary CSV not saving an entry for the compound).

For example, the compound "buprenorphine" with SMILES string "Oc7ccc5c1c7O[CH]3[C]6(OC)CHC(C)C(C)(C)C" would produce an output CSV file with no entry for the compound when the following is executed:
python
from padelpy import from_smiles

from_smiles('Oc7ccc5c1c7O[CH]3[C]6(OC)CHC(C)C(C)(C)C', output_csv='output.csv')


When PaDELPy re-imports these descriptors to return to the user, an indexing error occurred due to the _from\_smiles_ function (and the _from\_mdl_ function, it has the same behavior) looking through an empty list.

This update ensures that the following exception is raised if this behavior occurs:

RuntimeError: PaDEL-Descriptor returned no calculated values. Ensure the input structure is correct.


One of buprenorphine's alternate SMILES strings, "C[C([CH]1C[C]23CC[C]1([CH]4[C]25CCN([Ch]3CC6=C5C(=C(C=C6)O)O4)CC7CC7)OC)(C(C)(C)C)O", also produces this error. Another alternate SMILES string, "CC(C)(C)C(C)(C1CC23CCC1(C4C25CCN(C3CC6=C5C(=C(C=C6)O)O4)CC7CC7)OC)O", simply causes a timeout error (unable to calculate descriptors given 60 minutes of available runtime, as stated in the above issue).

The issue cited above states that the GUI version of PaDEL-Descriptor is also unable to calculate values for these SMILES, therefore I theorize that the underlying issue is likely within PaDEL-Descriptor.

This update also includes updated DocStrings.

0.1.6

- PaDEL's native timeout functionality causes some compounds to "hang" during calculation
- for higher-level functions, from_smiles and from_mdl, supplied timeout now controls subprocess.Popen's timeout instead of PaDEL's

This change reduces the chance of a compound to fail during calculation.

0.1.5

- Upon a successful conversion in "from_smiles" and "from_mdl", attempt loop is exited

0.1.4

- subprocess.Popen call required a list of arguments instead of a string on Unix-based systems, therefore the command was .split() to form a list

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.