API - Documentation

Here we offer an API (Application Programming Interface) to assist users in integrating mmCSM-PPI into their research pipelines.

In summary, all jobs submitted to our server are labelled with a unique ID which is used to query the status (in queue, processing, processed).

mmCSM-PPI allows for two distinct types of submissions, manual and systematic. Here we summarise the inputs and outputs for using the API for these two types of submissions

Manual - https://biosig.lab.uq.edu.au/mmcsm_ppi/api/manual
POST - Job Submission

Arguments

  • pdb (optional) - 4 character PDB code
  • pdb_file (optional) - file in PDB format
  • mutations_list(required) - Upload a plain text file with one multiple mutation per line. Download sample
  • email (optional) - Email for contact when the job is finished

Return

  • job_id - ID used for uniquely identify each job

Examples

  • curl

    $ curl https://biosig.lab.uq.edu.au/mmcsm_ppi/api/manual -X POST -i -F pdb_accession="1cse" -F mutations_list=@/home/ubuntu/mutations.txt

    HTTP/1.0 200 OK

    Content-Type: application/json

    Content-Length: 33

    Date: Wed, 10 Dec 2020 05:10:59 GMT

    {

    "job_id": "160706007808"

    }

  • python launch

GET - Retrieve Job Results

Arguments

  • job_id - ID used for uniquely identify each job. Generated upon submission

Return

For jobs still being processed or waiting on queue, the message below will be returned from querying this endpoint:
  • message - RUNNING
For jobs successfully processed by mmCSM-PPI, the following data will be returned:
  • prediction -

Examples

  • curl

    $ curl https://biosig.lab.uq.edu.au/mmcsm_ppi/api/manual -X GET -F job_id=160706007808

    HTTP/1.0 200 OK

    Content-Type: application/json

    Content-Length: 33

    Date: Wed, 10 Dec 2020 05:13:29 GMT

    {

    "E Q2M; I R48A; E T33A": {

    "average_distance": 22.14,

    "individual_predictions": {

    " E T33A": -0.71,

    " I R48A": -0.72,

    "E Q2M": -0.163

    },

    "prediction": -1.27

    },

    "I D46A; I R48A": {

    "average_distance": 6.48,

    "individual_predictions": {

    " I R48A": -0.72,

    "I D46A": -2.287

    },

    "prediction": -2.29

    },

    "I D46A; I R48A; E T33A": {

    "average_distance": 11.29,

    "individual_predictions": {

    " E T33A": -0.71,

    " I R48A": -0.72,

    "I D46A": -2.287

    },

    "prediction": -2.89

    },

    "I D46A; I R48K": {

    "average_distance": 6.48,

    "individual_predictions": {

    " I R48K": -0.806,

    "I D46A": -2.287

    },

    "prediction": -2.27

    }

    }

  • python launch

Systematic - https://biosig.lab.uq.edu.au/mmcsm_ppi/api/systematic
POST - Job Submission

Arguments

  • pdb (optional) - 4 character PDB code
  • pdb_file (optional) - file in PDB format
  • chain_id (required) - Chain identifier for systematic evaluation of interface.
  • email (optional) - Email for contact when the job is finished

Return

  • job_id - ID used for uniquely identify each job

Examples

  • curl

    $ curl https://biosig.lab.uq.edu.au/mmcsm_ppi/api/systematic -X POST -i -F pdb_file=@/home/ubuntu/1cse.pdb -F chain_id="I"

    HTTP/1.0 200 OK

    Content-Type: application/json

    Content-Length: 33

    Date: Wed, Dec Jun 2020 03:11:09 GMT

    {

    "job_id": "160706129233"

    }

  • python launch

GET - Retrieve Job Results

Arguments

  • job_id - ID used for uniquely identify each job. Generated upon submission

Return

For jobs still being processed or waiting on queue, the message below will be returned from querying this endpoint:
  • message - RUNNING
For jobs successfully processed by mmCSM-PPI, the following data will be returned:
  • Array list of results (in json format) for each mutation identified with a sequencial identifying number

Examples

  • curl

    $ curl https://biosig.lab.uq.edu.au/mmcsm_ppi/api/systematic -X GET -F job_id=160706129233

    HTTP/1.0 200 OK

    Content-Type: application/json

    Content-Length: 33

    Date: Wed, Dec Jun 2020 08:01:12 GMT

    {

    "I T44P;I D46G;I L45G": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46G": -2.057,

    "L45G": -2.019,

    "T44P": -3.271

    },

    "prediction": -5.98

    },

    "I T44P;I D46G;I V43P": {

    "avg_distance": 6.2,

    "individual_predictions": {

    "D46G": -2.057,

    "T44P": -3.271,

    "V43P": -1.899

    },

    "prediction": -6.01

    },

    "I T44P;I D46P;I L45D": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46P": -2.838,

    "L45D": -2.257,

    "T44P": -3.271

    },

    "prediction": -6.07

    },

    "I T44P;I D46P;I L45E": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46P": -2.838,

    "L45E": -1.892,

    "T44P": -3.271

    },

    "prediction": -5.94

    },

    "I T44P;I D46P;I L45G": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46P": -2.838,

    "L45G": -2.019,

    "T44P": -3.271

    },

    "prediction": -5.93

    },

    "I T44P;I D46P;I V43P": {

    "avg_distance": 6.2,

    "individual_predictions": {

    "D46P": -2.838,

    "T44P": -3.271,

    "V43P": -1.899

    },

    "prediction": -6.09

    },

    "I T44P;I D46V;I L45E": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46V": -1.992,

    "L45E": -1.892,

    "T44P": -3.271

    },

    "prediction": -5.94

    },

    "I T44P;I D46V;I V43P": {

    "avg_distance": 6.2,

    "individual_predictions": {

    "D46V": -1.992,

    "T44P": -3.271,

    "V43P": -1.899

    },

    "prediction": -6.06

    },

    "I T44P;I L45D;I D46G": {

    "avg_distance": 4.39,

    "individual_predictions": {

    "D46G": -2.057,

    "L45D": -2.257,

    "T44P": -3.271

    },

    "prediction": -6.04

    },

    }

  • python launch