Spaya API 1.0.0

Spaya API employs a data-driven AI approach to discover retrosynthetic routes.

An iterative exploration of all possible routes is performed until commercially available starting materials are identified.

The process of retrosynthesis consists of building possible routes from your input SMILES to commercially available starting materials and scoring them. The routes are built in the form of a graph where nodes and edges are linked together and scored by our AI models as would a chemist do. The final score you get is the one of the best route our models found, and you also get the number of steps it takes, within this route, to synthesize your molecule from the starting materials our system found.

Remember that the process is iterative and runs for a certain amount of time and/or iterations before reaching a conclusion. You can control the time it runs for with several early stopping options, but note that running for longer doesn't necessarily mean always getting better results. Our models can find an easy enough (score >= a given acceptable threshold) route in no time but then struggle for hours to find the absolute best route if it ever exists, so adjust accordingly to your own requirements and availability of starting materials. You can even ask our models to use one of your preferred intermediate products to further guide the AI through routes you know are easy for you to synthesize.

Operations

  • RECEIVE /retrosynthesis_api/ws/v1/batch_smiles

    Start and stream result of retrosynthesis for batch of smiles

    Send batch of smiles

    Operation IDpublish

    Accepts the following message:

    Batch Retrosynthesis EntryBatchRetroSynthesisEntryMessage

    A list of smiles for a retrosynthesis

    Message IDBatchRetroSynthesisEntryMessage
    object [BatchRetroSynthesisEntry]
    object

    Examples

  • SEND /retrosynthesis_api/ws/v1/batch_smiles

    Start and stream result of retrosynthesis for batch of smiles

    Get result of retrosynthesis

    Operation IDsubscribe

    Accepts the following message:

    Retrosynthesis ResultRetroSynthesisResultMessage

    Result of a retrosynthesis

    Message IDRetroSynthesisResultMessage
    object [RetroSynthesisResult]

    Examples

Messages

  • #1Batch Retrosynthesis EntryBatchRetroSynthesisEntryMessage

    A list of smiles for a retrosynthesis

    Message IDBatchRetroSynthesisEntryMessage
    object [BatchRetroSynthesisEntry]
    object
  • #2Retrosynthesis ResultRetroSynthesisResultMessage

    Result of a retrosynthesis

    Message IDRetroSynthesisResultMessage
    object [RetroSynthesisResult]

Schemas

  • object
  • object [BatchRetroSynthesisEntry]
  • EntryStatusCode
    string

    Smiles status:

    SUBMITTED: The SMILES is in queue and should be processed soon

    RUNNING: The SMILES is being processed

    DONE: The process has finished running

    (found all the possible routes or stopped early because of your options above)

    INVALID_SMILES: The SMILES is not valid

    ERROR*: Something went wrong

    KILLED*: Stopped manually

    *Please reach out to our support team for more detailed diagnostics of these statuses.

      Allowed values:
    • "SUBMITTED"
    • "RUNNING"
    • "DONE"
    • "INVALID SMILES"
    • "ERROR"
    • "KILLED"
    • "NEW"
    • "QUOTA_EXCEEDED"
    • "PENDING"
  • object [RetroSynthesisResult]