General considerations

You can run predictions on OCHEM using simple REST-like web services.

Since a prediction is not an instantaneous task and can take several seconds to minutes, the prediction is performed asynchroniously, that is in two steps:

  1. Start a prediction task and get a task ID
  2. Fetch your prediction task using the task ID from step (1). Keep fetching until the task is ready

Some OCHEM models (e.g. models aggregated using Bagging method), require significant amount of calculations

Service URLs and formats

To post a task, run the following request:

https://ochem.eu/modelservice/postModel.do?modelId=YOUR_MODEL_ID&mol=YOUR_MOLECULE

The resulting JSON will look like:

{
    "modelResponse": {
        "taskId": "1000042989", // This is the task ID you need to know
        "metaserverTaskId": "-1",
        "status": "success"
    }
}

Given that the result.modelResponse.status is "success", the task ID used for retrieving the predictions is result.modelResponse.taskId


To fetch the model, use the following request:

http://ochem.eu/modelservice/fetchModel.do?taskId=YOUR_TASK_ID

If the task is still running, the resulting JSON will look like:

{
    "modelResponse": {
        "taskId": "0",
        "metaserverTaskId": "0",
        "status": "pending" // Keep requesting at periodic intervals, while the status is "pending"
    }
}

When the task is ready, the JSON will look like:

{
    "modelResponse": {
        "taskId": "0",
        "predictions": {
            "moleculeID": "1002136505",
            "predictions": {
                "unit": "-log(mmol/L)",
                "predictedValueString": "2.7139999866485596", // Prediction value (round it as you find necessary)
                "value": "2.7139999866485596",
                "dm": "0.8611000180244446", // The "distance to model" used for the accuracy estimation
                "property": "log(IGC50-1)", // The predicted property
                "accuracy": "0.7065203028344436", // The prediction accuracy (RMSE)
                "realValue": "0.0"
            },
            "depictionID": "1000651576"
        },
        "metaserverTaskId": "0",
        "status": "success",
        "modelDescriptionUrl": "http://ochem.eu/model/3"
    }
}