Possible solutions

Frameworks

  • flask: minimal python framework, easy to summarise
  • django: “one-stop shop”" python framework: all included, a lot of documentation
  • Mojolicious (Perl Web framework). Good at asynchronous requests.
  • Catalyst: Perl Web framework (more “traditional”, i.e. technical, developer has more control about how the server works).

Developing a REST interface to RSAT via the django-rest framework

Check requirements (taken from JASPAR REST)

https://bitbucket.org/CBGR/jaspar/src/71a4d8220a9739a637214380def9f74ea1b1ab79/requirements.txt?at=master&fileviewer=file-view-default

## DOwnload requirements from JASPAR
wget https://bitbucket.org/CBGR/jaspar/raw/71a4d8220a9739a637214380def9f74ea1b1ab79/requirements.txt

## Install requirements (for JASPAR REST server)
sudo pip3 install -r requirements.txt
sudo pip install -r requirements.txt

Create a REST directory on the server

cd $RSAT
mkdir -p REST
cd REST

django-admin startproject rsatrest
cd rsatrest
mkdir -p restapi
cd restapi
django-admin startapp v1

cd $RSAT/REST/rsatrest

python manage.py runserver 


## Create a sqlite database
## Note: can be skipped if we don't need th user app
python manage.py migrate