GIXStapose is an interactive analysis tool for for studying semi-crystalline and soft materials structures. It enables grazing incidence X-ray scattering (GIXS) patterns to be visualized while interactively rotating chemical structures, especially periodic simulation volumes generated from molecular simulations.
This functionality is useful for interactively identifying real-space chemical features that correspond to bright diffraction peaks and the rotation matrices that generate them. As such, this tool has potential to aid in the reproducible generation of figures that include both GIXS and structural data, and it has pedagogical potential for students learning about crystal structures and diffraction.
GIXStapose is made possible by open-source packages, including the high-quality rendering of the Fresnel ray-tracer, the ability to read in multiple chemical file formats of MBuild, and numpy's fast Fourier implementations used in interactive diffraction analysis, and by funding from the National Science Foundation (#1835593)
Click the binder link to see an example using the gixstapose library for generating reproducible figures and scattering patterns:
- Jul 31, 2020: GIXStapose's diffraction code has been added as a module in Freud!
To install GIXStapose you will need the conda package manager (we recommend Miniconda)
- Clone this repo
git clone git@github.com:cmelab/GIXStapose.git;
cd GIXStapose
- Using conda, create and activate your environment
conda env create -f environment.yml;
conda activate gixstapose
- With the environment active, install this package
pip install .
To run a simple cubic example:
gixstapose
To load an input file format supported by MDTraj (e.g., pdb, xml, dcd, xyz, hoomdxml) or a gsd file:
gixstapose -i INPUTFILE