「cryoSPARC tips」の版間の差分
(→コマンドラインの使い方) |
(→コマンドラインインターフェイス) |
||
行43: | 行43: | ||
'name'キーに対応する値が、指定できるレーン名、のようである。 | 'name'キーに対応する値が、指定できるレーン名、のようである。 | ||
+ | |||
+ | === input_group_connects について === | ||
+ | 例えば、ab initioジョブを作成したいとして、その入力画像はJ20のものであるとする。 | ||
+ | |||
+ | J20のジョブパネルを開いて'Overview'を表示すると、右側のカラムに以下のような表示がある。(この例では、Select 2D classジョブ) | ||
+ | |||
+ | [[File:スクリーンショット_2020-09-11_194140.png|100px]] | ||
+ | |||
+ | 各小パネルの上部にparticles_selectedとかtemplates_selectedとか書いてあるが、これが結果の「グループ」名である。 | ||
+ | |||
+ | ab initioジョブにはparticles_selectedグループを渡したい。ジョブID J20のparticles_selectedは "J20.particles_selected" のようにして指定することができる。 | ||
+ | |||
+ | 一方 ab initioジョブでは、GUIであれば以下のような入力項目がある。 | ||
+ | |||
+ | [[File:スクリーンショット_2020-09-11_194742.png]] | ||
+ | |||
+ | particlesグループ が入力として必要であることがわかる。 | ||
+ | |||
+ | この例で、ab initioをコマンドラインから叩くときのinput_groups_connectsに何を渡せばよいかというと、以下のようなPythonのディクショナリを渡せばよい。 | ||
+ | <pre> | ||
+ | {'particles': 'J20.particles_selected'} | ||
+ | </pre> | ||
+ | |||
+ | このようにしてmake_jobしてenqueue_jobすると、ちょうどGUIで J20のparticles_selectedをドラッグしてab initioのparticlesへドロップして実行したのと同じことになる。 |
2020年9月11日 (金) 10:53時点における版
目次
メタデータファイル(.cs, .csg)の編集
https://cryosparc.com/docs/tutorials/data-management#faq-cs-csg
コマンドラインインターフェイス
リファレンスガイド
https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring/cli
参考になるスクリプト
cryosparc/cryosparc2_worker/cryosparc2_compute/jobs/workflows/buildrun_bench.py に、T20Sデータセットの自動処理が記述してある。
コマンドラインの使い方
基本的には以下の流れでジョブを作成してキューへ投下すれば良いようである。
1. make_jobでジョブを作成
$ cryosparcm cli "make_job(...)"
これを実行するとcryoSPARCのGUIの方でジョブパネルが出現し、ステータスがbuildingになる。
make_jobの中に何を書くかは、上記のリファレンスガイドやT20Sベンチマークスクリプトを眺めたり、cryosparc/cryosparc2master/cryosparc2_compute/jobs/ 内の各ジョブディレクトリの build.py を読むとなんとなく把握できる感がある。
user_idを渡す必要があるが、それは以下で確認できる。
$ cryosparcm cli "GetUser('<ユーザー登録に使用したメールアドレス>')['_id']"
2. enqueue_jobでスケジューラにジョブを投下
$ cryosparcm cli "enqueue_job('<プロジェクトID>', '<ジョブID>', '<レーン名>'"
プロジェクトIDはP1とかP2など。ジョブIDは手順1にて作成したジョブのID (J100とか)。レーン名は default としておけばスケジューラがよろしくやってくれる。
上記コマンドにより、GUIでQueueボタンを押したときと同様の処理が行われる。
使用可能なレーン名は、以下で確認できる。
$ cryosparcm cli "get_scheduler_lanes()" [{u'title': u'Lane default (node)', u'type': u'node', u'name': u'default', u'desc': u''}]
'name'キーに対応する値が、指定できるレーン名、のようである。
input_group_connects について
例えば、ab initioジョブを作成したいとして、その入力画像はJ20のものであるとする。
J20のジョブパネルを開いて'Overview'を表示すると、右側のカラムに以下のような表示がある。(この例では、Select 2D classジョブ)
各小パネルの上部にparticles_selectedとかtemplates_selectedとか書いてあるが、これが結果の「グループ」名である。
ab initioジョブにはparticles_selectedグループを渡したい。ジョブID J20のparticles_selectedは "J20.particles_selected" のようにして指定することができる。
一方 ab initioジョブでは、GUIであれば以下のような入力項目がある。
particlesグループ が入力として必要であることがわかる。
この例で、ab initioをコマンドラインから叩くときのinput_groups_connectsに何を渡せばよいかというと、以下のようなPythonのディクショナリを渡せばよい。
{'particles': 'J20.particles_selected'}
このようにしてmake_jobしてenqueue_jobすると、ちょうどGUIで J20のparticles_selectedをドラッグしてab initioのparticlesへドロップして実行したのと同じことになる。