{"id":21712,"library":"prody","title":"ProDy: Protein Dynamics Analysis","description":"ProDy is an open-source Python package for protein dynamics analysis, including structure analysis, normal mode analysis (ANM, GNM, PCA), sequence analysis, trajectory parsing, and protein-ligand interactions. Current version 2.6.1 supports Python >=3.10, NumPy 2, and Python 3.12. Releases occur roughly every few months with bug fixes and new features.","status":"active","version":"2.6.1","language":"python","source_language":"en","source_url":"https://github.com/prody/ProDy","tags":["protein-dynamics","bioinformatics","normal-mode-analysis","structural-biology","python3"],"install":[{"cmd":"pip install prody","lang":"bash","label":"Stable install"},{"cmd":"conda install -c conda-forge prody","lang":"bash","label":"Conda install"}],"dependencies":[],"imports":[{"note":"Function is in top-level prody namespace after import","wrong":"import prody; prody.parsePDB()","symbol":"parsePDB","correct":"from prody import parsePDB"},{"note":"ANM is in top-level namespace","wrong":"from prody.proteins import ANM","symbol":"ANM","correct":"from prody import ANM"},{"note":"Direct import from prody is preferred","wrong":"from prody.measure import calcRMSD","symbol":"calcRMSD","correct":"from prody import calcRMSD"}],"quickstart":{"code":"from prody import *\nfrom prody import parsePDB, ANM, calcModes\npdb = parsePDB('1ake')\nanm = ANM('example')\nanm.buildHessian(pdb)\nmodes = calcModes(anm)\nprint(modes[:3])","lang":"python","description":"Parse a PDB, build ANM Hessian, and compute normal modes."},"warnings":[{"fix":"Use Python 3.10-3.12. Check with `python --version`.","message":"Python 3.11 or earlier and Python 3.13+ are not supported; requires Python >=3.10 and <3.13.","severity":"breaking","affected_versions":"<=2.5.0: Python 3.9; 2.6.0+ requires Python 3.10-3.12"},{"fix":"Upgrade ProDy to v2.6.0+ or pin NumPy <2.","message":"NumPy 2 support introduced in v2.6.0; earlier versions may fail with NumPy 2.","severity":"breaking","affected_versions":"<2.6.0"},{"fix":"If using custom scripts that relied on `prody.apps`, update to avoid deprecated module loading.","message":"The `imp.find_module` workaround in apps is removed; use `importlib`.","severity":"deprecated","affected_versions":">=2.3.0"},{"fix":"Add `import logging; prody.LOGGER.setLevel(logging.WARNING)` at the start of your script.","message":"ProDy uses a global logger that may override your logging level. Call `prody.LOGGER.setLevel(logging.WARNING)` to suppress verbose output.","severity":"gotcha","affected_versions":"all"},{"fix":"Use explicit imports: `from prody import parsePDB, ANM, ...`","message":"Wildcard import `from prody import *` pollutes namespace with many internal symbols; prefer explicit imports.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install prody` in the correct Python environment.","cause":"ProDy not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'prody'"},{"fix":"Upgrade ProDy: `pip install --upgrade prody` or downgrade NumPy: `pip install 'numpy<2'`","cause":"NumPy version incompatible with ProDy (e.g., NumPy 2 with ProDy <2.6.0).","error":"ImportError: numpy.core.multiarray failed to import"},{"fix":"Use `from prody import parsePDB` or `import prody; pdb = prody.parsePDB(...)`","cause":"ProDy not imported correctly (e.g., `import prody` instead of `from prody import parsePDB`).","error":"AttributeError: module 'prody' has no attribute 'parsePDB'"},{"fix":"Upgrade to ProDy >=2.6.0: `pip install --upgrade prody`","cause":"ProDy <2.6.0 does not support extended PDB IDs (4-letter codes).","error":"ValueError: 4-letter PDB ID is not supported"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}