--- title: "Read SHELXC/D/E log file" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Read SHELXC/D/E log file} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ## Introduction The aim of this tutorial is to load the content of the log file, in output from SHELXC/D/E, in the workspace and create dataframes that can be used for further analysis or data visualisation. The `cry` function `read_SHELX_log` can load in the R working memory all the log files in output from SHELXC/D/E and give in output a dataframe for SHELXC/D and a list of dataframes for SHELXE. ## Sample SHELXC/D/E log files. Some sample files are stored as external data in this package. Among them there are the SHELXC/D/E log files available with the current release. To access the files, first load the `cry` package. ```{r setup} library(cry) library(ggplot2) ``` Next, have a look at what is included in the external-data directory of `cry`. ```{r echo=TRUE} datadir <- system.file("extdata",package="cry") all_files <- list.files(datadir) print(all_files) ``` ## SHELXC Let start to have look at SHELXC log file. ```{r echo=TRUE} filename <- file.path(datadir,"shelxc.log") obj_shelxc <- read_SHELX_log(filename) class(obj_shelxc) names(obj_shelxc) ``` Using cry we plot all the classic charts of SHELXC. In the example below we show $Chis ^2$ vs resolution using the function`plot_SHELX`. ```{r} plot_SHELX(obj_shelxc, var = obj_shelxc$Chi_sq, type = "shelxc", title_chart = "Chis ^2") + theme_cry() ``` ## SHELXD ```{r echo=TRUE} filename <- file.path(datadir,"shelxd.log") obj_shelxd <- read_SHELX_log(filename) class(obj_shelxd) names(obj_shelxd) ``` Plot CCall vs CCweak using ggplot2 ```{r, fig_width = 16, fig_height= 14} plot_SHELX(filename = obj_shelxd, type = "shelxd") + theme_cry() ``` ## SHELXE The function `read_SHELX_log` when reading log files from SHELXE five in output a list of dataframes. The user can choose the data frame to use for further analysis. ```{r echo=TRUE} ## read the two hands log files separately filename_i <- file.path(datadir,"shelxe_i.log") obj_shelxe_i <- read_SHELX_log(filename_i) class(obj_shelxe_i) names(obj_shelxe_i) cycle_i <- obj_shelxe_i$CYCLE class(cycle_i) names(cycle_i) FOM_mapCC_i <- obj_shelxe_i$FOM_mapCC class(FOM_mapCC_i) names(FOM_mapCC_i) Site1_i <- obj_shelxe_i$Site1 class(Site1_i) names(Site1_i) Site2_i <- obj_shelxe_i$Site2 class(Site2_i) names(Site2_i) filename_o <- file.path(datadir,"shelxe_o.log") obj_shelxe_o <- read_SHELX_log(filename_o) class(obj_shelxe_o) names(obj_shelxe_o) cycle_o <- obj_shelxe_o$CYCLE class(cycle_i) names(cycle_i) FOM_mapCC_0 <- obj_shelxe_o$FOM_mapCC class(FOM_mapCC_i) names(FOM_mapCC_i) Site1_o <- obj_shelxe_o$Site1 class(Site1_i) names(Site1_i) Site2_o <- obj_shelxe_o$Site2 class(Site2_i) names(Site2_i) ``` Plot inverted and original hand. ```{r} plot_SHELX(filename = obj_shelxe_i, filename_e = obj_shelxe_o, type = "shelxe") + theme_cry() ```