====== ASE出力ライブラリ ======
===== xyz =====
The function WriteXYZ from module xyz can write a ASE Listofatoms or a trajectory in the the xyz file format.
3
This line is a comment.
O 2.5 2.5 2.5
H 3.6 2.5 2.5
H 2.5 3.6 2.5
3
Frame: 0
O 2.5 2.5 2.5
H 3.6 2.5 2.5
H 2.5 3.6 2.5
3
Frame: 1
O 2.5 2.5 2.5
H 3.8 2.5 2.5
H 2.5 3.6 2.5
3
Frame: 2
O 2.5 2.5 2.5
H 4.0 2.5 2.5
H 2.5 3.6 2.5
3
Frame: 3
O 2.5 2.5 2.5
H 4.2 2.5 2.5
H 2.5 3.6 2.5
The WriteXYZ function is used like:
>>> from ASE.IO.xyz import WriteXYZ
>>> WriteXYZ(filename,atoms=listofatoms)
for writing a single frame xyz file, or it can be used like:
>>> from ASE.IO.xyz import WriteXYZ
>>> WriteXYZ(filename,trajectory=trajectory)
for writing a multiple frame xyz file.
The ReadXYZ function will read an xyz-file and return ListOfAtoms object.
===== PDB =====
PDBファイル形式よりもXYZファイル形式のほうが圧倒的に簡単なので、まずはXYZファイル形式を利用して下さい。
個々の原子を原子種(元素)で色分けするのではなく別の基準、例えば温度で色分けするような場合はPDBファイルが便利です。
The function WritePDB from module PDB can write a ASE Listofatoms object in the the Protein Data Band (PDB)file format.
The WritePDB function is used like:
>>> from ASE.IO.PDB import WritePDB
>>> WritePDB(listofatoms,filename)
The module converts to the Angstrom length unit used in the PDB file format. ...
===== Gaussian Cube file =====
Gaussian Cubeファイル形式は、元々は第一原理分子軌道計算のソフトウェアパッケージとして有名なGaussianで使うことを想定したファイル形式で、原子位置などだけではなく電荷密度などの3次元的なデータを記述することができるファイル形式です。
''ASE.IO.Cube''モジュールには''WriteCube''関数が用意されており、ASEの''ListOfAtoms''オブジェクトの単位格子と原子座標の情報とともに任意の配列データをCubeファイル形式でファイルに書き出すことができます。
書き出す3次元データはListOfAtomオブジェクトの単位格子内で定義された実数の3次元配列です。
''WriteCube''関数は
>>> from ASE.IO.Cube import WriteCube
>>> WriteCube(listofatoms,numarray,filename)
のように使用します。
開発元(CAMP)では主にこのCubeファイル形式を[[:software:vmd|VMD]]の入力ファイルとして使用することが想定されているようですが、VESTAでも使用できます。ただし、VESTAで使用する際には単位格子が斜方晶(単位格子ベクトルが互いに直交する)でない場合正しく表示されません。[[:ab_initio:makevestafileスクリプト|適当なWrapperを書く必要]]があります。
Cubeファイル形式の3次元データは実数でなければならないわけですが、もし''WriteCube''関数に複素数の配列が渡されたときには、一方には複素配列の絶対値が、他方にはその位相が書き出された二つのCubeファイルが作成されます。この位相のデータはVMDで等値面を描くときに色分けのデータとして使用されます。