Skip to content

biohub.biobrick

shirley-wu edited this page Aug 5, 2017 · 21 revisions

Biobrick Restful API

register name: api:biobrick

Note: Biobrick只读,不可更改。如果需要加入更改功能以后再说。

serializer

serializer.data的fields:

  • part_name
  • sequence: DNA序列
  • short_desc: 短描述
  • description: 长描述,虽然有些biobrick的description比short_desc还短
  • uses: 使用数
  • urlset: 一个字典,包含三个keys: part, related_parts与gb_download。其中urlset['part']是biobrick在parts.igem.org官网的url。
  • highlighted: 一个列表。在要求高亮的时候会包含一个字符串,表示高亮后的内容。

list

功能: 列出已有的biobricks。不知道这个功能有什么用,不想要可以去除。

url: /api/biobricks/

register name: api:biobrick:biobrick-list

method: get

参数:

  • order: 可选,表示biobricks排列顺序。可选值为'part_name'(按照biobrick名字排序),'-uses'(按照uses降序排序)。默认值为'part_name'

返回格式: {

  • count: biobricks个数
  • next: 下一页
  • previous: 前一页
  • results: 一个列表,每一项均为serializer序列化后的data

}

retrieve

功能: 通过pk(即part_id)检索某个biobrick,似乎更没有什么用的功能。

url: /api/biobrick//

register name: api:biobrick:biobrick-detail

method: get

参数: 没参数

返回格式: 同serializer

search

功能: 搜索。

  • 可以对part_name、sequence进行严格搜索
  • 可以对short_desc与description进行模糊搜索,并支持效果并不好的高亮
  • 可以给定显示顺序
  • 可以给出拼写建议

后端实现: 使用haystack框架与elasticsearch后端。原本使用whoosh,但whoosh太慢。后期可能会尝试其他后端

url: /api/biobrick/search/

register name: api:biobrick:biobrick-search

method: get

参数:

  • order: 可选。默认为按照相关度排序。可选值为'part_name'与'-uses'
  • q: 在short_desc与description中查询,支持高级查询语法
  • part_name
  • sequence
  • highlight: 可选。如果提供该变量,无论值为什么都会进行高亮

返回格式: 类似list。唯一区别在于如果q拼写错误,response.data中会有suggestion域,推荐正确的拼写

Clone this wiki locally