Skip to content

Universal API for Synthetic Biology parts. Aggregates data from all major providers into a standard, readable Biobrick JSON format. Native authorship support.

License

Notifications You must be signed in to change notification settings

mtripnaux/bricksbio-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Universal API for Synthetic Biology Parts

Passing GitHub Forks GitHub Repo stars

Usage - Providers - Schema

Introduction

Currently, the synthetic biology part repositories are disseminated, inconsistent and rarely maintained (see the Providers section). Almost no programmatic interface exist for these databases, despite endpoints to download hand-written, incomplete or extremely heterogenous data. We provide a simple, RESTful interface to centralize this field and help accelerate its evolution, especially through large-scale automation.

In addition to that, different standards are co-existing for synbio data storage (SBOL, GenBank and others) but none of them is actually efficient. It either includes relevant data for genomic studies, or provides insights about the authorship, or describes the sequence's features. We introduce the Biobrick JSON schema, in tribute to the (now retired) BioBricks Foundation (WebArchive) notably behind the BioBrick Assembly Standard.

The Biobrick.json format is not intended to replace SBOL, but to simplify the querying and parsing of synthetic biology data. Every file from the Bricks.bio API can be exported to SBOL at any time.

Usage

To use this API, you can directly request bricks.bio. Since everything is parsed or scraped from online public resources, you can also self-host this API. However, your local version might be slower at first, due to the fact that we use response caching of biobricks files. The API request template is extremely simple, you can either ask for a single part using its unique ID (often given by the provider), or perform a meta-search trough all cached biobricks. If you wish to run on local, you will have to use a pre-caching script in order to use the search feature.

Documentation

You can read the OpenAPI specification under docs/openapi.yaml, or read the HTML-rendered version directly on bricks.bio. A testing feature is available, with examples usage scripts from different popular languages and frameworks, thanks to Scalar. Please be sure to select "variables" and "body" filter for readability, as no headers or cookies are used.

Testing

A simple test script is located in bench/providers.sh. It essentially makes various queries for part IDs located on different providers, and outputs a table including the ID, the response status and the response time in miliseconds.

Providers

Schema

The full Biobrick JSON Schema can be found under docs/biobrick.schema.json.

  • type represents the type of a sequence.
    • canonical is a standardized custom format.
    • ontology is the Sequence Ontology identifier.
    • css is the type's class name in SBOL Visual CSS.
    • slug is the new iGEM standard for storing types.

About

Universal API for Synthetic Biology parts. Aggregates data from all major providers into a standard, readable Biobrick JSON format. Native authorship support.

Topics

Resources

License

Stars

Watchers

Forks