Website Usage Documentation

REST API Usage Documentation

API requests can be sent with the command line tool curl or with a browser rest client plugin. The API allows the user to create jobs for the respective tools with the HTTP method POST, each requiring a different set of parameters.
Calculation results can then be accessed and downloaded with the HTTP method GET. The base url for current version (v1) is https://geomine.proteins.plus/api.

 Create GeoMine Job

  Creates a new GeoMine job passing json data in body and returns json data about the location of the results.

  • URL:

    https://geomine.proteins.plus/api/geomine_rest

  • Method:

    POST

  • URL Params:

    None

  • Data Params:

    Required:

    
    geomine=[hash] - Contains the following parameters:
    
    geomine_request=[string] - XML formatted query for the geomine search.
                               An XML query can be generated using the Geomine GUI.
                               3D query Coordinates can be optionally set for the overlay of results.
                               If not set, results are superimposed onto the first one.
            

  • Success Response:

    • Code: 202
      Content: { status_code: 202, message: "The job will be created in the specified location", location: "" }

  • Error Response:

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Parameter values must be strings" }

    OR

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Invalid number of parameters or incorrect parameter name" }

    OR

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "SMARTS pattern of ... is not correct! Please correct your pattern." }

    OR

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Query is to unspecific. Please refine the search." }

    OR

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Job saving error" }

    OR

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Job loading error" }

    OR

    • Code: 429 TOO MANY REQUESTS
      Content: { status_code: 429, error: "Too Many Requests", message: "Throttle limit reached. Retry later." }

  • Sample Data:

    {
  • Sample Call (curl):

 Show GeomMine Job

  Returns json data about a single Geomine job.

  • URL:

    https://geomine.proteins.plus/api/geomine_rest/:id

  • Method:

    GET

  • URL Params:

    Required:

    id=[string]

  • Data Params:

    None

  • Success Response:

    • Code: 200
      Content: { status_code: 200, result: "" }

    OR

    • Code: 202
      Content: { status_code: 202, message: "Job exists and is still in 'processing' state", location: "" }

  • Error Response:

    • Code: 400 BAD REQUEST
      Content: { status_code: 400, error: "Bad Request", message: "Job loading error" }

    OR

    • Code: 404 NOT FOUND
      Content: { status_code: 404, error: "Not Found", message: "Invalid ID" }

    OR

    • Code: 429 TOO MANY REQUESTS
      Content: { status_code: 429, error: "Too Many Requests", message: "Throttle limit reached. Retry later." }

  • Sample Call (curl):

    
    curl https://geomine.proteins.plus/api/geomine_rest/ixenp5kLNHohrRbj56fbt4dd
                
  • Output:

    
    result - Search statistics
             Result pocket .pdbs
             Data for 3D viewer visualization (NGL) and table representation of search results (JSON-file)