cryspy-print

最終更新日:2026年10月16日

cryspy-print コマンド

v1.5.0以降では,cryspy-printコマンドでdata/pkl_data/にあるpickleファイルの内容を確認できる. CrySPY Utilityのprint_pkl.pyに代わるコマンドで,ファイルの種類に応じて内容や要約を表示する. rslt_data.pklでは,エネルギー順の表示,表示行数の指定,組成による絞り込み,結果ファイルの再出力もできる.

実行方法とオプション

cryspy-print infile [options]

入力ファイルは相対パスまたは絶対パスで指定できる.gzip圧縮したファイルも読み込み可能. ファイルの種類はファイル名で判別するため,rslt_data.pklなどの名前を変更せずに指定する.

引数・オプション説明
infile表示するpickleファイル.gzip圧縮したファイル(例:rslt_data.pkl.gz)も指定可能.
--no-sortrslt_data.pklをソートせず,保存されている行順で表示する.
--head N絞り込み・ソート後の先頭N行を表示する.Nは正の整数.
--tail N絞り込み・ソート後の末尾N行を表示する.Nは正の整数.
--all絞り込み・ソート後の全行を表示する.
-c N [N ...], --composition N [N ...]EA-vcのrslt_data.pklを,atypeの順に指定した組成比で絞り込む.
--writerslt_data.pklから./data/cryspy_rsltと./data/cryspy_rslt_energy_ascを再出力する.
-h, --helpヘルプを表示する.

--no-sort,--head,--tail,--all,--composition,--writeはrslt_data.pkl用のオプション. --head,--tail,--allは併用できない.--writeは表示用オプションと併用できない.

対応ファイルと表示内容

ファイル表示内容
input_data.pklセクションごとの入力設定.値がNoneの項目は表示しない.
init_struc_data.pkl,opt_struc_data.pkl,struc_step_data.pkl,elite_struc.pkl,init_dscrpt_data.pkl,opt_dscrpt_data.pkl保存されているデータの件数(Number of structures).構造ID一覧は表示しない.
rslt_data.pkl計算結果の表.デフォルトはエネルギーが低い順.
hdist_data.pkl最新世代と,その世代の構造数.空の場合はNo hull distance data.
pd_data.pkl最新世代と,その世代の安定エントリー数・全エントリー数.空の場合はNo phase diagram data.
cn_comb_data.pkl電荷中性条件の設定と,電荷中性を満たす組み合わせの数.cn_combがNoneの場合はその旨を表示する.

以下のファイルは内容を整形して表示する.

  • 共通:id_queueing.pkl,id_running.pkl,energy_step_data.pkl,force_step_data.pkl,stress_step_data.pkl,kpt_data.pkl,rng_state_data.pkl
  • EA:gen.pkl,ea_info.pkl,ea_origin.pkl,elite_fitness.pkl
  • EA-vc:nat_data.pkl
  • BO:n_selection.pkl,id_select_hist.pkl,bo_mean.pkl,bo_var.pkl,bo_score.pkl
  • LAQA:tot_step_select.pkl,laqa_energy.pkl,laqa_bias.pkl,laqa_score.pkl,laqa_step.pkl,laqa_struc.pkl

対応していないファイル名を指定するとエラーになる.

使用例

構造数・入力設定・fitnessの確認

cryspy-print ./data/pkl_data/init_struc_data.pkl

10件のデータが保存されている場合の表示:

Number of structures: 10

opt_struc_data.pklやelite_struc.pklも同様に構造数を表示する. 個々の構造を確認するには,cryspy-extract-strucの-pオプションを使用する.

cryspy-print ./data/pkl_data/input_data.pkl
cryspy-print ./data/pkl_data/elite_fitness.pkl

input_data.pklは[basic],[structure]などのセクションごとに設定を表示する. elite_fitness.pklは構造IDとfitnessの辞書を表示する.

計算結果の表示

cryspy-print ./data/pkl_data/rslt_data.pkl

Ef_eV_atom列がある場合はその値,ない場合はE_eV_atomの昇順で表示する. 100行以下なら全行を表示する.100行を超える場合は件数とソート条件を表示し,先頭100行を表示する.

cryspy-print ./data/pkl_data/rslt_data.pkl --head 10
cryspy-print ./data/pkl_data/rslt_data.pkl --tail 5
cryspy-print ./data/pkl_data/rslt_data.pkl --all

それぞれ,エネルギーが低い順に並べた表の先頭10行,末尾5行,全行を表示する. 保存されている行順で表示する場合は--no-sortを指定する.表示行数の指定とも併用できる.

cryspy-print ./data/pkl_data/rslt_data.pkl --no-sort --head 10

EA-vcの結果を組成で絞り込み

cryspy-print ./data/pkl_data/rslt_data.pkl -c 1 2 --head 10

atypeの順で組成比が1:2の構造に絞り込み,エネルギーが低い順に先頭10行を表示する. 原子数が(1, 2),(2, 4)など,比が等しい構造が対象となる. 元素数と同じ数の非負整数を指定し,少なくとも1つは正の整数にする. このオプションには,Num_atom列を持つEA-vcの結果が必要.該当する構造がない場合はその旨を表示する.

具体的な表示結果は,チュートリアル > EA-vc > 結果の確認 > 組成を指定して結果を確認を参照.

gzip圧縮したファイルの確認

cryspy-print ./data/pkl_data/rslt_data.pkl.gz --head 10

展開せずに読み込める.他の対応ファイルも同様にgzip圧縮したまま指定できる.

結果ファイルの再出力

cryspy.inがある実行ディレクトリで,次のように実行する.

cryspy-print ./data/pkl_data/rslt_data.pkl --write

以下のファイルを再出力する.既存のファイルは上書きされる.

  • ./data/cryspy_rslt:保存されている行順の結果表.
  • ./data/cryspy_rslt_energy_asc:Ef_eV_atom(列がなければE_eV_atom)の昇順の結果表.

出力先はコマンドを実行したディレクトリのdata/で,このディレクトリが必要. 実行内容はlog_cryspyにも記録される.