# ggetrs
[](./LICENSE.md)

[](https://codecov.io/gh/noamteyssier/ggetrs)
[](https://crates.io/crates/ggetrs)
[](https://docs.rs/ggetrs/latest/ggetrs/)
## Introduction
### What is `ggetrs`?
`ggetrs` is a free, open-source command-line tool that enables efficient querying
of genomic databases.
It consists of a collection of separate but interoperable modules, each designed
to facilitate one type of database querying in a single line of code.
This is a rust reimplentation of the original python-based program
[`gget`](https://github.com/pachterlab/gget) and was rewritten to take advantage
of rust's powerful HTTP and asynchronous functionality for a faster user experience.
There are some minor syntactic changes between function calls from the original `gget`
and a description for each tool is provided on the [modules page](https://noamteyssier.github.io/ggetrs/modules.html).
## Installation
The command line tool is distributed via [crates.io](https://crates.io/crates/ggetrs/)
and can be installed via the rust package manager cargo.
```bash
cargo install ggetrs
```
Alternative installation instructions as well as the python module installation
can be found on the [install page](https://noamteyssier.github.io/ggetrs/install.html).
## Documentation
### Command Line and Python
All usage and function documentation for the command line and python utilities
can be found on the [ggetrs homepage](https://noamteyssier.github.io/ggetrs/).
### Rust
`ggetrs` is implemented as a rust library as well as a standalone binary so all
documentation for API calls and Data Structures can be found on
[docs.rs](https://docs.rs/ggetrs).
## Contributing
This project is intended to be open-source and contributions are very welcome!
If you are new to rust or open source in general but still want to contribute
please don't hesitate to reach out!
I would be more than happy to help guide you through building your first module.
All new additions must pass and follow current testing standards.
## FAQ
### What makes this different than [`gget`](https://github.com/pachterlab/gget)?
`ggetrs` takes advantage of rust's powerful powerful asynchronous features
and lets you perform a large numbers of HTTP requests without increasing wait times.
Since it is a compiled program as well there is no start-up time between commands
and you can run your favorite tool in a `for loop` with no overhead.
However `ggetrs` stays true to the original `gget` mindset and tries to make usage
as simple as possible no matter the interface (from python to CLI).
### Does this have functions that [`gget`](https://github.com/pachterlab/gget) doesn't?
We're working on having both tools mirror functionality - but currently this includes the
[Chembl](https://noamteyssier.github.io/ggetrs/chembl/activity.html) bioactivity database,
more endpoints from the [Ensembl API](https://noamteyssier.github.io/ggetrs/ensembl.html),
and direct queries to [NCBI](https://noamteyssier.github.io/ggetrs/ncbi.html)
and [Uniprot](https://noamteyssier.github.io/ggetrs/uniprot/query.html).
### Does [`gget`](https://github.com/pachterlab/gget) have functions that `ggetrs` does not?
`ggetrs` will likely not support the `ggetrs muscle` and `ggetrs alphafold`
functionalities for the time being.
The reasoning being that these are wrappers around existing binaries
and not HTTP requests.
### Do I need to know rust to use this tool?
This tool is written fully in rust - but allows for a python interface using
[pyo3](https://github.com/PyO3/pyo3).
Currently not all tools have a python API - but they are planned to be
implemented eventually.
All of the currently supported `gget` modules have their python API implemented.
Raw data
{
"_id": null,
"home_page": "https://noamteyssier.github.io/ggetrs/",
"name": "ggetrs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "bioinformatics",
"author": null,
"author_email": "Noam Teyssier <noam.teyssier@ucsf.edu>",
"download_url": "https://files.pythonhosted.org/packages/a9/b3/dd39f089cea3b8475df5d41c266849868f0768399a5ca08920ec86a68a38/ggetrs-0.1.87.tar.gz",
"platform": null,
"description": "# ggetrs\n\n[](./LICENSE.md)\n\n[](https://codecov.io/gh/noamteyssier/ggetrs)\n[](https://crates.io/crates/ggetrs)\n[](https://docs.rs/ggetrs/latest/ggetrs/)\n\n## Introduction\n\n### What is `ggetrs`?\n\n`ggetrs` is a free, open-source command-line tool that enables efficient querying\nof genomic databases.\nIt consists of a collection of separate but interoperable modules, each designed\nto facilitate one type of database querying in a single line of code.\n\nThis is a rust reimplentation of the original python-based program\n[`gget`](https://github.com/pachterlab/gget) and was rewritten to take advantage\nof rust's powerful HTTP and asynchronous functionality for a faster user experience.\n\nThere are some minor syntactic changes between function calls from the original `gget`\nand a description for each tool is provided on the [modules page](https://noamteyssier.github.io/ggetrs/modules.html).\n\n## Installation\n\nThe command line tool is distributed via [crates.io](https://crates.io/crates/ggetrs/)\nand can be installed via the rust package manager cargo.\n\n```bash\ncargo install ggetrs\n```\n\nAlternative installation instructions as well as the python module installation\ncan be found on the [install page](https://noamteyssier.github.io/ggetrs/install.html).\n\n## Documentation\n\n### Command Line and Python\n\nAll usage and function documentation for the command line and python utilities\ncan be found on the [ggetrs homepage](https://noamteyssier.github.io/ggetrs/).\n\n### Rust\n\n`ggetrs` is implemented as a rust library as well as a standalone binary so all\ndocumentation for API calls and Data Structures can be found on\n[docs.rs](https://docs.rs/ggetrs).\n\n## Contributing\n\nThis project is intended to be open-source and contributions are very welcome!\n\nIf you are new to rust or open source in general but still want to contribute\nplease don't hesitate to reach out!\nI would be more than happy to help guide you through building your first module.\n\nAll new additions must pass and follow current testing standards.\n\n## FAQ\n\n### What makes this different than [`gget`](https://github.com/pachterlab/gget)?\n\n`ggetrs` takes advantage of rust's powerful powerful asynchronous features\nand lets you perform a large numbers of HTTP requests without increasing wait times.\n\nSince it is a compiled program as well there is no start-up time between commands\nand you can run your favorite tool in a `for loop` with no overhead.\n\nHowever `ggetrs` stays true to the original `gget` mindset and tries to make usage\nas simple as possible no matter the interface (from python to CLI).\n\n### Does this have functions that [`gget`](https://github.com/pachterlab/gget) doesn't?\n\nWe're working on having both tools mirror functionality - but currently this includes the\n[Chembl](https://noamteyssier.github.io/ggetrs/chembl/activity.html) bioactivity database,\nmore endpoints from the [Ensembl API](https://noamteyssier.github.io/ggetrs/ensembl.html),\nand direct queries to [NCBI](https://noamteyssier.github.io/ggetrs/ncbi.html)\nand [Uniprot](https://noamteyssier.github.io/ggetrs/uniprot/query.html).\n\n### Does [`gget`](https://github.com/pachterlab/gget) have functions that `ggetrs` does not?\n\n`ggetrs` will likely not support the `ggetrs muscle` and `ggetrs alphafold`\nfunctionalities for the time being.\nThe reasoning being that these are wrappers around existing binaries\nand not HTTP requests.\n\n### Do I need to know rust to use this tool?\n\nThis tool is written fully in rust - but allows for a python interface using\n[pyo3](https://github.com/PyO3/pyo3).\nCurrently not all tools have a python API - but they are planned to be\nimplemented eventually.\n\nAll of the currently supported `gget` modules have their python API implemented.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Biological querying and analysis",
"version": "0.1.87",
"project_urls": {
"Homepage": "https://noamteyssier.github.io/ggetrs",
"Repository": "https://github.com/noamteyssier/ggetrs"
},
"split_keywords": [
"bioinformatics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a3c710c59e44f093841500e5aa7168d73bf168a960e51721603bb5d9fcfb3a47",
"md5": "22ef260d0034260b5548e1bb107b3e77",
"sha256": "fc8ce9c61913b50b34cc1fd9ccb0cbfd3a489d473cb05d6c879d72626dd80a42"
},
"downloads": -1,
"filename": "ggetrs-0.1.87-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "22ef260d0034260b5548e1bb107b3e77",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 3012052,
"upload_time": "2024-11-22T01:33:12",
"upload_time_iso_8601": "2024-11-22T01:33:12.404509Z",
"url": "https://files.pythonhosted.org/packages/a3/c7/10c59e44f093841500e5aa7168d73bf168a960e51721603bb5d9fcfb3a47/ggetrs-0.1.87-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a9b3dd39f089cea3b8475df5d41c266849868f0768399a5ca08920ec86a68a38",
"md5": "758e205176537a2fb4cf46f1b2c19262",
"sha256": "ea2b3d3e9043af8dd768a35932d900a9483f0c1800d06b77bf010207d8a895cd"
},
"downloads": -1,
"filename": "ggetrs-0.1.87.tar.gz",
"has_sig": false,
"md5_digest": "758e205176537a2fb4cf46f1b2c19262",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 107808,
"upload_time": "2024-11-22T01:33:14",
"upload_time_iso_8601": "2024-11-22T01:33:14.815675Z",
"url": "https://files.pythonhosted.org/packages/a9/b3/dd39f089cea3b8475df5d41c266849868f0768399a5ca08920ec86a68a38/ggetrs-0.1.87.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-22 01:33:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "noamteyssier",
"github_project": "ggetrs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ggetrs"
}