Add gget joins the scverse ecosystem blog post#233
Conversation
Introduce gget as part of the scverse ecosystem, detailing its functionalities and integration for bioinformatics.
✅ Deploy Preview for jade-cajeta-1bcca0 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Updated the description to provide more detail about gget's functionality within the scverse ecosystem.
|
|
||
| gget was designed with one key idea in mind: one package and import should allow the user to query databases such as Ensembl, UniProt, NCBI, UCSC, AlphaFold, CellxGene, Enrichr, ARCHS4, Open Targets, COSMIC, cBioPortal, and more, without switching to a web browser or writing database-specific boilerplate. | ||
|
|
||
| Here's what the standard gget installation and workflow looks like: |
There was a problem hiding this comment.
Generally a great section but it doesn't show any output. Is it useful as it is?
| gget enrichr BRCA1 TP53 PTEN ATM --database KEGG_2021_Human | ||
| ``` | ||
|
|
||
| ## What does this mean for scverse and gget users? |
There was a problem hiding this comment.
Maybe rephrase this to something like
"gget enables xyz when coupled with scverse tooling" or whatever. Like instead of a question, something concrete. This is not important.
| markers = sc.get.rank_genes_groups_df(adata, group="T cells")["names"].tolist()[:20] | ||
|
|
||
| # gget.info() requires Ensembl IDs | ||
| # Use gget.search() to resolve symbols to IDs first |
There was a problem hiding this comment.
But this isn't used just below or is it?
|
|
||
| scverse exists to build a modular, open, and interoperable foundation for single-cell biology. Individual packages focus on what they do best, use shared data structures, and compose naturally with one another. The addition of gget to our ecosystem complements this aspect of our model. This kind of interoperability helps makes tool ecosystems more than the sum of their parts, an important objective for us here at scverse. | ||
|
|
||
| Someone studying spatial transcriptomics with Squidpy may want to fetch ligand-receptor protein structures from PDB, or pull disease associations from Open Targets, or BLAST a sequence of interest. The integration of gget makes each of those a one-liner by being the layer helping you handle external reference databases alongside those analyses. |
There was a problem hiding this comment.
Squidpy should also be a hyperlink
| pip install gget | ||
| ``` | ||
|
|
||
| ```shell |
There was a problem hiding this comment.
There was a problem hiding this comment.
I think gget (as a command line tool) would be a good fit for uvx, uv tool install or pipx install.
I think one basically never wants to do uv pip install. It's either uv add to add it to a project, or uv tool install to install it as a global tool.
There was a problem hiding this comment.
Well, yes and no. I understand where you're coming from because gget is mostly a CLI tool but the blog even features a usecase where gget is used as a library in jupyter-like setting to fetch datasets from CELLxGENE. So I wouldn't say "never".
There was a problem hiding this comment.
But then you'd use uv add, no? Or maybe pip install if you don't use uv at all.
The 'never' was referring to the uv pip command.
There was a problem hiding this comment.
I personally don't use uv add as I'm a weirdo that uses uv inside conda environments where I just uv pip install then. But I don't have a strong opinion on this so we can roll with whatever you think is best.
There was a problem hiding this comment.
If I remember previous dicsussions with @flying-sheep correctly, using pip install (or uv pip install) on top of existing environments is always a bad idea, as it does not check that all packages are compatible with each other.
uv add does that. Installing all packages at once with pip does as well.
If you install python packages in conda envs it sounds like pixi would be the right choice for you, which, IIRC, is the only tool that checks version constraints of both conda and pypi packages simultaneously.
There was a problem hiding this comment.
But to come back to this blog post, I would recommend writing something like
Install the command line tool globally with uv using uv tool install gget or install the python library into your project's virtual environment using pip install gget.
The question remains as in scverse/cookiecutter-scverse#523 if we would like to actively recommend uv to users who may not be using it yet, or if we just keep pip instructions.
|
|
||
| The [documentation](https://scverse.org/gget/) covers all modules with worked examples. The [GitHub repository](https://github.com/scverse/gget) is the best place to report issues, propose new database integrations, or contribute. | ||
|
|
||
| If you are already using scverse tools for single-cell analysis, gget is a natural addition to your environment. And if you are new to the ecosystem, [scverse.org](https://scverse.org) is the place to start. |
There was a problem hiding this comment.
Might want to omit that. A bit fluff.
Consider linking to scverse.org/join in any case
|
|
||
| --- | ||
|
|
||
| *gget is an open-source, community-developed tool. Contributions are welcome via the [GitHub repository](https://github.com/scverse/gget).* |
Co-authored-by: Lukas Heumos <lukas.heumos@posteo.net>
Co-authored-by: Lukas Heumos <lukas.heumos@posteo.net>
Co-authored-by: Lukas Heumos <lukas.heumos@posteo.net>
Co-authored-by: Lukas Heumos <lukas.heumos@posteo.net>
Co-authored-by: Lukas Heumos <lukas.heumos@posteo.net>
Introduce gget as part of the scverse ecosystem, detailing its functionalities and integration for bioinformatics.