diff --git a/README.md b/README.md index 808f4ae..fd381ef 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ Rhapsody is published on [PyPI](https://pypi.org/). To install Rhapsody, please ```console $ pip install -U prody-rhapsody ``` +It might be necessary to manually install the DSSP program, by giving for instance on Linux: +```console +$ sudo apt get dssp +``` ## Install from source Rhapsody is written in pure Python so no local compilation is needed. diff --git a/rhapsody/PDB.py b/rhapsody/PDB.py index 3008b26..ebe494a 100644 --- a/rhapsody/PDB.py +++ b/rhapsody/PDB.py @@ -348,15 +348,15 @@ def calcANMfeatures(self, chain='all', env='chain', def _launchDSSP(self, ag): LOGGER.info('Running DSSP...') LOGGER.timeit('_DSSP') + pdb_file = writePDB('_temp.pdb', ag, secondary=False) try: - pdb_file = writePDB('_temp.pdb', ag, secondary=False) dssp_file = execDSSP(pdb_file, outputname='_temp') - ag = parseDSSP(dssp_file, ag) - except: - raise - finally: - os.remove('_temp.pdb') - os.remove('_temp.dssp') + except EnvironmentError: + raise EnvironmentError("dssp executable not found: please install " + "with 'sudo apt install dssp'") + ag = parseDSSP(dssp_file, ag) + os.remove('_temp.pdb') + os.remove('_temp.dssp') LOGGER.report('DSSP finished in %.1fs.', '_DSSP') return ag diff --git a/setup.py b/setup.py index d246243..0269ecd 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ version=version, packages=find_packages(exclude=['contrib', 'docs', 'tests']), python_requires='>=3.5, <4', - install_requires=['requests', 'numpy', 'scikit-learn', + install_requires=['requests', 'numpy', 'scikit-learn', 'matplotlib', 'biopython', 'pyparsing', 'prody'], description="""Python program, based on ProDy, for pathogenicity prediction of human missense variants.""",