cfg2cif プログラム仕様
- 概要:
CFGファイルをCIFファイルに変換するスクリプトです。
- 詳細説明:
Open-CFG形式のファイルから結晶構造情報を読み込み、CIF (Crystallographic Information File) 形式に変換して出力します。 このスクリプトは、格子ベクトルの読み込み、原子サイトの座標処理 (必要に応じて[0,1)範囲への丸め込み、指定範囲外の除外)をサポートします。
- 関連リンク:
cfg2cif_usage
- crystal.cfg2cif.cfg2cif()
- 概要:
グローバル変数で指定されたCFGファイルを読み込み、CIFファイルに変換して保存します。
- 詳細説明:
read_cfgfile関数を呼び出してCFGファイルから結晶情報を取得し、tkCrystalオブジェクトを生成します。 その後、そのtkCrystalオブジェクトを使用してtkCIFDataオブジェクトを生成し、 最終的にCIFファイルとして情報をciffileに書き出します。 処理の最後に terminate 関数が呼ばれ、スクリプトの利用方法が表示されます。
- crystal.cfg2cif.main()
- 概要:
スクリプトのエントリポイントです。
- 詳細説明:
コマンドライン引数の処理 (updatevars) と、 CFGからCIFへの変換処理 (cfg2cif) を順に実行します。 スクリプトの開始時と終了時にメッセージを出力します。
- crystal.cfg2cif.read_cfgfile(cfgfile)
- 概要:
指定されたCFGファイルを読み込み、tkCrystalオブジェクトを構築します。
- 詳細説明:
CFGファイルからサンプル名、総原子数、格子ベクトル、各原子サイトの座標と原子種を抽出します。 格子ベクトルの[0]行目が2倍されている点に注意が必要です。 抽出された情報をもとにtkCrystalオブジェクトを初期化し、原子サイトを追加します。 freduce01が真の場合、原子座標は[0,1)範囲に正規化され、 xlim, ylim, zlimで指定された範囲外の原子は除外されます。
- 引数:
- param cfgfile:
読み込むCFGファイルのパス。
- type cfgfile:
str
- 戻り値:
- returns:
構築されたtkCrystalオブジェクト。ファイルの読み込みに失敗した場合はNoneを返す。
- rtype:
tkCrystal or None
- crystal.cfg2cif.updatevars()
- 概要:
コマンドライン引数を解析し、グローバル設定変数を更新します。
- 詳細説明:
sys.argv から引数を取得し、cfgfile, freduce01, xlim, ylim, zlim などの グローバル変数を設定します。入力CFGファイル名に基づいて出力CIFファイル名も決定します。 引数の取得には getarg, getintarg, getfloatarg を使用します。
- crystal.cfg2cif.usage()
- 概要:
スクリプトのコマンドライン引数の利用方法を表示します。
- 詳細説明:
スクリプト実行時に指定可能な引数(入力CFGファイル名、座標の[0,1)範囲への削減フラグ、 座標の出力範囲リミット)とその意味を示します。