Closed slobentanzer closed 5 months ago
Hi @slobentanzer,
You mentioned another uniprot adapter independent of pypath.
Can you point us to that one? And maybe give is a summary of its contents? We're interested in diseases, tissues, and cellular locations.
Thanks in advance!
Sure, it is at https://github.com/IGVF-DACC/igvf-catalog/blob/main/data/adapters/uniprot_adapter.py. Don't know much more than what they state in the comments of that file, though. Never worked with Uniprot flat files before.
BTW, the problem with pypath.utils.mapping
is not only caused by the Uniprot adapter, but generally by the use of the map_names
function (e.g. in the cellphone adapter).
@slobentanzer @EliasFarr I found the issue and was able to reproduce the whole workflow.
It's just a typo in pypath: https://github.com/saezlab/pypath/blob/9cab02d68a31e7ddaf64ba9ed2965148991da423/pypath/inputs/uniprot.py#L346
I will make a PR to pypath and we can install pypath from my fork until it gets merged.
https://github.com/dbdimitrov/pypath/tree/metalinks
frozen pypath version that actually works, the latest update has other issues.
@dbdimitrov nice! A typo.. who needs unit tests, right? 🥲
~So we install that fork from GitHub for now?~ I should read the entire text of the post, I guess.
With the forked version it works for me as well, good job @dbdimitrov. :) Closing this, and I consider Metalinks "reproducible" for now. Added a TODO for integrating the BioCypher Resource class for the download instead of that manual function, but that is optional and more of a convenience / harmonisation aspect.
@slobentanzer I agree about the Resource class, I only remembered now that you mentioned it.
I link this here as a reference for myself.
Hi @EliasFarr, trying to reproduce the metalinks build, I encounter problems with
pypath
. It is a little complex, but I'll try to summarise. There have been refactorings inpypath
that changed quite a bit of the internal structure. Starting with the original version used,0.14.48
, I get this error:Probably due to a change in the
pypath.inputs
module. Going to0.15.4
, which is used by the CROssBAR v2 team, this is resolved, but then I get an issue trying to map names using thepypath.mapping
module.Again, probably some internal change that creates an application problem with this particular version. Going to the latest version (
0.16.10
), we have another issue caused by the refactoring into different packages (e.g.,pypath_common
):In this version, since the settings were moved to another library/module, we don't have access to the context management any more.
@EliasFarr and @dbdimitrov, would you maybe like to look into what is the best way to resolve this (which version to use, which part of the metalinks implementation to adapt to that version) together with Dénes?