searchPfam fails to parse XML
The searchPfam function appears to be broken as a result of a URL change.
For example
searchPfam('PF00047')
Results in:
ValueError: failed to parse results XML, check URL: https://pfam-legacy.xfam.org/protein/PF00047?output=xml
We have updated this is development code but it hasn’t made it to a release yet, so sorry.
Please clone or download prody from GitHub and install that with the following commands
cd ProDy python setup.py build_ext --inplace --force pip install -Ue .
@anupam-banerjee can you check and see if this has been fixed? Thanks.
I think there are multiple problems here:
-
The URL change that has now been accounted for
-
searchPfam is being used wrong here. The idea is for pfam domain ids to be outputs not inputs. It searches based on Uniprot IDs as inputs or extracts them from pdbs. Therefore, this anyway gives an error.
-
The error message has changed so prody doesn't recognise that there was an error and handles it badly. I now have a fix for this.
I can also update the function to add an option to search with a pfam ID to get more information about it
ok, this should now be implemented on the branch in the pull request too.
You can checkout this branch as follows:
git remote add james [email protected]:jamesmkrieger/ProDy.git
git fetch james
git checkout pfam_error_update
This should hopefully now be fixed with v2.6.1. Please reopen if that is not the case.
I think there's still a problem as I got this error in https://github.com/prody/ProDy/actions/runs/17093535125/job/48472530986
I got these for linux as well as mac at https://github.com/prody/ProDy/actions/runs/17094479296/job/48475576207
It may be when the server gets overloaded and doesn't give a result, but I'm not sure.