I am trying to use a program such as Vesta or Avogadro to build a super cell from a .cif file for a molecular crystal. In neither program can I seem to figure out how to order the output of the coordinates. For example, I would like atom1-molecule1, atom2-molecule1, atom3-molecule1, followed by atom1-molecule2, atom2-molecule2, atom3-molecule2, etc., but I cannot seem to do so. How do I do this? It seems I can sort by x, y, z, or element type, but not by molecule, which I don't understand. If not with these tools, is there some other one to use?
One option is to use the Atomic Simulation Environment's sort function. The function
ase.build.sort() takes a required
Atoms object (e.g. the supercell of the original CIF) and an optional
tags argument that allows you to sort however you wish. It's then just up to you to find out how to flag each individual molecule in the order that you'd like.
This is in Avogadro 1.2.0. I will check behavior on Avogadro 2 later:
- File -> Open -> Choose your cif file
- Build -> Super Cell Builder -> Choose the number of repeats
- File -> Save As -> Choose desired file type (XYZ and PDB work. Avogadro 1.2.0 seems to lock up on my system when I try to write mol2 files by this procedure.
I would guess that maybe you tried this already, so maybe there is some problem with related to the cif file you are using. If the above doesn't work, maybe you could try with another cif file.