...
| Info |
|---|
Some OCHEM models (e.g. models aggregated using Bagging method), require significant amount of calculations. |
Way 1: "Request until done"
To post predict a prediction task for a molecule, run the following request (as example):
https://ochem.eu/modelservice/getPrediction.do?modelId=YOUR_1&mol=c1ccccc1
It will predict mutagenicity of benzene (c1ccccc1 is MOLECULE) using the AMES model https://ochem.eu/model/1 (1 is MODEL_ID)
In general your request should have form https://ochem.eu/modelservice/getPrediction.do?modelId=MODEL_ID&mol=YOUR_MOLECULEModel id MOLECULE where MODEL_ID is the public model identifier or "model identity" (GUID) provided by OCHEM administration. If you plan to use predictions systematically, it is recommended to request a model identity (GUID).The molecule and MOLECULE is the analyzed molecule.
The MOLECULE can be in SMILES or SD format. For both the formats, multiple molecules can be posted using $$$$ separator.
It is much more efficient to predict molecules in batches rather than posting separate tasks for each molecule.
...
Please, repeat the request at the periodic intervals (every 5-10 seconds) until the prediction result is returned in the following format:
| Code Block | ||
|---|---|---|
| ||
{
"status" "taskId": "success0",
// Array of predictions (for each input molecule)
"predictions" : [ {
"depictionID" : 1000618459, "moleculeID" : 7868"1002136505",
// Array of predictions for a given molecule. Normally, contains only one prediction.
// Can contain multiple predictions for multi-models
"predictions" : [ {
"unit": "-log(mmol/L)",
// Name of the predicted class for classification models. Same as "value" : 1.2020000219345093for regression models.
"predictedValueString": "2.71",
"accuracy" : 0.5011452764639881,
"dm" : 0.28780001401901245,
"value": "2.71", // Prediction value (round it as you find necessary)
"dm": "0.86", // The "distance to model" used for the accuracy estimation
"insideAD" : true, // is this molecule inside the "unit" : "Log unitmodel's applicability domain?
"property": "log(IGC50-1)", // The predicted property
"property" "accuracy": "BCF0.70", // The prediction accuracy (RMSE)
"realValue" : "0.0"
}],
"predictedValueString" "depictionID": "1.20200002193450931000651576"
} ] } ],
"modelDescriptionUrl" "metaserverTaskId": "http://ochem.eu/model/231203920",
"taskId" : 0 "status": "success",
"metaserverTaskId" : 0
"modelDescriptionUrl": "http://ochem.eu/model/3"
} |
Way 2: Using task IDs
Since a prediction is not instantaneous and can take several seconds to minutes, the prediction is performed asynchronously, that is in two steps:
...
| Code Block |
|---|
{
"taskId": "0",
// Array of predictions (for each input molecule)
"predictions": [{
"moleculeID": "1002136505",
// Array of predictions for a given molecule. Normally, contains only one prediction.
// Can contain multiple predictions for multi-models
"predictions": [{
"unit": "-log(mmol/L)",
// Name of the predicted class for classification models. Same as "value" for regression models.
"predictedValueString": "2.713999986648559671",
"value": "2.713999986648559671", // Prediction value (round it as you find necessary)
"dm": "0.861100018024444686", // The "distance to model" used for the accuracy estimation
"property": "log(IGC50-1)", // The predicted property
"accuracy": "0.706520302834443670", // The prediction accuracy (RMSE)
"realValue": "0.0"
}],
"depictionID": "1000651576"
}],
"metaserverTaskId": "0",
"status": "success",
"modelDescriptionUrl": "http://ochem.eu/model/3"
} |