bioinformatics
cwl
CWLDay 17

CWL User Guide 16: File Formats をやってみた

CWL User Guide 16: File Formats

今回は、入力、出力に使うファイルの形式の指定について書かれています

サンプルでは、BAMを入力にして、テキストファイルplain text format (unformatted)が、出力されるということが、EDAMを参照して書かれています。

Key Points から
* 入力と出力の File について、ファイル形式をドキュメントすることができる
* 十分にツールが熟成したら、EDAMのようなすでに存在するオントロジーをリファレンスに、フォーマットを記述することをおすすめします。

この回にでてくる主なキーワード

  • File

CWLファイル、metadata_example.cwl

metadata_example.cwl
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: CommandLineTool

label: An example tool demonstrating metadata.

inputs:
  aligned_sequences:
    type: File
    label: Aligned sequences in BAM format
    format: edam:format_2572
    inputBinding:
      position: 1

baseCommand: [ wc, -l ]

stdout: output.txt

outputs:
  report:
    type: stdout
    format: edam:format_1964
    label: A text file that contains a line count

$namespaces:
  edam: http://edamontology.org/
$schemas:
  - http://edamontology.org/EDAM_1.18.owl

パラメータファイル

sample.json
aligned_sequences:
    class: File
    format: http://edamontology.org/format_2572
    path: file-formats.bam
bamstats_report:
    class: File
    path: /tmp/bamstats_report.zip

必要なファイル

file-formats.bam が必要

ダウンロードの仕方はドキュメントに書かれている

wget https://github.com/common-workflow-language/user_guide/raw/gh-pages/_includes/cwl/file-formats.bam

実行

実行方法

cwltool metadata_example.cwl sample.yml

実行結果

$ cwltool metadata_example.cwl sample.yml
/usr/local/bin/cwltool 1.0.20171107133715
Resolved 'metadata_example.cwl' to 'file:///home/vagrant/cwl_user_guide_work/16-file-formats/metadata_example.cwl'
[job metadata_example.cwl] /tmp/tmpXlxfjy$ wc \
    -l \
    /tmp/tmp7YTE26/stgffbb819a-9b83-497b-b2f9-d95d3931993f/file-formats.bam > /tmp/tmpXlxfjy/output.txt
[job metadata_example.cwl] completed success
{
    "report": {
        "format": "http://edamontology.org/format_1964",
        "checksum": "sha1$2b6fc3fa866a2e30043aed460ea44603faad18a8",
        "basename": "output.txt",
        "location": "file:///home/vagrant/cwl_user_guide_work/16-file-formats/output.txt",
        "path": "/home/vagrant/cwl_user_guide_work/16-file-formats/output.txt",
        "class": "File",
        "size": 78
    }
}
Final process status is success

実行結果確認

$ cat output.txt
13698 /tmp/tmp7YTE26/stgffbb819a-9b83-497b-b2f9-d95d3931993f/file-formats.bam

今回使ったファイル

cwl_user_guide_work/16-file-formats at master · manabuishii/cwl_user_guide_work