Excipients: Difference between revisions

From DISI
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:


  1. Create a copy of existing production database
  1. Create a copy of existing production database
  2. In the flask code, change the database url to the newly created db  
  2. In the flask code, change the database url to the newly created db  
  3. Run db update + db migrate to create new tables and new columns for existing tables. (automatically done by flask db-migrate, mapping the model objects to postgres db)  
  3. Run db update + db migrate to create new tables and new columns for existing tables. (automatically done by flask db-migrate, mapping the model objects to postgres db)  
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db upgrade
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db upgrade
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db migrate
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db migrate
  4. Load the openfda regulatory_status data (creates 'Status' table in db)
 
  4. Load the openfda regulatory_status data (populates 'Status' table in db):
     ->  create a file named regulatory_status.csv
     ->  create a file named regulatory_status.csv
         touch regulatory_status.csv
         touch regulatory_status.csv
     -> copy over the regulatory_status definitions from  
     -> copy over the regulatory_status definitions from  
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_status_definition /home/enkhjargal/PycharmProjects/Excipients/data/regulatory_status.csv
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_status_definition /home/enkhjargal/PycharmProjects/Excipients/data/regulatory_status.csv
  5. Load the openfda excipients function data (creates 'Function' table in db)
  5. Load the openfda excipients function data (populates 'Function' table in db):
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_function_definition /home/enkhjargal/PycharmProjects/Excipients/data/function_definition.csv
     python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_function_definition /home/enkhjargal/PycharmProjects/Excipients/data/function_definition.csv
  6. Load the dye relation data:
 
  6. Load the dye relation data. (creates the relation for excipients to functions which are dye):
     -> https://www.fda.gov/ForIndustry/ColorAdditives/ColorAdditiveInventories/ucm106626.htm)
     -> https://www.fda.gov/ForIndustry/ColorAdditives/ColorAdditiveInventories/ucm106626.htm)
     -> python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_color_additives_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_color_additives_all
     -> python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_color_additives_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_color_additives_all
  7. Load the fda general additives data
 
  7. Load the fda general additives data.(creates all other function and status relations to excipients): 
     -> create a file named FDA_additives
     -> create a file named FDA_additives
       touch FDA_additives
       touch FDA_additives
Line 49: Line 55:
     -> parse the file to load it to db table
     -> parse the file to load it to db table
       python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_function_and_status_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_additives
       python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_function_and_status_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_additives
  8. Load the openfda drug label:
 
  8. Load the openfda drug label. (populate brand and substance tables and their relations to existing excipients):
       -> https://open.fda.gov/downloads/ (6 json files to download)
       -> https://open.fda.gov/downloads/ (6 json files to download)
       -> parse each of them:
       -> parse each of them:
         python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_fda_label_data /home/enkhjargal/PycharmProjects/Excipients/data/drug-label-0005-of-0006.json
         python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_fda_label_data /home/enkhjargal/PycharmProjects/Excipients/data/drug-label-0005-of-0006.json
  9.
  9. Pull Zincids for populated Substance data. (populate the zincid and smiles column in substance table)
      -> python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_fda_label_data

Revision as of 22:03, 24 April 2017

Excipient Server Restart:

 1. ssh gimel
 2. become www
 3. activate the production server ->
    cd /nfs/soft/www/apps/excipients/envs/production/
    source bin/activate
 4. gunicorn --access-logfile excipients.ucsf.bkslab.org.acc --max-requests 1000 --bind 10.20.0.31:8093 excipients:app --workers 5 --timeout 1000

Excipient Installment:

 1. Go to the dev version of Excipients and set the version number set in the __init__.py file
 2. Create the distribution file
    python setup.py sdist
 3. ssh gimel
 4. su - www
 5. activate the production server ->
    cd /nfs/soft/www/apps/excipients/envs/production/
    source bin/activate
 6. copy over the created dist folder in /nfs/soft/www/apps/excipients/envs/production/ 
 7. Run -> 
    pip install dist/CERSI-Excipients-X.Y.Z.tar.gz
 8.
    gunicorn --access-logfile excipients.ucsf.bkslab.org.acc --max-requests 1000 --bind 10.20.0.31:8093 excipients:app --workers 5 --timeout 1000)

HowTos for the brand new version of Excipients

1. Create a copy of existing production database
2. In the flask code, change the database url to the newly created db 
3. Run db update + db migrate to create new tables and new columns for existing tables. (automatically done by flask db-migrate, mapping the model objects to postgres db) 
   python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db upgrade
   python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py manage-db migrate
4. Load the openfda regulatory_status data (populates 'Status' table in db):
   ->  create a file named regulatory_status.csv
       touch regulatory_status.csv
   -> copy over the regulatory_status definitions from 
   python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_status_definition /home/enkhjargal/PycharmProjects/Excipients/data/regulatory_status.csv

5. Load the openfda excipients function data (populates 'Function' table in db):
   python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_function_definition /home/enkhjargal/PycharmProjects/Excipients/data/function_definition.csv
6. Load the dye relation data. (creates the relation for excipients to functions which are dye):
   -> https://www.fda.gov/ForIndustry/ColorAdditives/ColorAdditiveInventories/ucm106626.htm)
   -> python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_color_additives_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_color_additives_all
7. Load the fda general additives data.(creates all other function and status relations to excipients):  
   -> create a file named FDA_additives
      touch FDA_additives
   -> copy over the additive list from this page (https://www.fda.gov/Food/IngredientsPackagingLabeling/FoodAdditivesIngredients/ucm091048.htm)
   -> parse the file to load it to db table
      python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py load_function_and_status_relationship /home/enkhjargal/PycharmProjects/Excipients/data/FDA_additives
8. Load the openfda drug label. (populate brand and substance tables and their relations to existing excipients):
     -> https://open.fda.gov/downloads/ (6 json files to download)
     -> parse each of them:
        python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_fda_label_data /home/enkhjargal/PycharmProjects/Excipients/data/drug-label-0005-of-0006.json

9. Pull Zincids for populated Substance data. (populate the zincid and smiles column in substance table)
     -> python /home/enkhjargal/PycharmProjects/Excipients/manage-excipients.py parse_fda_label_data