首页 > 其他分享 >cwltoo学习笔记

cwltoo学习笔记

时间:2023-08-22 15:57:37浏览次数:32  
标签:__ args 笔记 学习 cwl cwltoo print download out

执行工作流:cwltool /home/zcy/download/cwl/wf.cwl /home/zcy/download/cwl/echo-job.yml 
wf.cwl
cwlVersion: v1.2
class: Workflow


inputs:
  message: string

outputs:
  out:
    type: File
    outputSource: uppercase/example_out

steps:
  echo:
    run: /home/zcy/download/cwl/zzz_print.cwl
    in:
      message: message
    out: [out]
  uppercase:
    run: /home/zcy/download/cwl/ccc.cwl
    in:
      mypath:
        source: echo/out
    out: [example_out]

echo-job.yml

message: Hello world!

zzz_print.cwl

cwlVersion: v1.0
class: CommandLineTool
stdout: tst_stdout.txt
baseCommand: [python, /home/zcy/download/cwl/input/zzz_print.py]
inputs:
  message:
    type: string
    inputBinding:
      position: 1
outputs:
  out:
    type: string
    outputBinding:
      glob: tst_stdout.txt 
      loadContents: true
      outputEval: $(self[0].contents)

zzz_print.py

import argparse
parser = argparse.ArgumentParser(description='download files by ftp')
parser.add_argument('message', type=str, help='PDB')

def tst(args):
    with open('/home/zzz_print.out', 'w') as f:
      f.write(args)
    print('/home/zzz_print.out')

if __name__ == '__main__':
    args = parser.parse_args()
    tst(args.message)
 

 

ccc.cwl

cwlVersion: v1.0
class: CommandLineTool
baseCommand: [python, /home/zcy/download/cwl/input/ccc.py]
inputs:
  mypath:
    type: string
    inputBinding:
      position: 1
outputs:
  example_out:
    type: stdout
stdout: output_ccc.txt
ccc.py
import argparse
parser = argparse.ArgumentParser(description='download files by ftp')
parser.add_argument('mypath', type=str, help='PDB')

def tst(args):
    fpath = args.split(None)[0]
    with open(fpath, 'r') as f:
      data = f.read()
    print('final result:')
    print(data)

if __name__ == '__main__':
    args = parser.parse_args()
    tst(args.mypath)

 

标签:__,args,笔记,学习,cwl,cwltoo,print,download,out
From: https://www.cnblogs.com/testzcy/p/17648713.html

相关文章

  • Vue学习笔记:Pinia Part01
    介绍Pinia是Vue的专属状态管理库,它允许你跨组件或页面共享状态。如果你熟悉组合式API的话,你可能会认为可以通过一行简单的 exportconststate=reactive({}) 来共享一个全局状态。对于单页应用来说确实可以,但如果应用在服务器端渲染,这可能会使你的应用暴露出一些安全漏洞......
  • 用一个示例来学习DockerFile
    在Docker的世界里,我们经常会听到Dockerfile这个词。那么,什么是Dockerfile?它如何工作?本文将简要介绍Dockerfile的基本概念,原理以及一些常用的Dockerfile命令。什么是Dockerfile?Dockerfile是一个包含了一组命令的文本文件,这些命令可以被Docker解析并依此构建出一个新的Docker镜像......
  • javascript学习笔记第五天
    今天的笔记functiongetusergradesum(arr=[])传递数组进入匿名函数,假设不确定数组是否会为空可以默认传一个空的数组进入,这样不会报错在匿名方法里面,return之后就直接结束函数了三元运算符好像不能同时使用两个return,例如i>l?returni:retuenl,这样子会报错return时......
  • 女生学习外语真的更有优势吗?
    转载https://zhuanlan.zhihu.com/p/55588350https://www.zhihu.com/people/sha-huo-fo-shi-zhen-zhu/posts 大多数人的看法确实是女生更有优势,我虽然对此观点有所怀疑,但考虑到全球学术环境下女生表现不论专业均高于男生,我也没去深想。但来到德国后,我似乎离真相更近了一点。......
  • STM32深入学习1:时钟系统和GPIO
    RCC(复位和时钟控制):系统复位的因素:1.NRST按键复位2.看门狗复位3.软件复位4.低功耗管理复位SYSCLK系统时钟: 1.HSI时钟2.HSE时钟:外部晶振3.PLL时钟  系统时钟:PCLK1:APB1分频,最大36mhz   PCLK2,ADC,TIM1,TIM8:APB2分频 初始化:相关知识:RCC相关寄存器:R......
  • 【刷题笔记】28. Implement strStr()
    题目ImplementstrStr().Returntheindexofthefirstoccurrenceofneedleinhaystack,or-1ifneedleisnotpartofhaystack.Example1:Input:haystack="hello",needle="ll"Output:2Example2:Input:haystack="aaaaa&quo......
  • 在线外语学习平台-计算机毕业设计源码+LW文档
    提要信息化的迅速发展,对人们的衣食住行产生了很大影响。越来越多的人习惯并依赖于通过信息技术和智能化的形式来处理日常各类事物。为了满足学生用户日常学习的需要,以及适应现代化课程教学管理的需求,决定开发在线外语学习平台。帮助学生在线学习,提高效率。在线外语学习平台的开发......
  • 九月组队学习来了!
     Datawhale学习 开源贡献:Datawhale团队新学期新开始。本月组队学习,包含了机器学习、数据科学、深度学习、数理基础、青少年编程5个模块,共11个学习内容。华北电力大学 BPS大数据与哲学社会科学研究会将联合Datawhale展开线下学习,在华电的同学还可以线下参与。关于开源Datawhale......
  • AI经典案例学习:让营销创意不再是体力活!
     Datawhale学习 方向:AI+创意营销,组织:百度团队写在篇首:营销创意是个「体力活」,考验的是N次改稿中依然振作起来的体力和毅力:从业10年的资深广告人在面对Z世代的脑洞需求时,只能说:套路无效;创意方案从PlanA-PlanZ可以绕字母表一个循环但可能还是死于客户的眉头一皱。换个思路,让AI帮你~......
  • 8.22集训笔记
    上午简单排序P5143攀爬者点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=5e4+10;structT{intx,y,z;}a[N];boolcmp(Ta,Tb){returna.z<b.z;//返回是否合法,或者说是否不需要交换}doubledis(inti,intj){returnsq......