交互分析应用是通过将交互分析实例所开发的生信分析流程(通过python或者R代码)创建的一个应用,可支持开发者设置应用的输入参数、应用使用到的数据及应用的代码,以及应用的结果文件。通过创建交互分析应用之后,可以更直接进行生信流程的运行,无需进入实例。
创建交互分析应用一般需要先在交互分析实例中完成应用代码的开发,这里以以创建一个火山图的交互分析应用为例
打开交互分析实例(需要确保交互分析实例已经挂载了workspace存储,可以参考交互分析实例中:"如何挂载存储")
在交互分析实例中完成当前火山图的应用代码编写,这里使用到了R语言作为火山运行代码,如果应用的参数较多,可以考虑将火山图所支持的应用参数以json文件的形式进行书写,以方便后续创建应用时向代码中传递参数,如果参数较少,可以在应用创建时直接设置输入参数
示例代码及示例数据及参数文件获取方式如下
火山图应用 | 文件名称 | 文件地址 |
---|---|---|
示例代码 | plot.r | https://tutorials-data.tos.miracle.ac.cn/ies_app_tutorial/plot.r |
示例火山图应用参数 | input.json | https://tutorials-data.tos.miracle.ac.cn/ies_app_tutorial/input.json |
示例测试数据 | testdata.csv | https://tutorials-data.tos.miracle.ac.cn/ies_app_tutorial/testData.csv |
示例结果文件 | result.jpg | https://tutorials-data.tos.miracle.ac.cn/ies_app_tutorial/result.jpg |
Rscript appcode/plot.r plot --config appdata/input.json --input appdata/testData.csv --output result.jpg
在数据/环境配置前,需要将实例中的代码文件以及代码使用数据文件先复制到交互分析实例所挂载的workspace存储中,否则在当前数据/环境配置中将无法选择
镜像选择保存当前实例,如果未在当前实例下安装任何其他依赖可以直接选择实例启动镜像,如果在实例中已经安装了依赖包,则需要保存当前实例
在参数配置中,需要将希望暴露的参数以" ${参数名称} " 替换原有命令行中的参数,比如在当前火山图中,所有可配置参数都在input.json中,因此在运行指令中使用 ${input} 替换,并在参数配置中设置input
注意点:
这里需要注意的是如果原先plot.r文件是存放在某个根目录下(比如目录名appcode),在创建应用时选择了appcode,appcode目录在运行是不会被复制到容器的,但如果在appcode下还有其他文件目录,其他文件目录是会被复制的,比如原有的代码结构为 appcode/code/plot.r, 那么在设置运行指令的时候需要谢伟 Rscript code/plot.r
设置参数时,原先的数据在交互分析实例时在appdata目录(例如 appdata/input.json)下,运行指令里无需提现appdata, 在运行指令中直接用${input} 对可变参数进行替换
参数配置中设置的参数类型和参数名称需要和运行指令中保持一致,比如 --config ${input} 中这个${input}变量参数需要和参数设置中input名称一致
点击交互分析应用进行运行
点击输出路径-【查看】,可以看到result.jpg文件已经输出到选择的对应文件目录下
点击【预览】可以查看生成的火山图