Skip to content

design部分接口 #3

@cairijun

Description

@cairijun
  • POST /circuit/schemes

    根据真值表设计通路

    请求:

    {
      "inputs": [
        { "receptor_id": 1, "id": 1, "promoter_id": 17 }, 
        { "receptor_id": 3, "id": 2, "promoter_id": 23 }
      ], 
      "truth_table": [
        { "inputs": [ true, true ], "outputs": [ true, true ] }, 
        { "inputs": [ false, true ], "outputs": [ false, true ] }, 
        { "inputs": [ true, false ], "outputs": [ false, true ] }, 
        { "inputs": [ false, false ], "outputs": [ false, false ] }
      ], 
      "outputs": [ 2, 4 ]
    }

    响应:

    {
      "inputs": [
        [{/* input */}, {/* receptor */}],
        [{/* input */}, {/* receptor */}]
      ],
      "logics": [
        [{/* candidate for output 1 */}, {/* candidate for output 1 */}],
        [{/* candidate for output 2 */}, {/* candidate for output 2 */}]
      ]
    }
  • POST /circuit/details

    在拖放模式下,根据用户选择的基本结构生成详细信息

    请求:

    {
      "inputs": [
        { "receptor_id": 12, "id": 8, "promoter_id": 1 }, 
        { "receptor_id": 13, "id": 9, "promoter_id": 17 }
      ], 
      "logics": [ 23, 21 ], 
      "outputs": [ 1, 2 ]
    }

    响应:(与上面接口类似)

    {
      "inputs": [
        [{/* input */}, {/* receptor */}],
        [{/* input */}, {/* receptor */}]
      ],
      "logics": [
        {/* logic for output 1 */},
        {/* logic for output 2 */}
      ]
    }
  • 注意

    1. 在input中有一个字段relationship指定该input-receptor-promoter组之间的关系。
      "PROMOTE"表示input和receptor结合对promoter起促进作用
      "REPRESS"表示input和receptor结合对promoter起抑制作用
      "BIREPRESS"表示input解除receptor对promoter的抑制作用
    2. logic中inputpart的数量不一定与输入数量相等,outputpart的数量不一定与输出数量相等,不同类型的logic有不同的结构
    3. eid字段原本设计来是为了方便表示通路间的调控关系,但是现在不需要了,后面可能会取消eid字段

更多例子请见相关单元测试。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions