Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Exploratory web-based tool for clinical proteomics TOPAS platform

License

NotificationsYou must be signed in to change notification settings

kusterlab/topas-portal

Repository files navigation

The TOPAS portal allows exploration of proteome and phospho-proteome profiles of patients processed with our clinical-proteomics pipeline from LC/MS data.In addition, other omics modalities such as transcriptomics and genomics can be integrated for analysis and comparisons.

This app is deployed athttps://topas-portal.kusterlab.org/

Configuration

The following variables are required to be set in your user's~/.bashrc or as part of a CI/CD pipeline:

export DB_PASSWORD=<your password>export CONFIG_FILE_PATH=<path to your portal config file>

TheDB_PASSWORD you can choose yourself and is needed to login to the admin tools panel in the portal.

TheCONFIG_FILE_PATH is ajson file with the following format:

{    "local_http": "http://localhost:3832",    "basket_annotation_path": "TOPAS_SCORING_4th gen_5th gen 231212.xlsx",    "drug_annotation_path": "Drug_List.xlsx",    "patient_annotation_path": {        "INFORM": "METADATA.xlsx"    },    "report_directory": {        "INFORM": "TOPAS_pipeline_results"    },    "sample_annotation_path": {        "INFORM": "sample_annotation.csv"    },    "FP": {        "INFORM": 1    },    "PP": {        "INFORM": 1    },    "transcriptomics_path_z_scored": "fpkms.csv",    "transcriptomics_path_not_z_scored": "un_normalized_fpkms.csv",    "genomics_path": "genomics_df2portal.csv",    "oncokb_path": "onkokb2portal.csv",    "meta_data_columns_config": "meta_columns_config.json",    "pspFastaFile": "Phosphosite_seq.fasta",    "pspAnnotationFile": "Phosphorylation_site_dataset",    "pspRegulatoryFile": "Regulatory_sites"}
  • basket_annotation_path: path to an Excel file with the following columns:

    'GROUP'        : '(R)TK', 'SIGNALING', 'OTHER''BASKET'       : e.g. 'KIT', 'PDGFRA', 'PDGFRB', 'FGFR1', 'FGFR4', 'FGFR2', 'FGFR3''SUBBASKET'    : e.g. 'KIT', 'PDGFRA', 'PDGFRB', 'Ligand', 'FGFR1', 'FGFR4', 'FGFR2''LEVEL'        : 'phosphorylation', 'expression', 'kinase activity''SCORING RULE' : 'highest protein phosphorylation score ,  'highest z-score', 'highest kinase score'highest z-score''WEIGHT'       : e.g.  2. ,  nan,  0.5,  3. , -1. , -0.5,  0. 'GENE NAME'    : e.g. 'KIT', 'PDGFRA', 'PDGFRB', ..., 'FBLN2', 'ITGA5', 'COL3A1''Site positions (MQ identified - PSP)' : e.g. 'P09619_Y751', 'P11362_Y654', 'P11362_Y653''Kinase'       : e.g. 'AXL;CSK;Chk1;Fyn;Lck;PDGFRA;PDGFRB;PKACA;Src''MODIFIED SEQUENCE' : e.g. '_LLLATpYARPPR_', '_EPPPpYQEPRPR_', 'Literature' : optional'Comment'    : optional
  • drug_annotation_path: path to an Excel file with the following columns:

    "Drug""Kinobeads Target List""Designated targets""Other targets""Clinical Phase"
  • report_directory: dictionary ofcohort_name -> path to a pipeline results folder (https://github.com/kusterlab/topas-pipeline).

  • sample_annotation_path : dictionary ofcohort_name -> path to csv file with the following columns. Replicates should each get their own row.

    Sample nameBatch NameTMT ChannelQCis_reference
  • FP andPP: dictionary ofcohort_name -> value, where value is1 (available) or0 (unavailable)

  • patient_annotation_path: dictionary ofcohort_name -> excel file with meta data.The column 'Sample name' is mandatory and has to corresponds to the same record insample_annotation_path. Additional columns containing metadata can be added freely.Replicates of the same sample should not be repeated in this file.

  • meta_data_columns_config: path to json file with additional metadata columns inpatient_annotation_path with the following format:

    {    "front_end_col_names": [        {            "dataField": "case_submitter_id",            "dataType": "string",            "width": "70",            "visible": "false"        },            {            "dataField": "ethnicity",            "dataType": "string",            "width": "70",            "visible": "false"        },        {            "dataField": "gender",            "dataType": "string",            "width": "70",            "visible": "false"        },    ]}

Installation

Option 1: Deploy on server (recommended)

  1. ssh into the server
  2. clone this repo:
    git clone https://github.com/kusterlab/topas-portal.git`cd topas-portal
  3. export password and path to config file (see above):
    export DB_PASSWORD=<your password>export CONFIG_FILE_PATH=<path to your portal config file>
  4. deploy backend and frontend
    make db            # this should deploy the backend and postgres database as two different containersmake frontend      # this should deploy the frontend as a separate container
  5. Open the portal athttp://localhost:8080. To upload cohort data, go toOther tools -> Admin tools and press theReload all cohorts button at the bottom of the page.

Check theMakefile for additional functionalities.

Option 2: deploy without docker

  1. clone this repo:

    git clone https://github.com/kusterlab/topas-portal.git`cd topas-portal
  2. install and activate a conda env on python 3.9.12:

    conda create --name portal python=3.9.12conda activate portal
  3. install the dependencies:

    • option 1: using poetry (recommended)
      pip install poetry==1.8.3cd flask_backendpoetry install
    • option 2: using pip (not recommended)
      pip install -r flask-backend/requirements.txt
  4. export password and path to config file (see above):

    export DB_PASSWORD=<your password>export CONFIG_FILE_PATH=<path to your portal config file>export VUE_APP_API_HOST=http://localhost:3832
  5. deploy the backend in debug mode:

    make test_flask
  6. Check that the backend is running by openinghttp://localhost:3832/config in your browser. Your config file should be displayed.

  7. Open a new shell and deploy the frontend by running:

    cd vue-frontendnpm installnpm run serve
  8. Open the portal athttp://localhost:8080. To upload cohort data, go toOther tools -> Admin tools and press theReload all cohorts button at the bottom of the page.

Option 3: deploy with docker

  1. clone this repo:
    git clone https://github.com/kusterlab/topas-portal.git`cd topas-portal
  2. Run docker-compose to start the backend:
    make create_docker_networksdocker-compose -f docker-compose-backend.local.yml builddocker-compose -f docker-compose-backend.local.yml up -d
  3. The backend is available athttp://localhost:3832 (to test, tryhttp://localhost:3832/config)
    • in the debug mode the config file which is used by default can be found at flask-backend/config_mtb_portal_mintest.json
    • in the production mode the config file path is in settings.py
  4. Deploy the frontend:
    cd vue-frontendsudo docker build --build-arg NODE_ENV=development --build-arg VUE_APP_API_HOST=http://$(hostname -I | awk '{print $1}'):3832 -t mtb:dev . sudo docker run -d --name mtb_portal_frontend -it -p 3834:3834 --rm mtb:dev
  5. Open the portal athttp://localhost:3834. To upload cohort data, go toOther tools -> Admin tools and press theReload all cohorts button at the bottom of the page.

Option 4: Run with PostgreSQL as database backend

If you have a lot of data and not enough memory, consider switching to PostgreSQL as the database backend:

  1. SetDATABASE_MODE = True insettings.py.
  2. Start a local backend with docker (see above), this creates and starts a PostgreSQL database docker.
  3. Import the data into the postgreSQL database (this takes 5-10 minutes for a small cohort):
    make database_import
  4. Deploy the frontend (see above)

Common development issues

  • DataGrid tables show "Unexpected server response" error: probably NaN values in the flask response. Replace NaNs with empty strings should solve it.
  • The frontend of the portal uses eslint which can lead to vue complaining about improper linting. Runmake lint to fix these errors.

About

Exploratory web-based tool for clinical proteomics TOPAS platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp