diff --git a/padelpy/__init__.py b/padelpy/__init__.py index 4b3a7e7..ef2e9a9 100644 --- a/padelpy/__init__.py +++ b/padelpy/__init__.py @@ -1,3 +1,3 @@ from padelpy.wrapper import padeldescriptor from padelpy.functions import from_mdl, from_smiles -__version__ = '0.1.6' +__version__ = '0.1.7' diff --git a/padelpy/functions.py b/padelpy/functions.py index e4dafd8..4448bd7 100644 --- a/padelpy/functions.py +++ b/padelpy/functions.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # padelpy/functions.py -# v.0.1.6 +# v.0.1.7 # Developed in 2019 by Travis Kessler # # Contains various functions commonly used with PaDEL-Descriptor @@ -20,8 +20,8 @@ from padelpy import padeldescriptor -def from_smiles(smiles: str, output_csv: str=None, descriptors: bool=True, - fingerprints: bool=False, timeout: int=12) -> OrderedDict: +def from_smiles(smiles: str, output_csv: str = None, descriptors: bool = True, + fingerprints: bool = False, timeout: int = 12) -> OrderedDict: ''' from_smiles: converts SMILES string to QSPR descriptors/fingerprints Args: @@ -78,12 +78,16 @@ def from_smiles(smiles: str, output_csv: str=None, descriptors: bool=True, if not save_csv: remove(output_csv) + if len(rows) == 0: + raise RuntimeError('PaDEL-Descriptor returned no calculated values.' + + ' Ensure the input structure is correct.') + del rows[0]['Name'] return rows[0] -def from_mdl(mdl_file: str, output_csv: str=None, descriptors: bool=True, - fingerprints: bool=False, timeout: int=12) -> list: +def from_mdl(mdl_file: str, output_csv: str = None, descriptors: bool = True, + fingerprints: bool = False, timeout: int = 12) -> list: ''' from_mdl: converts MDL file into QSPR descriptors/fingerprints; multiple molecules may be represented in the MDL file @@ -141,6 +145,9 @@ def from_mdl(mdl_file: str, output_csv: str=None, descriptors: bool=True, desc_file.close() if not save_csv: remove(output_csv) + if len(rows) == 0: + raise RuntimeError('PaDEL-Descriptor returned no calculated values.' + + ' Ensure the input structure is correct.') for row in rows: del row['Name'] return rows diff --git a/padelpy/wrapper.py b/padelpy/wrapper.py index 4bb5515..c11390e 100644 --- a/padelpy/wrapper.py +++ b/padelpy/wrapper.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # padelpy/wrapper.py -# v.0.1.6 +# v.0.1.7 # Developed in 2019 by Travis Kessler # # Contains the `padeldescriptor` function, a wrapper for PaDEL-Descriptor @@ -45,17 +45,19 @@ def _popen_timeout(command: str, timeout: int) -> tuple: return p.communicate() -def padeldescriptor(maxruntime: int=-1, waitingjobs: int=-1, threads: int=-1, - d_2d: bool=False, d_3d: bool=False, config: str=None, - convert3d: bool=False, descriptortypes: str=None, - detectaromaticity: bool=False, mol_dir: str=None, - d_file: str=None, fingerprints: bool=False, - log: bool=False, maxcpdperfile: int=0, - removesalt: bool=False, retain3d: bool=False, - retainorder: bool=False, standardizenitro: bool=False, - standardizetautomers: bool=False, tautomerlist: str=None, - usefilenameasmolname: bool=False, - sp_timeout: int=None) -> None: +def padeldescriptor(maxruntime: int = -1, waitingjobs: int = -1, + threads: int = -1, d_2d: bool = False, d_3d: bool = False, + config: str = None, convert3d: bool = False, + descriptortypes: str = None, + detectaromaticity: bool = False, mol_dir: str = None, + d_file: str = None, fingerprints: bool = False, + log: bool = False, maxcpdperfile: int = 0, + removesalt: bool = False, retain3d: bool = False, + retainorder: bool = False, standardizenitro: bool = False, + standardizetautomers: bool = False, + tautomerlist: str = None, + usefilenameasmolname: bool = False, + sp_timeout: int = None) -> None: ''' padeldescriptor: complete wrapper for PaDEL-Descriptor descriptor/ fingerprint generation software diff --git a/setup.py b/setup.py index fc06b57..263f783 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='padelpy', - version='0.1.6', + version='0.1.7', description='A Python wrapper for PaDEL-Descriptor', url='https://github.com/ecrl/padelpy', author='Travis Kessler',