COVID-19 Trial Finder implementation using flask.
URL: http://35.202.46.162/
- python2.7
- create env and dependency
sudo pip install virtualenv
sudo virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
Traceback (most recent call last):
File "/Users/cl3720/Projects/dquest-flask/run.py", line 1, in <module>
from app import app
File "/Users/cl3720/Projects/dquest-flask/app/__init__.py", line 9, in <module>
cache.init_app (app)
File "/Users/cl3720/Projects/dquest-flask/env/lib/python2.7/site-packages/flask_cache/__init__.py", line 156, in init_app
from .jinja2ext import CacheExtension, JINJA_CACHE_ATTR_NAME
File "/Users/cl3720/Projects/dquest-flask/env/lib/python2.7/site-packages/flask_cache/jinja2ext.py", line 33, in <module>
from flask.ext.cache import make_template_fragment_key
ImportError: No module named ext.cache
- find jinja2ext.py
- locate line 33 and change to
from flask_cache import make_template_fragment_key
# vi app/lib/config.py
CRITERIA_HOST = 'XXX.XXX'
CRITERIA_DATABASE = 'trial_knowledge_base'
CRITEIRA_USERNAME = 'XXX'
CRITERIA_PASSWORD = 'XXX'
CRITERIA_DRIVER = '{ODBC Driver 17 for SQL Server}' # make sure the driver is installed on the server
CRITERIA_PORT = XXX
AACT_HOST = 'aact-db.ctti-clinicaltrials.org'
AACT_PORT = 5432
AACT_DATABASE = 'aact'
AACT_USERNAME = 'XXX'
AACT_PASSWORD = 'XXX'
CSRF_ENABLED = True
SECRET_KEY = 'XXX'
make sure the correct version of ODBC version is available on server
odbcinst -j
Install and Enable mod_wsgi
sudo apt-get install libapache2-mod-wsgi python-dev
sudo a2enmod wsgi
cd /var/www
git clone https://github.com/stormliucong/dquest-flask.git
Add the following lines of code to the file to configure the virtual host. Be sure to change the ServerName to your domain or cloud server's IP address:
# sudo vi /etc/apache2/sites-available/dquest-flask.conf
<VirtualHost *:80>
ServerName mywebsite.com
ServerAdmin admin@mywebsite.com
WSGIScriptAlias /dquest /var/www/dquest-flask/app.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enable the virtual host and restart apache2
sudo a2ensite dquest-flask
sudo service apache2 restart
browser the website
http://mywebsite.com/dquest-flask
Change different algorithms for question ranking by selecting one of the following three.
- question_info_entropy using information entropy to rank questions.
- question using raw entity_text (without omop mapping) to rank questions.
- question_cluster using frequency to rank questions.
import lib.question_info_entropy as qst
import lib.question as qst
import lib.question_cluster as qst
change log file path
# app/lib/log.py
hfile_info = logging.FileHandler("app/log/dquest-info.log")
hfile_error = logging.FileHandler("app/log/dquest-error.log")
check path
# app/view.py
@app.route('/')
def index ():
0.1
Detailed describtion of updates are included in "development document.doc"
Alex Butler, Yingcheng Sun, Fengyang Lin, Hao Liu, Cong Liu, Chi Yuan, Chunhua Weng
amb2453@cumc.columbia.edu