-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
Conner Groth edited this page Jul 3, 2025
·
3 revisions
-
GET /api/boot- Initialize server and load feature libraries -
POST /api/annotateSequence- Get sequence annotations using SYNBICT -
POST /api/annotateText- Get text annotations using BERN2 NLP -
POST /api/convert/genbanktosbol2- Convert GenBank to SBOL -
POST /api/cleanSBOL- Clean and normalize SBOL URIs -
POST /api/findSimilarParts- Find similar parts in databases -
POST /api/importUserLibrary- Import custom feature libraries from SynBioHub -
POST /api/deleteUserLibrary- Remove custom feature libraries
// Sequence Annotation
POST /api/annotateSequence
{
"completeSbolContent": "<sbol xml>",
"partLibraries": ["cello_library.xml"],
"cleanDocument": true
}
// Text Annotation
POST /api/annotateText
{
"text": "This promoter regulates gene expression"
}When a user first visits the SeqImprove site, the frontend calls:
@app.get("/api/boot")
def boot_app():
return "Rise and shine"
This endpoint triggers the setup() function, which loads feature libraries required by SYNBICT for sequence annotation. This loading step is time-consuming, so preloading on the first visit ensures users won’t experience delays when requesting annotations later.
Local Development: setup() runs once on the first API request, then stays loaded until the server restarts.
Cloud Deployment: Servers may spin down when idle, so /api/boot is used to proactively reload libraries as soon as the site is opened.
SYNBICT performs sequence annotation using part libraries and internally leverages flashtext for fast string matching.