问题我如何指定一份工作的要求/依赖?我应该为软件需求提供什么级别的详细信息?目标学习如何编写软件需求描述。学习如何使用SciCrunch检索所需的工具/版本的唯一标识符。
通常,工具描述将针对软件的特定版本编写。为了让其他人更容易使用您的描述,您可以在提示部分包括一个SoftwareRequirement字段。这也可以帮助避免混淆描述是为哪个版本的工具编写的。
cwlVersion: v1.0class: CommandLineToollabel: "InterProScan: protein sequence classifier"doc: |Version 5.21-60 can be downloaded here:https://github.com/ebi-pf-team/interproscan/wiki/HowToDownloadDocumentation on how to run InterProScan 5 can be found here:https://github.com/ebi-pf-team/interproscan/wiki/HowToRunrequirements:ResourceRequirement:ramMin: 10240coresMin: 3SchemaDefRequirement:types:- $import: InterProScan-apps.ymlhints:SoftwareRequirement:packages:interproscan:specs: [ "https://identifiers.org/rrid/RRID:SCR_005829" ]version: [ "5.21-60" ]inputs:proteinFile:type: FileinputBinding:prefix: --inputapplications:type: InterProScan-apps.yml#apps[]?inputBinding:itemSeparator: ','prefix: --applicationsbaseCommand: interproscan.sharguments:- valueFrom: $(inputs.proteinFile.nameroot).i5_annotationsprefix: --outfile- valueFrom: TSVprefix: --formats- --disable-precalc- --goterms- --pathways- valueFrom: $(runtime.tmpdir)prefix: --tempdiroutputs:i5Annotations:type: Fileformat: iana:text/tab-separated-valuesoutputBinding:glob: $(inputs.proteinFile.nameroot).i5_annotations$namespaces:iana: https://www.iana.org/assignments/media-types/s: https://schema.org/$schemas:- http://schema.org/version/9.0/schemaorg-current-http.rdfs:license: https://spdx.org/licenses/Apache-2.0s:copyrightHolder: "EMBL - European Bioinformatics Institute"
本例中对软件的要求为InterProScan version 5.21-60。
hints:SoftwareRequirement:packages:interproscan:specs: [ "https://identifiers.org/rrid/RRID:SCR_005829" ]version: [ "5.21-60" ]
根据您的CWL运行程序,这些提示可用于在作业运行之前检查所需的软件是否安装并可用。要使用参考实现启用这些检查,请使用依赖项解析器配置。
除了版本号外,工具的唯一资源标识符(URI)也以rid的形式给出。可以在SciCrunch注册表中查找rrid中的资源,该注册表提供了一个门户,用于一致地查找、跟踪和引用科学资源。如果您想指定一个工具作为软件需求,在SciCrunch上搜索这个工具,并使用注册表中指定的rid。(如果你想添加一个工具到SciCrunch,请遵循本教程。)您可以使用这个rid在您的需求描述的specs字段中引用该工具(通过identifiers.org)。其他好的选择(按偏好顺序)包括主要工具引用的DOI和工具的URL。
