https://blog.csdn.net/xuxie13/article/details/118729074
http://www.ehbio.com/ImageGP/index.php/Home/Index/Barplot.html

https://api.biocloud.net/modules/api/v1/software/getSoftwareTool/8a8300b080abd67a0180b0e309e80005?softwareId=8a8300b080abd67a0180b0e309e80005
{
  "software": {
    "onceBeans": 150,
    "releaseTime": 1652198400000,
    "softName": "interactive_sankey",
    "author": "xiaoyhj",
    "ofUser": false,
    "version": "v1.0",
    "url": "",
    "appNameZn": "",
    "download": true,
    "typeList": [{ "softType": "绘图", "id": "91" }],
    "price": 150.0,
    "softDesc": "桑基图",
    "developer": false,
    "newApp": false,
    "iconURL": "",
    "id": "8a8300b080abd67a0180b0e309e80005",
    "tag": "",
    "zhSoftName": "交互式桑基图",
    "support": "",
    "projectPerson": ""
  },
  "leftBean": 5645,
  "user": {

  },
  "isShow": true,
  "limitSize": "100000000000",
  "detailDesc":"",
  "videoUrl": "",
  "outputDesc":"",
  "inputDesc":"",
  "exampleParam": [
    {
      "num": "1001",
      "value": "/share/bioCloud/user_data/ucn0c28/Personal_data/software/interactive/sankey/main.py",
      "isInfile": false
    },
    {
      "num": "1002",
      "value": "/公共数据/BMK_sample_data/Tools/interactive_tools_data/sankey/sankey.demo.txt",
      "fileUuid": "67657101-92c4-42a1-a4e1-967b0ef29558",
      "isInfile": true
    },
    { "num": "1003", "value": "", "isInfile": false },
    { "num": "1004", "value": "Set1", "isInfile": false }
  ],
  "projectBaseName": "工具使用示例",
  "projectBaseId": ,
  "userLevel": false
}

https://api.biocloud.net/application/api/v1/tools/getFormElement
{
  "titleElement" : [ {
    "check" : null,
    "desc" : null,
    "id" : "desc",
    "infileType" : null,
    "infileLimitSize" : null,
    "isInfile" : null,
    "isDir" : null,
    "name" : "softwarepath",
    "num" : 1001,
    "title" : "softwarepath",
    "type" : "hidden",
    "validate" : null,
    "value" : "/share/bioCloud/user_data/ucn0c28/Personal_data/software/interactive/sankey/main.py",
    "var" : null,
    "view" : null,
    "ele_type" : "Input"
  } ],
  "projectBaseId" : null,
  "moreElement" : [ ],
  "showElement" : [ {
    "check" : true,
    "desc" : "作桑基图所需要的矩阵数据文件,列与列之间以tab制表符分割(csv以逗号分隔)。不同列代表一个level,可额外添加一列value列,可用来展示丰度",
    "id" : "inputfile",
    "infileType" : "xls_txt;xls;txt;xlsx;csv",
    "infileLimitSize" : null,
    "isInfile" : true,
    "isDir" : null,
    "name" : "数据矩阵文件",
    "num" : 1002,
    "title" : "数据矩阵文件",
    "type" : "text",
    "validate" : null,
    "value" : null,
    "var" : "--inputfile",
    "view" : true,
    "ele_type" : "Input",
    "fileId" : null
  }, {
    "check" : true,
    "desc" : "输出目录",
    "id" : "desc",
    "infileType" : null,
    "infileLimitSize" : null,
    "isInfile" : true,
    "isDir" : null,
    "name" : "special_file",
    "num" : 1003,
    "title" : "special_file",
    "type" : "hidden",
    "validate" : "\\S",
    "value" : "",
    "var" : "--outdir",
    "view" : null,
    "ele_type" : "Input"
  }, {
    "option" : [ {
      "label" : "Set1",
      "value" : "Set1"
    }, {
      "label" : "Set2",
      "value" : "Set2"
    }, {
      "label" : "Set3",
      "value" : "Set3"
    }, {
      "label" : "Dark2",
      "value" : "Dark2"
    }, {
      "label" : "RdBu",
      "value" : "RdBu"
    }, {
      "label" : "Paired",
      "value" : "Paired"
    }, {
      "label" : "Accent",
      "value" : "Accent"
    }, {
      "label" : "Pastel1",
      "value" : "Pastel1"
    } ],
    "check" : true,
    "desc" : "选择配色方案。依赖R语言RColorBrewer调色板;Set1,Set2,Dark2,Accent,...",
    "id" : "desc",
    "name" : "配色方案",
    "num" : 1004,
    "title" : "配色方案",
    "var" : "--color",
    "view" : true,
    "ele_type" : "Select"
  } ],
  "projectBaseName" : null
}
https://api.biocloud.net/application/api/v1/app/run/toolProcessSubmit
{
  "beans": 0,
  "example": true,
  "paramArray": [
    {
      "ele": "",
      "file_type": "",
      "hidden": "hidden",
      "infile": false,
      "label": "",
      "num": 1001,
      "title": "softwarepath",
      "value": "/share/nas2/genome/biosoft/R/2.15.1/bin/Rscript /share/nas2/genome/cloud_soft/toolkits_v2/GO_bar/v1.0/GO_bar.R",
      "var": ""
    },
    {
      "ele": "",
      "file_type": "txt;xls;xls_txt",
      "hidden": "",
      "infile": true,
      "label": "",
      "num": 1002,
      "title": "infile",
      "value": "4c39527f-c457-492e-a20f-09c3b61f7d14",
      "var": "--infile"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "hidden",
      "infile": true,
      "label": "",
      "num": 1004,
      "title": "special_file",
      "value": "/根目录/Personal_data",
      "var": "--outdir"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1005,
      "title": "term.col",
      "value": "2",
      "var": "--term.col"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1006,
      "title": "ontology.col",
      "value": "3",
      "var": "--ontology.col"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1007,
      "title": "items_num.col",
      "value": "4",
      "var": "--items_num.col"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1008,
      "title": "pvalue.col",
      "value": "7",
      "var": "--pvalue.col"
    },
    {
      "ele": "select",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "按照P值筛选",
      "num": 1009,
      "title": "line",
      "value": "p_threhold",
      "var": ""
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1010,
      "title": "p_threhold",
      "value": "0.05",
      "var": "--p_threhold"
    },
    {
      "ele": "checkbox",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1012,
      "title": "header",
      "value": "header",
      "var": "--header"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1013,
      "title": "height",
      "value": "3000",
      "var": "--height"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1014,
      "title": "width",
      "value": "6000",
      "var": "--width"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1015,
      "title": "x.lab",
      "value": "'P-value'",
      "var": "--x.lab"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1016,
      "title": "y.lab",
      "value": "'GO term'",
      "var": "--y.lab"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1017,
      "title": "title",
      "value": "'The Most enriched GO Terms'",
      "var": "--title.lab"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1018,
      "title": "lab.size",
      "value": "14",
      "var": "--lab.size"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1019,
      "title": "axis.size",
      "value": "14",
      "var": "--axis.size"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1020,
      "title": "legend.size",
      "value": "12",
      "var": "--legend.size"
    },
    {
      "ele": "",
      "file_type": "",
      "hidden": "",
      "infile": false,
      "label": "",
      "num": 1021,
      "title": "items_num_size",
      "value": "3",
      "var": "--items_num_size"
    }
  ],
  "projectBaseInfoId": 230493,
  "record": false,
  "softwareId": "8a817f675007657701500859c34e1a05",
  "right": false
}