Article Information

Oct 24, 2023

5 min read

This page explains the use of ESMFold, as well as documents its usage on BioLM for protein structure prediction.

API Usage#

here are 2 BioLM endpoints to ESMFold single and multi chain.

Making Requests#

Using ESMFold single chain as an example, folding requests to the endpoints can be made with in several ways including ‘python requests’ or the biolmai SDK

curl --location '' \
  --header 'Cookie: access=MY_ACCESS_TOKEN;refresh=MY_REFRESH_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
        "items": [
import requests
import json

url = ""

payload = json.dumps({
        "items": [
headers = {
  'Cookie': 'access=MY_ACCESS_TOKEN;refresh=MY_REFRESH_TOKEN',
  'Content-Type': 'application/json'

response = requests.request("POST", url, headers=headers, data=payload)

import biolmai

cls = biolmai.ESMFoldSingleChain()
resp = cls.predict(seqs)
headers = c(
  "Cookie" = "access=MY_ACCESS_TOKEN;refresh=MY_REFRESH_TOKEN",
  "Content-Type" = "application/json"
payload = "{
  \"items\": [
res <- postForm("", .opts=list(postfields = payload, httpheader = headers, followlocation = TRUE), style = "httppost")

JSON Response#

Expand Example Response
“results”: [

“pdb”: “PARENT N/AnATOM 1 N MET A 1 -3.717 -20.294 -18.979 1.00 87.61 N nATOM 2 CA MET A 1 “mean_plddt”: 94.2749252319336, “ptm”: 0.9202359914779663 }



Request Definitions#

Inside items is a list of dictionaries with each dictionary corresponding to one model input.

The input sequence for the model

Response Definitions#


This is the main key in the JSON object that contains an array of model results. Each element in the array represents a set of predictions for one input instance.


Contains a string representing the 3D structure of the protein predicted by the model in PDB (Protein Data Bank) format.


Contains a string representing the mean pLDDT score of the predicted structure. The pLDDT (predicted Local Distance Difference Test) score is a measure of the accuracy of the predicted structure, with values ranging from 0 to 100. Higher scores indicate higher confidence in the prediction.


This graph will be available soon.

The duration for folding predominantly depends on sequence length. A sequence of length 60 might fold in 6 seconds, however a sequence of length 500 might fold in 400 seconds.