Method of Accelerated Search for Tertiary Ensemble Representatives
This has two components:
- a Flask based web app that serves up an API for running master on a server.
- a PyMol Plugin that provides an interface for easily sending requests to the server search api.
on osx install:
- install homebrew if you don't have it
brew install redis
- start redis:
redis-server /usr/local/etc/redis.conf
pip install -r requirements.txt
git clone [email protected]:timofei7/master_protein.git
- install master and msl in the
external
directory - download the pdb library available at here
- edit the Settings.py file to match your paths
- edit
pymol/Master/__init__.py
and make sure the URL points to either:http://127.0.0.1:5000/api/search
for local development- or
http://ararat.cs.dartmouth.edu:5000/api/search
for hitting the "production" server.
to run a local server simply do:
./run_server
This will launch a server at http://localhost:5000
which will serve up a basic html page as well as the http://localhost:5000/api/
endpoints which the PyMol module will hit.
-
open PyMol and add the directory
/path/to/your/repo/pymol/
to Plugin->Plugin Manager->Settings->Add New Directory. Then restart PyMol. This will autoload the plugin and if you make any code changes all you need to do is restart PyMol. -
./kill_server
To kill the server.
pymol/Master
contains the pymol plugin moduletesting/
contains some basic test scriptsMasterApp.py
is the main flask app with various worker classes in the same directoryTasks.py
contains asynchronous jobs that are run by RQ which in turn uses Redis for queuesMasterSearch
logic surrounding launching background jobs and constructing master queries- use github issues and pull requests github page
test files in: testing
testing/test.py