CWL 주위의 Requirements 일주일: In line Javascript Requirement
Common Workflow Language(CWL)에서는 워크플로우 실행 처리 시스템을 충족해야 하는 기능 외에도 Process requirements라 불리는 optional features를 표준화[1]했다.
이번에는 CWL v1.2에서 정의한 InlineJavascriptRequirement에 대해 간단한 해설을 하겠습니다.또 각 샘플은 가능한 한 공식 기준도 테스트에 사용된 파일을 인용한다.
독자 대상
requirements
을 뜯었지만 잘 몰라요.예제
첫날 기사 : Conformance test #14 :
#!/usr/bin/env cwl-runner
class: ExpressionTool
requirements:
- class: InlineJavascriptRequirement
cwlVersion: v1.2
inputs:
i1:
type: Any
default: "the-default"
outputs:
output: int
expression: "$({'output': (inputs.i1 == 'the-default' ? 1 : 2)})"
InlineJavascriptRequirement
에 기술된 경우requirements
와 $()
에 포위된 부분은 해석tests/null-expression1-tool.cwlJavaScript의 코드로 사용되었다.위의 예
${}
를 제시하지 않았을 때i1
를 "the-default"
로 평가(입력 매개 변수의 값은 inputs.i1
에서 참조할 수 있음)inputs.パラメータ名
필드의 자바스크립트의expressionexpression
에서 평가한다.결과는 ExpressionTool의 출력 매개변수1
로 반환outputs.output
됩니다.1
이외의 i1
가 교부되었을 때 "the-default"
로 되돌아오다outputs.output
.2
매우 강력하지만 독자들에게 큰 부담이 될 수 있으므로 InlineJavascriptRequirement
등의 대체 수단이 있다면 그것을 사용하는 것이 좋다.덤
Zenn의 코드 블록이 CWL을 지원하지 않아서 슬펐어요.
각주
즉, Processrequiremens를 포함한 작업 흐름과 도구 정의는 CWL 표준에 부합되는 모든 작업 흐름 실행 처리 시스템에서 실행될 수 없다.자세한 내용은 [2]를 참조하십시오.[3]
이와 비슷한 복잡한 규격은 별편 보도이 있다.
outputBinding.glob
자바스크립트로 해석하느냐 파라메터 레퍼런스로 해석하느냐는 유무$()
에 따라 판단할 수 있기 때문에 다른 사람이 쓴 CWL을 읽을 때 주의해야 한다.↩︎ JavaScript를 실행하려면 Parameter references가 필요합니다.↩︎ 중 Node.js와
InlineJavascriptRequirement
두 가지를 지정하면 다운로드몇 개의 처리 시스템를 받고 실행하기 때문에 약간의 주의가 필요하다.DockerRequirement Reference
이 문제에 관하여(CWL 주위의 Requirements 일주일: In line Javascript Requirement), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tom_tan/articles/8e3c269b82f342텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)