Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dd-decaf/metanetx


https://github.com/dd-decaf/metanetx

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

# MetaNetX

[![Build Status](https://travis-ci.org/DD-DeCaF/metanetx.svg?branch=master)](https://travis-ci.org/DD-DeCaF/metanetx)
[![Codecov](https://codecov.io/gh/DD-DeCaF/metanetx/branch/master/graph/badge.svg)](https://codecov.io/gh/DD-DeCaF/metanetx/branch/master)

## Development

Run `make setup` first when initializing the project for the first time. Type
`make` to see all commands.

### Source files

The MetaNetX source files are stored in `data/`.

Reaction names are not part of MetaNetX, but collected manually by running
`./scripts/generate_reaction_names.py`. Note that the script takes several hours
to complete. Names are retrieved from cross referenced databases (currently
BiGG, kegg, ModelSEED and EC numbers are checked).

### Environment

Specify environment variables in a `.env` file. See `docker-compose.yml` for the
possible variables and their default values.

* Set `ENVIRONMENT` to either
* `development`,
* `testing`, or
* `production`.
* `SECRET_KEY` Flask secret key. Will be randomly generated in development and testing environments.
* `SENTRY_DSN` DSN for reporting exceptions to
[Sentry](https://docs.sentry.io/clients/python/integrations/flask/).
* `ALLOWED_ORIGINS`: Comma-seperated list of CORS allowed origins.

### Code style

In order of priority, code must adhere to the rules of the following tools:

1. [black](https://github.com/ambv/black)
2. [flake8](http://flake8.pycqa.org/en/latest/)
* pycodestyle
* pyflakes
* mccabe
* [pydocstyle](http://www.pydocstyle.org/en/2.1.1/index.html)
* [bugbear](https://github.com/PyCQA/flake8-bugbear)
3. The [NumPy docstring standard](https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard)
4. [isort](https://github.com/timothycrosley/isort)

### Updating Python dependencies

To compile a new requirements file and then re-build the service with the new requirements, run:

make pip-compile build