Metadata-Version: 2.1
Name: rare-geenuff
Version: 0.1.0
Summary: Schema and API for a relational db that encodes gene models in an explicit, structured, and robust fashion.
Project-URL: Homepage, https://github.com/anthony-aylward/GeenuFF/tree/rare
Project-URL: Documentation, https://github.com/anthony-aylward/GeenuFF/tree/rare
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX :: Linux
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Requires-Python: >=3.8.5
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: intervaltree>=3.0.2
Requires-Dist: SQLAlchemy<2,>=1.3.12
Requires-Dist: numpy>=1.18.1
Requires-Dist: pandas
Requires-Dist: biopython
Requires-Dist: pyyaml

# Rare-GeenuFF (Rare fork of GeenuFF)

The original description of GeenuFF reads:

> Schema and API for a relational db that encodes gene models in an explicit, structured, and robust fashion.

This package is a fork of the original GeenuFF, with some quality of life improvements to the code.

## Installation

```sh
conda env create -f rare-geenuff-conda-env.yml
conda activate rare-geenuff
pip install rare-geenuff
```

Contents of `rare-geenuff-conda-env.yml`:

```yaml
name: rare-geenuff
channels:
  - conda-forge
  - bioconda
dependencies:
  - intervaltree>=3.0.2
  - SQLAlchemy<2,>=1.3.12
  - numpy>=1.18.1
  - pandas
  - biopython
  - pyyaml
```

## beta disclaimer

GeenuFF is currently _extremely_ beta and very unstable. 
We're keen to get feed back or ideas from the community
(even if it's just whether you think this could be useful to you
if developed further), but if you build on GeenuFF as it is now, 
you're doing so at your own risk.

## Motivation
We developed this to provide a way of unambiguously encoding gene models, 
(the way the DNA sequence is interpreted to produce proteins) that is both
robust to partial information and biological complexity.

A more extensive description can be found [here](https://weberlab-hhu.github.io/GeenuFF/).

## Unit tests
```bash
conda install -c conda-forge pytest
git clone -b rare --single-branch https://github.com/anthony-aylward/GeenuFF.git
cd GeenuFF
python -m pytest
```

## usage
You can run the package script command `rare-geenuff-example` for a quick start with public data:

```sh
rare-geenuff-example --download-example-data
```

This will setup the folder `three_algae`, download public data in the expected format, and import it into a geenuff spec db for each species. For more information please see [the api docs](https://anthony-aylward.github.io/GeenuFF/api.html). The `--download-example-data` option is only necessary the first time running `rare-geenuff-example`, or if the `three_algae` folder is not present.

## Major plans
* Add a validation module to check structure of gene models.
* Add extraction of raw & mature transcript, CDS, and protein sequence as a demo application.
* Visualization.

## Thanks

To @janinamass for discussion and advice.
