管线分装分三步:
1、在test.py中或同文件目录下
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--query', type=str) #query是输入的参数
args = parser.parse_args()
程序主体
if __name__ == '__main__':
path = args.query #与上边的参数相对应
res,err = query_runner(path)
2、新建两个文件与test.py同属同一文件夹下
test.cwl
class: CommandLineTool
cwlVersion: v1.0
$namespaces:
sbg: 'https://www.sevenbridges.com/'
id: test #id名必须与label相同
baseCommand:
- python3 #开启python
inputs:
- id: query # ID与prefix必须相同
type: string? #传入的类型
inputBinding:
position: 1 #传入的位置
prefix: '--query' #传入的参数
- id: py_file
type: File?
inputBinding:
position: 0
default:
class: File
path: "/Users/Downloads/test/test.py" #test.py文件所在的路径
outputs: []
label: test
input.json
{
"query":"输入的参数"
}
3、测试管线
pip install cwltool
cwltool --no-container [test.cwl文件路径] [input.json文件路径]