cryspy-extract-struc

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

cryspy-extract-struc コマンド

v1.5.0以降では,cryspy-extract-strucコマンドでinit_struc_data.pklやopt_struc_data.pklから構造を抽出し,cifファイルとして保存できる. CrySPY Utilityのextract_struc.pyをCrySPYに組み込んだコマンド.ファイル出力せず,構造情報を画面に表示することもできる.

実行方法とオプション

cryspy-extract-struc infile [options]

入力ファイルは相対パスまたは絶対パスで指定できる.cifファイルはコマンドを実行したディレクトリに保存される. -i,-a,-tのいずれか1つを指定する.これらは併用できない.

引数・オプション説明
infile構造データのpickleファイル.init_struc_data.pkl,opt_struc_data.pklなど.gzip圧縮したファイルも読み込み可能.
-i INDEX [INDEX ...], --index INDEX [INDEX ...]抽出する構造IDを指定する.複数指定可能.
-a, --all_id入力ファイル内の全構造を抽出する.
-t TOP, --top TOPrslt_data.pklのE_eV_atomが低い順に,指定した構造数を抽出する.
-p, --printcifを出力せず,構造情報を画面に表示する.
-r, --rank-tと併用し,出力ファイル名の先頭に順位を付ける.
-s, --symmetrized対称性情報付きのcifを出力する.
--tolerance TOLERANCE-sで対称性を判定する際の許容値.デフォルトは0.01.
-h, --helpヘルプを表示する.

使用例

構造IDを指定して抽出

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl -i 0 1

構造IDが0,1の構造を,カレントディレクトリの0.cif,1.cifに保存する.存在しないIDは警告を出してスキップする.

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl -i 0 1 -p

-pを付けると,cifファイルを作成せず,構造IDと構造情報を画面に表示する.

エネルギー上位の構造を抽出

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl -t 3

エネルギーが低い順に3構造を抽出する.入力ファイルと同じディレクトリにrslt_data.pklが必要. 出力ファイル名は{ID}.cifとなる.

-rも指定すると,順位を含む{rank}_{ID}.cifとなる.順位は1から始まる.

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl -t 3 -r

全構造を抽出

cryspy-extract-struc ./data/pkl_data/init_struc_data.pkl -a

全初期構造を{ID}.cifとして保存する.

対称性情報付きで出力

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl -i 0 1 -s --tolerance 0.01

-sを付けると,空間群などの対称性情報を含むcifを出力する.--toleranceは省略可能. 対称性情報を付ける際に,セルの表現や原子数が変わる場合がある.

gzip圧縮したファイルから抽出

cryspy-extract-struc ./data/pkl_data/opt_struc_data.pkl.gz -i 0 1

gzip圧縮した構造データは,展開せずに読み込める.-a,-t,-p,-sなども同様に使用できる. -tを使う場合は,圧縮した入力ファイルと同じディレクトリにrslt_data.pklを置く.