3  Data module

3.1 Importing data

The data module is the starting point when you open FXMATE. The first step of any analysis is to upload the data.

Refresh required before uploading new data

Note that after loading a dataset, the data upload is blocked and the button Refresh to upload new data occurs in its place. This is a safety feature to warrant 100% reproducible analyses. FXMATE has inputs that dynamically appear and adjust to your data, guiding your way toward the best possible analysis. To avoid any carryover of old settings to the new data (e.g., due to caching), FXMATE always starts with cleaned-up settings.

Once loaded, information will be extracted from the template’s meta data to show the detected guideline and supply the needed options for the other inputs. Using selectable inputs for dose and response is necessary for compatibility with data from test guidelines that have multiple endpoints. Furthermore, FXMATE recognizes the data type of the response (e.g., continuous or binomial), which warrants correct statistical procedures. Moreover, FXMATE offers the inclusion of up to two “grouping columns”. The columns selected should be categorical and serve two functions:

  1. Grouping the data: All statistical procedures and calculations will be done separately for each level of the grouping variable.
  2. Filtering the data: When selecting a grouping variable, all levels are shown in a box below. Unwanted levels of the grouping variable can be removed via this input.

Considerations when grouping data

Grouping data is an important decision. This is because all model procedures and calculations will be done separately for each level of the grouping variable but use the same methodology. Although this is reasonable for most use cases, you might want to consider running different methods and models on different group levels (e.g., if one group level can be analyzed with parametric tests but the other requires non-parametric methods). For this, filter the data by the group levels and analyse them independently.

3.2 Solvent Control

Every FXMATE template has a separate column named Solvent to indicate if a solvent was added to the treatment. This column should be left blank if no solvent was used. In case a solvent is used, replicates should be coded 0 for “solvent absent” and 1 for “solvent present”. The control replicates will be tested for statistical differences between solvent levels using either Fisher’s exact test or Wilcoxon rank-sum test for binary and continuous data, respectively. If response values differ significantly between solvent levels, FXMATE ensures that only the solvent control can be used for subsequent analyses. If, however, no statistical difference is present between solvent levels, the user can decide to either combine the control or still only use the solvent control. For this, a box for test-specific controls>/code> will open in the sidebar.

3.3 Preprocessing

Many guidelines require elaborate preprocessing of the raw data. Oftentimes these procedures are not very comprehensibly formulated in guidelines. Fortunately, FXMATE does all the preprocessing completely automatic. Since every guideline requires a specific (or no) preprocessing, the precise steps are further elucidated in subsequent chapters.

3.3.1 OECD 201: Freshwater Alga and Cyanobacteria, Growth Inhibition Test

This guideline requires the calculation of Yield and Growth rate from the raw values of the algal biomass proxy (X) calculated from the start time (t0) and the time of observation (ti).

\[ Yield = X_{t_i} - X_{t_0} \]

\[ {Growth~rate} = \frac{ln(X_{t_i}) - ln(X_{t_0})}{t_{t_i} - t_{t_0}} \]

FXMATE allows to include technical replicates (i.e., repeated measurements of the biomass proxy) in the raw data.