cwltoolで可能です。cwltoolでもインストールできます。スパコンにはインストール済みですので特に準備は必要ありません。コンテナイメージへの変換が行われます。Node.jsJavaScriptの実行エンジンです。使っているため必要になります。使用している場合にはcondaコマンドを使用するのが簡単です。condaコマンドを使用する場合のインストール方法は以下の通りです。イメージを自動的に取得して用いるためインストールは不要です。書かれたイネの変異解析のためのワークフローを実行してみます。イネ用に作られたものですが、最後のバリアントのアノテーションを行うステップの手前までは、二倍体であれば他の生物種にも適用することができます。遺伝研スパコンにログインして、qloginコマンドでインタラクティブノードに移動します。コンテナイメージを生成する際に比較的大量のメモリを必要としますので、次のように要求メモリを指定してログインします(あるいはコマンド実行時にqsubコマンドを使ってメモリ指定してバッチジョブとして投入します)。mem_req=16G,s_vmem=16Gログインできたら適当なディレクトリに移動して、ワークフローのファイルを取得します。workflowstoolsディレクトリにはワークフロー中の各実行コマンドの動作を定義したファイルが含まれています。workflowsディレクトリにはそれらを組み合わせてワークフローの一連の処理を定義したファイルが含まれます。ワークフローを実行する際には基本的にはworkflowsディレクトリ内のファイルを用いることになります。ワークフローの多くも同じようなディレクトリ構造になっています。行うprepare_reference.cwlと参照配列へのリード配列のアラインメントを行うfastq2bam.cwlを実行します。以下ではtestディレクトリに含まれている動作確認用のファイルを使って動かしてみます。必要な参照データを取得しrefというディレクトリに保存します。使用して変異のアノテーションを行うときに使用するためのものなので今回は必要ありません。後ほど、このファイルの中を覗いてどのような処理が行われているかみてみましょう。実行しヘルプを確認します。呼ばれるワークフローへの入力ファイルやパラメータを記述したファイルを指定するためのものです(ジョブの実行順序?と勘違いしてしまったが、おそらくワークフローへの入力を指示するためのファイルという意味だと思われる)。ジョブファイルを用いて実行する方法は実行その2で紹介するので、ここではコマンドラインから引数を与える方法で実行します。ファイルを指定する--referenceだけです。使うようにすることです。実行するのと違いはありません。indexという名称を指定しました。何も指定しない場合にはカレントディレクトリに結果ファイルが生成されます。出力先のディレクトリは自動で生成されます。ファイルが出力されています。時の要求メモリを増やして実行してください。mem_req=16G,s_vmem=16Gは不要になります)。実行その2続いてfastq2bam.cwlを使ってリード配列のアラインメントを行います。ここでは前項とは異なりジョブファイルを利用して実行する方法を紹介します。--make-templateオプションを使いジョブファイルの雛形を生成します。fastq2bam.job.yaml生成されたジョブファイルfastq2bam.job.yamlには必要な入力パラメータを記載する項目があります。これを編集し、下記のようにしました。ファイルとアラインメントするリード配列のファイルのパスです。入力ファイルのパスは、絶対パスあるいはジョブファイルのある場所から見た相対パスで記載します。outprefixはサンプル名を識別するための文字列、threadsに並列実行時のスレッド数です。スレッド数に4を指定しているため、インタラクティブノードでそのまま実行すると他のユーザーの迷惑になります。バッチジョブのスクリプトファイルを作ってqsubコマンドでジョブを投入しましょう。cwl_test.sh)しましょう。ファイルとそれに関連するファイルが結果ファイルとして出力されます。以上で実行方法の紹介を終わります。参考にrapdb-pipeline.cwlを使ってアラインメントと変異の同定・アノテーションを含めた一連の工程をコマンド一発で実行してみてください。利用するだけであっても、どのような処理が行われているか大雑把に理解しておくことは大切です。workflowsディレクトリ内のファイルを見るとワークフローの中でどのような処理が行われているかを確認することができます。bind_fasta_index/fasta_with_index重要なのはinputs、steps、outputsの部分です。inputsにはワークフローへの入力が記述されています。ファイルが唯一の入力項目です。stepsの部分ではワークフロー内での各処理が記述されています。1〜3についてはこの手の解析に慣れている方はだいたい想像がつくと思います。生成をそれぞれ行っています。ファイルへの参照が、inとoutには各ステップでの入出力がそれぞれ記載されています。ファイルに分かれて記述された処理をinとoutを介して繋げることでワークフロー内の一連の処理内容が定義されいます。ように常に同じディレクトリに置いて使用する必要があるファイルを扱うようなケースに対応させるためです)。ワークフローの結果ファイルはoutputsの部分で定義されています。bind_fasta_indexの結果を最終的な結果として出力しています。outputsに記載の無いファイルは中間ファイルとして実行後に破棄されます。この3ステップについては必ずしも記載順に実行されるわけではありません。出力結果を入力としているため、必ずこの3つのステップが完了した後に実行されます。関しては並列で実行されます。DAT2-cwlその他Singularityでは動かないワークフローDockerfileからコンテナイメージをビルドする場合Docker内部のファイル・ディレクトリを変更する処理が含まれるワークフローキャッシュの利用--cachedirオプションを指定する。中間ファイルが保持される。利用インストールは簡単。使うよりメモリが多く必要だった。使用する特別な必要はないと思われる。upLoginユーザーは見つかりませんでした。