saezlab / omnipath

Python client for the OmniPath web service
https://omnipath.readthedocs.io
MIT License
40 stars 6 forks source link

omnipath tutorials #17

Open wangjiawen2013 opened 2 years ago

wangjiawen2013 commented 2 years ago

Hi, where can I find omnipath tutorials? I have installed omnipath(Python client for the OmniPath web service), but I don't know how to use it and I cannot find documentation on this github. Or, who can share a link to download the database, because I am using squidpy to discover cell-cell interaction. it re-download the database each time I use it. So I want save the database as a csv file and import it into squidpy.

deeenes commented 2 years ago

Hi Jiawen,

We have a tutorial for squidpy here, under the title Infer cell type specific ligand-receptor interactions from scRNA data: https://workflows.omnipathdb.org

In this module we have a dedicated function for building intercellular networks: https://omnipath.readthedocs.io/en/latest/api/omnipath.interactions.import_intercell_network.html#omnipath.interactions.import_intercell_network

In our R client we have further quality filtering for intercellular interactions: https://saezlab.github.io/OmnipathR/reference/filter_intercell_network.html and an alternative approach to retrieve interactions manually curated in a ligand-receptor context: https://saezlab.github.io/OmnipathR/reference/filter_intercell_network.html These will be added to the Python client in the future. Until then, you can access them by rpy2: https://rpy2.github.io/

Best,

Denes

michalk8 commented 2 years ago

I can add a usage tutorial in like 3 weeks, just simple stuff like how to load the annotations, how they are saved/cached and up-to-date interaction with squidpy.

t-silvers commented 2 years ago

Any progress on writing docs @michalk8 @deeenes ?

Apologies if I've missed it, but I'm trying to find how the cache directory is set and used by get functions. I thought this might work to set a custom cache directory, but no luck...

import omnipath as op
from omnipath._core.utils._options import Options

# Setting works ...
op.options = op.options.from_options(Options(cache="/path/to/.cache/omnipathdb"))
print(op.options.cache.path) # PosixPath('/path/to/.cache/omnipathdb')

# ... but isn't respected by eg op.requests.Annotations.get()

(Threading here because caching is mentioned, but happy to open a separate issue if you'd like.)