Skip to content

suqingdong/django_rest_kegg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application of KEGG REST API with DRF(DjangoRestFramework)

Installation

python3 -m pip install django_rest_kegg

Install App to Your Djanog Rest Project

1 edit proj/settings.py

INSTALL_APPS += [
    'rest_framework',
    'django_rest_kegg'
]

# the path to store image and conf files
KEGG_DB_PATH = './keggdb'

2 edit proj/urls.py

urlpatterns += [
    path('kegg/', include('django_rest_kegg.urls')),
]

Initialize KEGG Database

# migarate database
python3 manage.py makemigrations django_rest_kegg
python3 manage.py migrate

# download image and conf files for all pathways
# and build table
python3 manage.py build [--dbpath PATH] [--drop]

# everything is ok, enjoy it!
python3 manage.py runserver

Endpoints

/kegg/pathway list all pathways

/kegg/pathway?path=<PATH>&type=<TYPE>&gene=<GENE>&color=<COLOR>

  • path: a map number, eg. map00010
  • type: conf, svg or png [default: png]
  • color: default color [default: green]
  • gene: genes to be highlighted, example formats:
    • gene={"red":"K00886,K01222,K01223"}
    • gene={"FF00FF":"K00886,K01222,K01223"}
    • gene={"red":"K00886,K01222","blue":"K01610,K00918"}
    • gene=["K00886,K01222,K01223"]
    • gene=["K00886,K01222,K01223"]&color=pink

Demo Project

git clone https://www.github.com/suqingdong/django_rest_kegg.git

cd django_rest_kegg/demo

python3 manage.py makemigrations django_rest_kegg

python3 manage.py migrate
# Operations to perform:
#   Apply all migrations: admin, auth, contenttypes, django_rest_kegg, sessions
# Running migrations:
#   Applying contenttypes.0001_initial... OK
#   Applying auth.0001_initial... OK
#   Applying admin.0001_initial... OK
#   ...
#   Applying django_rest_kegg.0001_initial... OK
#   Applying sessions.0001_initial... OK

python3 manage.py build

python3 manage.py runserver

Releases

No releases published

Packages

No packages published