Frequently asked questions
How do I submit proteins?
Go to Submit and provide your sequences one of three ways: paste them in the Sequence box, upload a File, or give a Url. Input must be amino-acid sequences in FASTA format.
Is there a length limit per sequence?
Sequences are processed up to 1,024 residues. Longer sequences are truncated to the first 1,024 before prediction.
What kind of function does it predict?
Molecular function, the biochemical activity of the protein. It does not predict cellular location, biological process, pathway, or protein family.
Is the output copied from a database?
No. ProtTale generates the text; it does not look up an existing annotation. The description may not match any Swiss-Prot entry word for word.
What makes it different from other protein-to-text models?
Two things. First, it is trained with functional similarities inferred from protein language models, so it learns from millions of proteins beyond the small curated set. Second, it gives every prediction a reliability score, which comparable models do not, so you can keep only the annotations worth trusting.
How do I process my results?

In the web interface, there is a table where you can search, filter, and sort through your results. You can filter by the text prediction, FASTA header, and prediction reliability. Filtered and full results can be downloaded as JSONL files.

JSONL (JSON Lines) files contain the result in JSON format for one sequence per line with the following name-value pairs:

  • "header": the FASTA header line for the sequence
  • "prediction": the Swiss-Prot style function description (or text about an error if the "error" name/key is present)
  • "reliability": the predicted binary class in {0.0, 1.0} (1.0 = reliable, 0.0 = unreliable); this name/key is not present for error cases
  • "reliability_pos_prob": the model's probability for the positive (reliable) class in [0.0, 1.0]; this name/key is not present for error cases
  • "error": true if an error was encountered for the sequence; otherwise, this name/key is absent

Why does my job seem stuck in the pre-processing or computing phase?
The BrombergLab services share resources with the lab's researchers. Sometimes our resources are busy, and our load balancing system can cause jobs to appear to be pre-processing or computing while they are waiting in the queue.
How do I use the API?

To use the API, first you must register for a user account and log in to retrieve your user token . The API can be used for monitoring job statuses and downloading results but not for submitting jobs at this time.

Collect job statuses by sending a GET request to https://services.bromberglab.org/prottale/api/v1/results/summary/{ids}?api_token={user_token} and retrieving the JSON response. Substitute your email for {ids} to see all your jobs or put in a semicolon-separated list of job or batch IDs (e.g., MxhtgwwXyZc16egB;batch_fake1234567). Job IDs are emailed to you and can also be copied from your My Jobs table. A job status under 4 indicates the job is still processing, statuses of 4 and 5 indicate successful completion, and statuses above 5 indicate failure. For successful jobs, you can retrieve the results via the prottale/api/v1/results/summary/{ids}?api_token={user_token} endpoint.

Retrieve results in CSV format from both API endpoints by appending &format=csv to the end of the query URL.

# Retrieve results for one or more jobs in CSV format
curl "https://services.bromberglab.org/prottale/api/v1/results/annotations/{ids}?api_token={user_token}&format=csv" > results.csv