-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRules.Rmd
59 lines (44 loc) · 2.03 KB
/
Rules.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
---
title: "Rules"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Rules}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
# Rules for the package development
## Documentation
- Always indicate required params `(required)`
- Indicate default values only when (i) a set of values is possible [e.g `"bray"` for the parameter `method` in `vegan::vegdist()`] or (ii) when this value is well thought out and a good default value for most users [e.g. the number of permutation or processors, or the level of identity to cluster at 97%].
- Indicate the type for *logical* and *integer* params.
- Homogenize the params names across function.
- Prefer ASVs to OTUs denomination, even thought both are almost interchangeable in the MiscMetabar package.
## Lifecycle
- **Experimental**: First status for a function
- **Maturing**: Some tests and/or analyses make stronger these functions
- **Stable**: Good level of confidence
## Tests and examples
### Special cases of external softwares
Some examples and test required the installation of external softwares. I used MiscMetabar internal functions (such as [is_vsearch_installed()]) to conditionnaly test (`if(is_vsearch_installed()){...test...}`) and run examples `#' @examplesIf is_vsearch_installed()`.
### Special case of CRAN
I use `\donttest{}` for some long examples (in roxygen documentation) and `testthat::skip_on_cran()` in long test.
### Special case of windows
Some tests and examples are not tested on windows. I used `testthat::skip_on_os("windows")` inside test and `#' @examplesIf tolower(Sys.info()[["sysname"]]) != "windows"` in examples (roxygen documentation). Here is a list of functions with some limitations or not working at all on windows OS:
- `build_phytree_pq()`
- `count_seq()`
- `cutadapt_remove_primers()`
- `krona()`
- `merge_krona()`
- `multipatt_pq()`
- `plot_tsne_pq()`
- `rotl_pq()`
- `save_pq()`
- `tax_datatable()`
- `track_wkflow()`
- `track_wkflow_samples()`
- `tsne_pq()`
- `venn_pq()`
# Session information
```{r}
sessionInfo()
```