piscesCSM Predict API

The Predict API from piscesCSM — 1 operation(s) for predict.

OpenAPI Specification

piscescsm-predict-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: piscesCSM Predict API
  description: The piscesCSM API allows users to integrate piscesCSM drug-pair cancer sensitivity prediction into research pipelines. Submit a pair of small molecules as SMILES strings, then poll the prediction status using the returned job identifier. Results include predictions across multiple cancer types and molecular descriptors for both drugs.
  version: '1.0'
  contact:
    name: piscesCSM Support
    url: https://biosig.lab.uq.edu.au/piscescsm/
servers:
- url: https://biosig.lab.uq.edu.au/piscescsm/api
  description: Production server
tags:
- name: Predict
paths:
  /predict:
    post:
      summary: Submit a drug-pair prediction job
      description: Submit a pair of drugs (as SMILES strings) for piscesCSM prediction. The response returns a unique job identifier used to poll for results.
      operationId: submitPrediction
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - drugA
              - drugB
              properties:
                drugA:
                  type: string
                  description: SMILES string for the first drug.
                  example: CC(=O)C(=O)O
                drugB:
                  type: string
                  description: SMILES string for the second drug.
                  example: C1=CN=CC=C1C(=O)NN
      responses:
        '200':
          description: Job successfully submitted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    description: Unique identifier used to query the status of the job.
                    example: api_166596586018
        '400':
          description: Invalid SMILES input.
      tags:
      - Predict
    get:
      summary: Retrieve prediction results
      description: Retrieve the status or results of a previously submitted job using the job identifier returned at submission time.
      operationId: getPrediction
      parameters:
      - in: query
        name: job_id
        required: true
        schema:
          type: string
        description: Job identifier returned by submitPrediction.
        example: api_166596586018
      responses:
        '200':
          description: Job status or completed prediction results.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/JobRunning'
                - $ref: '#/components/schemas/PredictionResult'
        '404':
          description: Job not found.
      tags:
      - Predict
components:
  schemas:
    MolecularDescriptors:
      type: object
      description: Molecular descriptors for an input drug.
      properties:
        smiles:
          type: string
          description: Canonical SMILES representation.
        molecular_weight:
          type: number
          format: float
        logp:
          type: number
          format: float
          description: Octanol-water partition coefficient.
        hydrogen_bond_donors:
          type: integer
        hydrogen_bond_acceptors:
          type: integer
        rings:
          type: integer
        atoms:
          type: integer
        rotatable_bonds:
          type: integer
    PredictionResult:
      type: object
      description: Predictions for multiple cancer types plus molecular descriptors.
      properties:
        melanoma:
          type: number
          format: float
          description: Predicted sensitivity score for melanoma.
        breast:
          type: number
          format: float
          description: Predicted sensitivity score for breast cancer.
        lung:
          type: number
          format: float
          description: Predicted sensitivity score for lung cancer.
        general:
          type: number
          format: float
          description: General predicted sensitivity score.
        prostate:
          type: number
          format: float
          description: Predicted sensitivity score for prostate cancer.
        colon:
          type: number
          format: float
          description: Predicted sensitivity score for colon cancer.
        ovarian:
          type: number
          format: float
          description: Predicted sensitivity score for ovarian cancer.
        drugA:
          $ref: '#/components/schemas/MolecularDescriptors'
        drugB:
          $ref: '#/components/schemas/MolecularDescriptors'
    JobRunning:
      type: object
      properties:
        message:
          type: string
          example: running