# Changelog 0.1

## sceptre 0.1.0

Version 0.1.0 is a major update to `sceptre`. Usability and speed are improved considerably.

### Usability

- There is now a single interface to the `sceptre` algorithm: the function `run_sceptre_high_moi` (previously called `run_sceptre_in_memory`). The function `run_sceptre_gRNA_gene_pair`, which was redundant, is now deprecated.

- `run_sceptre_high_moi` is much simpler to use. `run_sceptre_high_moi` now has only four required arguments: `gene_matrix` (previously called `expression_matrix`), `gRNA_matrix` (previously called `expression_matrix`), `covariate_matrix`, and `gene_gRNA_pairs`. The formerly required arguments `storage_dir` and `side` are now set to `tempdir()` and “both” by default. Additionally, the argument `pod_sizes` is removed entirely (and handled internally).

- `run_sceptre_high_moi` has the additional optional arguments `full_output` and `parallel`. `full_output` controls the complexity of the data frame outputted by the method. When `full_output` is set to FALSE (the default), `run_sceptre_high_moi` outputs a data frame with four columns only, all of which are easy to interpret: `gene_id`, `gRNA_id`, `p_value`, and `z_value`. `parallel` controls whether the function is parallelized (TRUE; default) or not (FALSE).

- `run_sceptre_high_moi` now accepts a raw (i.e., unthresholded) gRNA matrix or a user-thresholded gRNA matrix.

- The new auxiliary function `combine_gRNAs` combines gRNAs that target the same chromosomal site, facilitating this common analysis step.

- Numerous checks have been added to `run_sceptre_high_moi` ensure that the input is valid. For example, `run_sceptre_high_moi` checks that gene IDs and gRNA IDs in `gene_gRNA_pairs` are in fact present in `gene_matrix` and `gRNA_matrix`, respectively.

### Speed

Two accelerations have been added to improve execution speed.