1. 问题
    2. 我如何指定一份工作的要求/依赖?
    3. 我应该为软件需求提供什么级别的详细信息?
    4. 目标
    5. 学习如何编写软件需求描述。
    6. 学习如何使用SciCrunch检索所需的工具/版本的唯一标识符。

    通常,工具描述将针对软件的特定版本编写。为了让其他人更容易使用您的描述,您可以在提示部分包括一个SoftwareRequirement字段。这也可以帮助避免混淆描述是为哪个版本的工具编写的。

    1. cwlVersion: v1.0
    2. class: CommandLineTool
    3. label: "InterProScan: protein sequence classifier"
    4. doc: |
    5. Version 5.21-60 can be downloaded here:
    6. https://github.com/ebi-pf-team/interproscan/wiki/HowToDownload
    7. Documentation on how to run InterProScan 5 can be found here:
    8. https://github.com/ebi-pf-team/interproscan/wiki/HowToRun
    9. requirements:
    10. ResourceRequirement:
    11. ramMin: 10240
    12. coresMin: 3
    13. SchemaDefRequirement:
    14. types:
    15. - $import: InterProScan-apps.yml
    16. hints:
    17. SoftwareRequirement:
    18. packages:
    19. interproscan:
    20. specs: [ "https://identifiers.org/rrid/RRID:SCR_005829" ]
    21. version: [ "5.21-60" ]
    22. inputs:
    23. proteinFile:
    24. type: File
    25. inputBinding:
    26. prefix: --input
    27. applications:
    28. type: InterProScan-apps.yml#apps[]?
    29. inputBinding:
    30. itemSeparator: ','
    31. prefix: --applications
    32. baseCommand: interproscan.sh
    33. arguments:
    34. - valueFrom: $(inputs.proteinFile.nameroot).i5_annotations
    35. prefix: --outfile
    36. - valueFrom: TSV
    37. prefix: --formats
    38. - --disable-precalc
    39. - --goterms
    40. - --pathways
    41. - valueFrom: $(runtime.tmpdir)
    42. prefix: --tempdir
    43. outputs:
    44. i5Annotations:
    45. type: File
    46. format: iana:text/tab-separated-values
    47. outputBinding:
    48. glob: $(inputs.proteinFile.nameroot).i5_annotations
    49. $namespaces:
    50. iana: https://www.iana.org/assignments/media-types/
    51. s: https://schema.org/
    52. $schemas:
    53. - http://schema.org/version/9.0/schemaorg-current-http.rdf
    54. s:license: https://spdx.org/licenses/Apache-2.0
    55. s:copyrightHolder: "EMBL - European Bioinformatics Institute"

    本例中对软件的要求为InterProScan version 5.21-60。

    1. hints:
    2. SoftwareRequirement:
    3. packages:
    4. interproscan:
    5. specs: [ "https://identifiers.org/rrid/RRID:SCR_005829" ]
    6. version: [ "5.21-60" ]

    根据您的CWL运行程序,这些提示可用于在作业运行之前检查所需的软件是否安装并可用。要使用参考实现启用这些检查,请使用依赖项解析器配置。
    除了版本号外,工具的唯一资源标识符(URI)也以rid的形式给出。可以在SciCrunch注册表中查找rrid中的资源,该注册表提供了一个门户,用于一致地查找、跟踪和引用科学资源。如果您想指定一个工具作为软件需求,在SciCrunch上搜索这个工具,并使用注册表中指定的rid。(如果你想添加一个工具到SciCrunch,请遵循本教程。)您可以使用这个rid在您的需求描述的specs字段中引用该工具(通过identifiers.org)。其他好的选择(按偏好顺序)包括主要工具引用的DOI和工具的URL。