Skip to content

Commit

Permalink
172 update readme introduction (#175)
Browse files Browse the repository at this point in the history
* update readme wording + faq

* bump version
  • Loading branch information
noamteyssier authored Nov 4, 2022
1 parent c1148bd commit 9f02810
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ggetrs"
version = "0.1.65"
version = "0.1.66"
edition = "2021"
license = "MIT"
description = "Efficient querying of biological databases from the command line"
Expand Down
51 changes: 44 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@

## 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 be significantly
faster.
There are some minor semantic changes between function calls from the python version
but a description for each tool is provided below.
[`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.

This tool is written fully in rust - but allows for a python interface using
[pyo3](https://github.com/PyO3/pyo3).
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

Expand All @@ -32,7 +32,7 @@ cargo install ggetrs
```

Alternative installation instructions as well as the python module installation
can be found on the homepage [here](https://noamteyssier.github.io/ggetrs/install.html).
can be found on the [install page](https://noamteyssier.github.io/ggetrs/install.html).

## Documentation

Expand All @@ -56,3 +56,40 @@ 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.

0 comments on commit 9f02810

Please sign in to comment.