diff --git a/main/404.html b/main/404.html
index 89504cbc..9e3093f6 100644
--- a/main/404.html
+++ b/main/404.html
@@ -35,6 +35,16 @@
Articles
Changelog
+
+ Versions
+
diff --git a/main/CODE_OF_CONDUCT.html b/main/CODE_OF_CONDUCT.html
index 3500cd69..cf323acc 100644
--- a/main/CODE_OF_CONDUCT.html
+++ b/main/CODE_OF_CONDUCT.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/CONTRIBUTING.html b/main/CONTRIBUTING.html
index bb4cc388..58890915 100644
--- a/main/CONTRIBUTING.html
+++ b/main/CONTRIBUTING.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/LICENSE-text.html b/main/LICENSE-text.html
index f2daa7f9..6857c10f 100644
--- a/main/LICENSE-text.html
+++ b/main/LICENSE-text.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/SECURITY.html b/main/SECURITY.html
index 3db04b2b..6a2758d6 100644
--- a/main/SECURITY.html
+++ b/main/SECURITY.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/articles/Getting_Started.html b/main/articles/Getting_Started.html
index c33fd019..fb630f7d 100644
--- a/main/articles/Getting_Started.html
+++ b/main/articles/Getting_Started.html
@@ -35,6 +35,16 @@
Articles
Changelog
+
+ Versions
+
diff --git a/main/articles/index.html b/main/articles/index.html
index 0c305345..07c3b768 100644
--- a/main/articles/index.html
+++ b/main/articles/index.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/authors.html b/main/authors.html
index ff4c94b0..d5ec0ae6 100644
--- a/main/authors.html
+++ b/main/authors.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/index.html b/main/index.html
index c02ced5d..2ada340f 100644
--- a/main/index.html
+++ b/main/index.html
@@ -37,6 +37,16 @@
Articles
Changelog
+
+ Versions
+
diff --git a/main/news/index.html b/main/news/index.html
index 8a02e93e..d49c8707 100644
--- a/main/news/index.html
+++ b/main/news/index.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/reference/adtteSpecInput.html b/main/reference/adtteSpecInput.html
index f96b1636..1e036d29 100644
--- a/main/reference/adtteSpecInput.html
+++ b/main/reference/adtteSpecInput.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/adtteSpecServer.html b/main/reference/adtteSpecServer.html
index 87ecc383..91a8a554 100644
--- a/main/reference/adtteSpecServer.html
+++ b/main/reference/adtteSpecServer.html
@@ -29,6 +29,16 @@
Articles
Changelog
diff --git a/main/reference/assaySpecInput.html b/main/reference/assaySpecInput.html
index 5d072d00..ea9b1542 100644
--- a/main/reference/assaySpecInput.html
+++ b/main/reference/assaySpecInput.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/assaySpecServer.html b/main/reference/assaySpecServer.html
index 1493ca2c..9d23fa01 100644
--- a/main/reference/assaySpecServer.html
+++ b/main/reference/assaySpecServer.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/assert_adtte_vars.html b/main/reference/assert_adtte_vars.html
index 27eb1a05..92d58d5c 100644
--- a/main/reference/assert_adtte_vars.html
+++ b/main/reference/assert_adtte_vars.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/assert_summary_funs.html b/main/reference/assert_summary_funs.html
index dfb00474..b392f08c 100644
--- a/main/reference/assert_summary_funs.html
+++ b/main/reference/assert_summary_funs.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/assertion_arguments.html b/main/reference/assertion_arguments.html
index 9b20e111..9aa7010c 100644
--- a/main/reference/assertion_arguments.html
+++ b/main/reference/assertion_arguments.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/assertions.html b/main/reference/assertions.html
index 6c6b6b34..870496a8 100644
--- a/main/reference/assertions.html
+++ b/main/reference/assertions.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/check_reactive.html b/main/reference/check_reactive.html
index 604ec422..94dd24e8 100644
--- a/main/reference/check_reactive.html
+++ b/main/reference/check_reactive.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/check_tag.html b/main/reference/check_tag.html
index deccf4ec..321e856b 100644
--- a/main/reference/check_tag.html
+++ b/main/reference/check_tag.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/experimentSpecInput.html b/main/reference/experimentSpecInput.html
index 4fe97c1b..74908aa3 100644
--- a/main/reference/experimentSpecInput.html
+++ b/main/reference/experimentSpecInput.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/experimentSpecServer.html b/main/reference/experimentSpecServer.html
index b20a4022..96b22a64 100644
--- a/main/reference/experimentSpecServer.html
+++ b/main/reference/experimentSpecServer.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/function_arguments.html b/main/reference/function_arguments.html
index ffe3f22c..0de8c176 100644
--- a/main/reference/function_arguments.html
+++ b/main/reference/function_arguments.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/geneSpecInput.html b/main/reference/geneSpecInput.html
index ef673aaf..19f530c7 100644
--- a/main/reference/geneSpecInput.html
+++ b/main/reference/geneSpecInput.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/geneSpecServer.html b/main/reference/geneSpecServer.html
index 330f3f6c..d7c7c54c 100644
--- a/main/reference/geneSpecServer.html
+++ b/main/reference/geneSpecServer.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/h_assign_to_group_list.html b/main/reference/h_assign_to_group_list.html
index 2bea7544..05426d15 100644
--- a/main/reference/h_assign_to_group_list.html
+++ b/main/reference/h_assign_to_group_list.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/h_collapse_levels.html b/main/reference/h_collapse_levels.html
index b6dd92e3..01562f25 100644
--- a/main/reference/h_collapse_levels.html
+++ b/main/reference/h_collapse_levels.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/h_extract_words.html b/main/reference/h_extract_words.html
index c9a62c44..b3f90e3b 100644
--- a/main/reference/h_extract_words.html
+++ b/main/reference/h_extract_words.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/h_gene_data.html b/main/reference/h_gene_data.html
index 7931d39f..a877b675 100644
--- a/main/reference/h_gene_data.html
+++ b/main/reference/h_gene_data.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/h_km_mae_to_adtte.html b/main/reference/h_km_mae_to_adtte.html
index 53f30e14..3ab42d6b 100644
--- a/main/reference/h_km_mae_to_adtte.html
+++ b/main/reference/h_km_mae_to_adtte.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/h_order_genes.html b/main/reference/h_order_genes.html
index f2053c6a..eb3f9cb0 100644
--- a/main/reference/h_order_genes.html
+++ b/main/reference/h_order_genes.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/h_parse_genes.html b/main/reference/h_parse_genes.html
index c9e3a1f0..84f4f89a 100644
--- a/main/reference/h_parse_genes.html
+++ b/main/reference/h_parse_genes.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/h_update_gene_selection.html b/main/reference/h_update_gene_selection.html
index a6ce881f..8b506195 100644
--- a/main/reference/h_update_gene_selection.html
+++ b/main/reference/h_update_gene_selection.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/heatmap_plot.html b/main/reference/heatmap_plot.html
index ee9d2d45..0d53c047 100644
--- a/main/reference/heatmap_plot.html
+++ b/main/reference/heatmap_plot.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/include_css_files.html b/main/reference/include_css_files.html
index 7798ed05..237903a3 100644
--- a/main/reference/include_css_files.html
+++ b/main/reference/include_css_files.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/include_js_files.html b/main/reference/include_js_files.html
index 3c3fce48..887647f3 100644
--- a/main/reference/include_js_files.html
+++ b/main/reference/include_js_files.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/index.html b/main/reference/index.html
index 4ef0ba96..e0723588 100644
--- a/main/reference/index.html
+++ b/main/reference/index.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/reference/is_blank.html b/main/reference/is_blank.html
index 0bc52c56..b2b19414 100644
--- a/main/reference/is_blank.html
+++ b/main/reference/is_blank.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/module_arguments.html b/main/reference/module_arguments.html
index 81a883e5..654d33a9 100644
--- a/main/reference/module_arguments.html
+++ b/main/reference/module_arguments.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/multiSampleVarSpecServer.html b/main/reference/multiSampleVarSpecServer.html
index 689b4d1b..3639f1fd 100644
--- a/main/reference/multiSampleVarSpecServer.html
+++ b/main/reference/multiSampleVarSpecServer.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/rADTTE.html b/main/reference/rADTTE.html
index 73c79f8b..b300eb51 100644
--- a/main/reference/rADTTE.html
+++ b/main/reference/rADTTE.html
@@ -19,6 +19,16 @@
Articles
Changelog
diff --git a/main/reference/sampleVarSpecInput.html b/main/reference/sampleVarSpecInput.html
index e0cadc8a..d3ee64b8 100644
--- a/main/reference/sampleVarSpecInput.html
+++ b/main/reference/sampleVarSpecInput.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/sampleVarSpecServer.html b/main/reference/sampleVarSpecServer.html
index 68bfc1fe..8c7d260f 100644
--- a/main/reference/sampleVarSpecServer.html
+++ b/main/reference/sampleVarSpecServer.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/teal.modules.hermes-package.html b/main/reference/teal.modules.hermes-package.html
index becb34b8..e379a31d 100644
--- a/main/reference/teal.modules.hermes-package.html
+++ b/main/reference/teal.modules.hermes-package.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_barplot.html b/main/reference/tm_g_barplot.html
index 917c13e4..8f03f2dc 100644
--- a/main/reference/tm_g_barplot.html
+++ b/main/reference/tm_g_barplot.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_boxplot.html b/main/reference/tm_g_boxplot.html
index c110a2e4..87e855dc 100644
--- a/main/reference/tm_g_boxplot.html
+++ b/main/reference/tm_g_boxplot.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_forest_tte.html b/main/reference/tm_g_forest_tte.html
index c16091bb..c9ceac81 100644
--- a/main/reference/tm_g_forest_tte.html
+++ b/main/reference/tm_g_forest_tte.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_km.html b/main/reference/tm_g_km.html
index 5f1389ee..67b75d2e 100644
--- a/main/reference/tm_g_km.html
+++ b/main/reference/tm_g_km.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_pca.html b/main/reference/tm_g_pca.html
index 65815ea7..cbe9735d 100644
--- a/main/reference/tm_g_pca.html
+++ b/main/reference/tm_g_pca.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_quality.html b/main/reference/tm_g_quality.html
index 00281093..9482d887 100644
--- a/main/reference/tm_g_quality.html
+++ b/main/reference/tm_g_quality.html
@@ -25,6 +25,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_scatterplot.html b/main/reference/tm_g_scatterplot.html
index 7d11f84a..1a6152ca 100644
--- a/main/reference/tm_g_scatterplot.html
+++ b/main/reference/tm_g_scatterplot.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/tm_g_volcanoplot.html b/main/reference/tm_g_volcanoplot.html
index 2682b8d9..d0f4080d 100644
--- a/main/reference/tm_g_volcanoplot.html
+++ b/main/reference/tm_g_volcanoplot.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/top_gene_plot.html b/main/reference/top_gene_plot.html
index edf16163..3bcf6808 100644
--- a/main/reference/top_gene_plot.html
+++ b/main/reference/top_gene_plot.html
@@ -21,6 +21,16 @@
Articles
Changelog
diff --git a/main/reference/validate_gene_spec.html b/main/reference/validate_gene_spec.html
index cedd2971..109640e4 100644
--- a/main/reference/validate_gene_spec.html
+++ b/main/reference/validate_gene_spec.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/reference/validate_n_levels.html b/main/reference/validate_n_levels.html
index 5aab16fc..7a848cc0 100644
--- a/main/reference/validate_n_levels.html
+++ b/main/reference/validate_n_levels.html
@@ -23,6 +23,16 @@
Articles
Changelog
diff --git a/main/search.json b/main/search.json
index 54845814..3925dcc0 100644
--- a/main/search.json
+++ b/main/search.json
@@ -1 +1 @@
-[{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement [INSERT CONTACT METHOD]. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contribution Guidelines","title":"Contribution Guidelines","text":"🙏 Thank taking time contribute! input deeply valued, whether issue, pull request, even feedback, regardless size, content scope.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"table-of-contents","dir":"","previous_headings":"","what":"Table of contents","title":"Contribution Guidelines","text":"👶 Getting started 📔 Code Conduct 🗃 License 📜 Issues 🚩 Pull requests 💻 Coding guidelines 🏆 Recognition model ❓ Questions","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Contribution Guidelines","text":"Please refer project documentation brief introduction. Please also see articles within project documentation additional information.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contribution Guidelines","text":"Code Conduct governs project. Participants contributors expected follow rules outlined therein.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"license","dir":"","previous_headings":"","what":"License","title":"Contribution Guidelines","text":"contributions covered project’s license.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"issues","dir":"","previous_headings":"","what":"Issues","title":"Contribution Guidelines","text":"use GitHub track issues, feature requests, bugs. submitting new issue, please check issue already reported. issue already exists, please upvote existing issue 👍. new feature requests, please elaborate context benefit feature users, developers, relevant personas.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"github-flow","dir":"","previous_headings":"Pull requests","what":"GitHub Flow","title":"Contribution Guidelines","text":"repository uses GitHub Flow model collaboration. submit pull request: Create branch Please see branch naming convention . don’t write access repository, please fork . Make changes Make sure code passes checks imposed GitHub Actions well documented well tested unit tests sufficiently covering changes introduced Create pull request (PR) pull request description, please link relevant issue (), provide detailed description change, include assumptions. Address review comments, Post approval Merge PR write access. Otherwise, reviewer merge PR behalf. Pat back Congratulations! 🎉 now official contributor project! grateful contribution.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"branch-naming-convention","dir":"","previous_headings":"Pull requests","what":"Branch naming convention","title":"Contribution Guidelines","text":"Suppose changes related current issue current project; please name branch follows: _. Please use underscore (_) delimiter word separation. example, 420_fix_ui_bug suitable branch name change resolving UI-related bug reported issue number 420 current project. change affects multiple repositories, please name branches follows: __. example, 69_awesomeproject_fix_spelling_error reference issue 69 reported project awesomeproject aims resolve one spelling errors multiple (likely related) repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"monorepo-and-stageddependencies","dir":"","previous_headings":"Pull requests","what":"monorepo and staged.dependencies","title":"Contribution Guidelines","text":"Sometimes might need change upstream dependent package(s) able submit meaningful change. using staged.dependencies functionality simulate monorepo behavior. dependency configuration already specified project’s staged_dependencies.yaml file. need name feature branches appropriately. exception branch naming convention described . Please refer staged.dependencies package documentation details.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"coding-guidelines","dir":"","previous_headings":"","what":"Coding guidelines","title":"Contribution Guidelines","text":"repository follows unified processes standards adopted maintainers ensure software development carried consistently within teams cohesively across repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"style-guide","dir":"","previous_headings":"Coding guidelines","what":"Style guide","title":"Contribution Guidelines","text":"repository follows standard tidyverse style guide uses lintr lint checks. Customized lint configurations available repository’s .lintr file.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"dependency-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency management","title":"Contribution Guidelines","text":"Lightweight right weight. repository follows tinyverse recommedations limiting dependencies minimum.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"dependency-version-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency version management","title":"Contribution Guidelines","text":"code compatible (!) historical versions given dependenct package, required specify minimal version DESCRIPTION file. particular: development version requires (imports) development version another package - required put abc (>= 1.2.3.9000).","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"r--package-versions","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"R & package versions","title":"Contribution Guidelines","text":"continuously test packages newest R version along recent dependencies CRAN BioConductor. recommend working environment also set way. can find details R version packages used R CMD check GitHub Action execution log - step prints R sessionInfo(). discover bugs older R versions older set dependencies, please create relevant bug reports.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"pre-commit","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"pre-commit","title":"Contribution Guidelines","text":"highly recommend use pre-commit tool combined R hooks pre-commit execute checks committing pushing changes. Pre-commit hooks already available repository’s .pre-commit-config.yaml file.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"recognition-model","dir":"","previous_headings":"","what":"Recognition model","title":"Contribution Guidelines","text":"mentioned previously, contributions deeply valued appreciated. contribution data available part repository insights, recognize significant contribution hence add contributor package authors list, following rules enforced: Minimum 5% lines code authored* (determined git blame query) top 5 contributors terms number commits lines added lines removed* *Excluding auto-generated code, including limited roxygen comments renv.lock files. package maintainer also reserves right adjust criteria recognize contributions.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/CONTRIBUTING.html","id":"questions","dir":"","previous_headings":"","what":"Questions","title":"Contribution Guidelines","text":"questions regarding contribution guidelines, please contact package/repository maintainer.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/SECURITY.html","id":"reporting-security-issues","dir":"","previous_headings":"","what":"Reporting Security Issues","title":"Security Policy","text":"believe found security vulnerability repositories organization, please report us coordinated disclosure. Please report security vulnerabilities public GitHub issues, discussions, pull requests. Instead, please send email vulnerability.management[@]roche.com. Please include much information listed can help us better understand resolve issue: type issue (e.g., buffer overflow, SQL injection, cross-site scripting) Full paths source file(s) related manifestation issue location affected source code (tag/branch/commit direct URL) special configuration required reproduce issue Step--step instructions reproduce issue Proof--concept exploit code (possible) Impact issue, including attacker might exploit issue information help us triage report quickly.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/SECURITY.html","id":"data-security-standards-dss","dir":"","previous_headings":"","what":"Data Security Standards (DSS)","title":"Security Policy","text":"Please make sure reporting issues form bug, feature, pull request, sensitive information PII, PHI, PCI completely removed text attachments, including pictures videos.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Getting Started","text":"teal.modules.hermes package implementing number teal modules exploration RNA-sequencing counts data. addition predefined modules, teal.modules.hermes enables quick easy ad-hoc module creation.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"ad-hoc-module-example","dir":"Articles","previous_headings":"","what":"Ad-hoc module example","title":"Getting Started","text":"Let’s assume function awesome_plot() takes count matrix makes awesome plot . Now like make Shiny app can filter patients, samples, select experiment MultiAssayExperiment (MAE), select count matrix experiment, etc. Nothing easier teal.modules.hermes! show quickly spin UI, server put together nice little app.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"ui-function","dir":"Articles","previous_headings":"Ad-hoc module example","what":"UI function","title":"Getting Started","text":"teal.modules.hermes provide modules make experiment assay selection super easy, see UI part:","code":"ui <- function(id, mae_name) { ns <- NS(id) teal.widgets::standard_layout( encoding = uiOutput(ns(\"encoding_ui\")), output = plotOutput(ns(\"awesome_plot\")) ) }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"server-function","dir":"Articles","previous_headings":"Ad-hoc module example","what":"Server function","title":"Getting Started","text":"Similarly server use modules, call awesome plotting function.","code":"srv <- function(input, output, session, data, filter_panel_api, mae_name) { output$encoding_ui <- renderUI({ tags$div( experimentSpecInput(session$ns(\"experiment\"), data, mae_name), assaySpecInput(session$ns(\"assay\")) ) }) experiment <- experimentSpecServer( \"experiment\", data = data, filter_panel_api = filter_panel_api, mae_name = mae_name, name_annotation = NULL # If you have a gene name column in your rowData, can specify here. ) assay <- assaySpecServer(\"assay\", experiment$assays) output$awesome_plot <- renderPlot({ data <- experiment$data() assay <- assay() req(assay %in% SummarizedExperiment::assayNames(data)) counts <- SummarizedExperiment::assay(data, assay) df <- data.frame(gene = rownames(counts), counts = rowSums(counts)) df <- na.omit(df[order(df$counts, decreasing = TRUE), ]) df$gene <- factor(df$gene, levels = df$gene) df <- df[1:10, ] ggplot(df, aes(x = gene, y = counts)) + geom_col() + theme(axis.text.x = element_text(angle = 90)) }) }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"app-function","dir":"Articles","previous_headings":"Ad-hoc module example","what":"App function","title":"Getting Started","text":"Now let’s assume want spin app MAE.","code":"awesome_app <- function(mae, label = \"My awesome app\") { mae_name <- \"MAE\" data <- teal_data(MAE = hermes::lapply(mae, hermes::HermesData)) app <- init( data = data, modules = teal::modules( module( label = label, server = srv, server_args = list(mae_name = mae_name), ui = ui, ui_args = list(mae_name = mae_name), datanames = mae_name ) ) ) shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/articles/Getting_Started.html","id":"testing-it","dir":"Articles","previous_headings":"Ad-hoc module example","what":"Testing it","title":"Getting Started","text":"test :","code":"awesome_app(hermes::multi_assay_experiment)"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Dony Unardi. Maintainer. Daniel Sabanés Bové. Author. Nikolas Burkoff. Author. Dinakar Kulkarni. Author. Konrad Pagacz. Author. Namrata Bhatia. Author. Dawid Kaledkowski. Author. Pawel Rucki. Author. Jeff Luong. Author. Stefanie Bienert. Author. Haocheng Li. Author. Lyndsee Midori Zhang. Author. Sorin Voicu. Contributor. Benoit Falquet. Contributor. Mahmoud Hallal. Contributor. Tim Treis. Contributor. Vedha Viyash. Contributor. F. Hoffmann-La Roche AG. Copyright holder, funder.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Sabanés Bové D, Burkoff N, Kulkarni D, Pagacz K, Bhatia N, Kaledkowski D, Rucki P, Luong J, Bienert S, Li H, Zhang L (2024). teal.modules.hermes: RNA-Seq Analysis Modules Add Teal Application. R package version 0.1.6.9022, https://github.com/insightsengineering/teal.modules.hermes/, https://insightsengineering.github.io/teal.modules.hermes/.","code":"@Manual{, title = {teal.modules.hermes: RNA-Seq Analysis Modules to Add to a Teal Application}, author = {Daniel {Sabanés Bové} and Nikolas Burkoff and Dinakar Kulkarni and Konrad Pagacz and Namrata Bhatia and Dawid Kaledkowski and Pawel Rucki and Jeff Luong and Stefanie Bienert and Haocheng Li and Lyndsee Midori Zhang}, year = {2024}, note = {R package version 0.1.6.9022, https://github.com/insightsengineering/teal.modules.hermes/}, url = {https://insightsengineering.github.io/teal.modules.hermes/}, }"},{"path":[]},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/index.html","id":"what-is-teal","dir":"","previous_headings":"What is what","what":"What is teal?","title":"RNA-Seq Analysis Modules to Add to a Teal Application","text":"teal shiny-based interactive exploration framework analyzing clinical trials data. teal currently provides dynamic filtering facility diverse data viewers. teal shiny applications built using standard shiny modules. See teal page details.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/index.html","id":"what-is-hermes","dir":"","previous_headings":"What is what","what":"What is hermes?","title":"RNA-Seq Analysis Modules to Add to a Teal Application","text":"hermes facilitates preprocessing, analyzing, reporting RNA-seq data. core functionality built BioConductor ecosystem, especially SummarizedExperiment class HermesData class inherits. See vignette details.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/index.html","id":"so-what-is-then-tealmoduleshermes","dir":"","previous_headings":"What is what","what":"So what is then teal.modules.hermes?","title":"RNA-Seq Analysis Modules to Add to a Teal Application","text":"teal.modules.hermes provides teal modules (can used part teal app), interactive RNA-seq data analysis using hermes. heavily built BioConductor classes, particular MultiAssayExperiment (MAE) expected contain HermesData experiments.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"RNA-Seq Analysis Modules to Add to a Teal Application","text":"See package vignettes browseVignettes(package = \"teal.modules.hermes\") usage package.","code":"# stable versions # install.packages(\"pak\") pak::pkg_install(\"insightsengineering/teal.modules.hermes@*release\") # beta versions # install.packages(\"pak\") pak::pkg_install(\"insightsengineering/teal.modules.hermes\")"},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecInput.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Input for ADTTE Specification — adtteSpecInput","title":"Module Input for ADTTE Specification — adtteSpecInput","text":"defines input ADTTE specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecInput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Input for ADTTE Specification — adtteSpecInput","text":"","code":"adtteSpecInput(inputId, label_paramcd = \"Select Endpoint\")"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecInput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Input for ADTTE Specification — adtteSpecInput","text":"inputId (string) ID used call module input. label_paramcd (string) label endpoint (PARAMCD) selection.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecInput.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Input for ADTTE Specification — adtteSpecInput","text":"UI part.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecServer.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Server for ADTTE Specification — adtteSpecServer","title":"Module Server for ADTTE Specification — adtteSpecServer","text":"defines server part ADTTE specification. resulting data set binned_adtte_subset contains subset ADTTE selected time--event endpoint, joined together gene information extracted specified assay experiment, numeric factor columns. factor column created binning numeric column according quantile cutoffs specified probs.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecServer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Server for ADTTE Specification — adtteSpecServer","text":"","code":"adtteSpecServer( id, data, mae_name, adtte_name, adtte_vars, experiment_data, experiment_name, assay, genes, probs )"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecServer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Server for ADTTE Specification — adtteSpecServer","text":"id (string) shiny module id. data (reactive)reactive() holding data sets provided app initialization going filters. mae_name (string) name MAE data used teal module. adtte_name (string) name ADTTE dataset. adtte_vars (named list string) names variables use ADTTE dataset. comprise elements: aval: numeric time--event variable. avalu: variable holding unit aval. is_event: logical event variable. needs TRUE observed event, FALSE time censored without observed event. paramcd: character factor parameter code variable, defining type time--event selection module. usubjid: subject ID variable. experiment_data (reactive AnyHermesData) input experiment. experiment_name (reactive string) name input experiment. assay (reactive string) name assay. genes (reactive GeneSpec) gene specification. probs (reactive numeric) probabilities bin gene gene signature .","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecServer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Server for ADTTE Specification — adtteSpecServer","text":"List following elements: binned_adtte_subset: reactive containing joined ADTTE gene data. gene_col: reactive containing string column name original numeric gene variable. gene_factor: string variable name binned gene data. time_unit: reactive string time unit current subset.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/adtteSpecServer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Module Server for ADTTE Specification — adtteSpecServer","text":"","code":"library(dplyr) #> #> Attaching package: ‘dplyr’ #> The following object is masked from ‘package:testthat’: #> #> matches #> The following objects are masked from ‘package:stats’: #> #> filter, lag #> The following objects are masked from ‘package:base’: #> #> intersect, setdiff, setequal, union ui <- function(id) { ns <- NS(id) teal.widgets::standard_layout( encoding = uiOutput(ns(\"encoding_ui\")), output = verbatimTextOutput(ns(\"summary\")) ) } server <- function(id, data, filter_panel_api) { checkmate::assert_class(data, \"reactive\") checkmate::assert_class(shiny::isolate(data()), \"teal_data\") moduleServer(id, function(input, output, session) { output$encoding_ui <- renderUI({ tags$div( experimentSpecInput(session$ns(\"experiment\"), data, mae_name = \"MAE\"), assaySpecInput(session$ns(\"assay\")), geneSpecInput(session$ns(\"genes\"), funs = list(Mean = colMeans)), adtteSpecInput(session$ns(\"adtte\")) ) }) experiment <- experimentSpecServer( \"experiment\", data = data, filter_panel_api = filter_panel_api, mae_name = \"MAE\" ) assay <- assaySpecServer( \"assay\", assays = experiment$assays ) genes <- geneSpecServer( \"genes\", funs = list(Mean = colMeans), gene_choices = experiment$genes ) adtte <- adtteSpecServer( \"adtte\", data = data, adtte_name = \"ADTTE\", mae_name = \"MAE\", adtte_vars = list( aval = \"AVAL\", avalu = \"AVALU\", is_event = \"is_event\", paramcd = \"PARAMCD\", usubjid = \"USUBJID\" ), experiment_data = experiment$data, experiment_name = experiment$name, assay = assay, genes = genes, probs = reactive({ 0.5 }) ) output$summary <- renderPrint({ binned_adtte_subset <- adtte$binned_adtte_subset() summary(binned_adtte_subset) }) }) } my_app <- function() { data <- teal_data() data <- within(data, { ADSL <- teal.data::rADSL ADTTE <- teal.modules.hermes::rADTTE %>% dplyr::mutate(is_event = .data$CNSR == 0) MAE <- hermes::multi_assay_experiment }) datanames <- c(\"ADSL\", \"ADTTE\", \"MAE\") datanames(data) <- datanames join_keys(data) <- default_cdisc_join_keys[datanames] app <- init( data = data, modules = modules( module( label = \"adtteSpec example\", server = server, ui = ui, datanames = \"all\" ) ) ) shinyApp(app$ui, app$server) } if (interactive()) { my_app() }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecInput.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Input for Assay Specification — assaySpecInput","title":"Module Input for Assay Specification — assaySpecInput","text":"defines input assay specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecInput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Input for Assay Specification — assaySpecInput","text":"","code":"assaySpecInput(inputId, label_assays = \"Select Assay\")"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecInput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Input for Assay Specification — assaySpecInput","text":"inputId (string) ID used call module input. label_assays (string) label assay selection.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecInput.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Input for Assay Specification — assaySpecInput","text":"UI part.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecServer.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Server for Assay Specification — assaySpecServer","title":"Module Server for Assay Specification — assaySpecServer","text":"defines server part assay specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecServer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Server for Assay Specification — assaySpecServer","text":"","code":"assaySpecServer(id, assays, exclude_assays = character())"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecServer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Server for Assay Specification — assaySpecServer","text":"id (string) shiny module id. assays (reactive character) available assays currently selected experiment. exclude_assays (character) names assays included choices teal module.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecServer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Server for Assay Specification — assaySpecServer","text":"chosen assay reactive string.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assaySpecServer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Module Server for Assay Specification — assaySpecServer","text":"","code":"ui <- function(id) { ns <- NS(id) teal.widgets::standard_layout( encoding = uiOutput(ns(\"encoding_ui\")), output = textOutput(ns(\"result\")) ) } server <- function(id, data, filter_panel_api) { moduleServer(id, module = function(input, output, session) { output$encoding_ui <- renderUI({ tags$div( experimentSpecInput(session$ns(\"experiment\"), data, \"MAE\"), assaySpecInput( session$ns(\"assay\"), label_assays = \"Please choose assay\" ) ) }) experiment <- experimentSpecServer( id = \"experiment\", data = data, filter_panel_api = filter_panel_api, mae_name = \"MAE\" ) assay <- assaySpecServer( \"assay\", experiment$assays, exclude_assays = c(\"counts\", \"cpm\", \"tpm\", \"bla\") ) output$result <- renderPrint({ assay() }) }) } my_app <- function() { data <- teal_data(MAE = hermes::multi_assay_experiment) app <- init( data = data, modules = modules( module( label = \"assaySpec example\", server = server, ui = ui, datanames = \"all\" ) ) ) shinyApp(app$ui, app$server) } if (interactive()) { my_app() }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_adtte_vars.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for ADTTE Variables — assert_adtte_vars","title":"Check for ADTTE Variables — assert_adtte_vars","text":"Check whether x list ADTTE variables.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_adtte_vars.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for ADTTE Variables — assert_adtte_vars","text":"","code":"assert_adtte_vars(x)"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_adtte_vars.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for ADTTE Variables — assert_adtte_vars","text":"x object check.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_adtte_vars.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check for ADTTE Variables — assert_adtte_vars","text":"","code":"assert_adtte_vars(list(aval = \"AV\", is_event = \"EV\", paramcd = \"PC\", usubjid = \"ID\", avalu = \"u\"))"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_summary_funs.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for List of Summary Functions — assert_summary_funs","title":"Check for List of Summary Functions — assert_summary_funs","text":"Check whether x list summary functions.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_summary_funs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for List of Summary Functions — assert_summary_funs","text":"","code":"assert_summary_funs(x, null.ok = FALSE)"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_summary_funs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for List of Summary Functions — assert_summary_funs","text":"x object check. null.ok (flag) whether x may also contain NULL, meaning user choice possible summary function applied.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assert_summary_funs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check for List of Summary Functions — assert_summary_funs","text":"","code":"assert_summary_funs(list(mean = colMeans, raw = NULL), null.ok = TRUE)"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assertion_arguments.html","id":null,"dir":"Reference","previous_headings":"","what":"Standard Assertion Arguments — assertion_arguments","title":"Standard Assertion Arguments — assertion_arguments","text":"documentation function lists conventional arguments additional checkmate assertions.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assertion_arguments.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Standard Assertion Arguments — assertion_arguments","text":"x object check. null.ok (flag) whether x may also NULL. .var.name (string) name checked object print assertions; defaults heuristic implemented checkmate::vname(). add (AssertCollection NULL) collection store assertion messages, see checkmate::AssertCollection. info (string) extra information included message testthat reporter, see testthat::expect_that(). label (string) name checked object print messages. Defaults heuristic implemented checkmate::vname().","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assertions.html","id":null,"dir":"Reference","previous_headings":"","what":"Additional Assertions for checkmate — assertions","title":"Additional Assertions for checkmate — assertions","text":"provide additional assertion functions can used together checkmate functions. described individual help pages linked .","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/assertions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Additional Assertions for checkmate — assertions","text":"Depending function prefix. assert_ functions return object invisibly successful, otherwise throw error message. check_ functions return TRUE successful, otherwise string error message. test_ functions just return TRUE FALSE.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_reactive.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for Reactive Input — check_reactive","title":"Check for Reactive Input — check_reactive","text":"Check whether x reactive input.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_reactive.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for Reactive Input — check_reactive","text":"","code":"check_reactive(x) assert_reactive(x, .var.name = checkmate::vname(x), add = NULL) test_reactive(x)"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_reactive.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for Reactive Input — check_reactive","text":"x object check. .var.name (string) name checked object print assertions; defaults heuristic implemented checkmate::vname(). add (AssertCollection NULL) collection store assertion messages, see checkmate::AssertCollection.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_reactive.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check for Reactive Input — check_reactive","text":"","code":"check_reactive(\"bla\") #> [1] FALSE check_reactive(reactive(\"bla\")) #> [1] TRUE"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_tag.html","id":null,"dir":"Reference","previous_headings":"","what":"Check for Shiny Tag — check_tag","title":"Check for Shiny Tag — check_tag","text":"Check whether x shiny tag.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_tag.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check for Shiny Tag — check_tag","text":"","code":"check_tag(x, null.ok = FALSE) assert_tag(x, null.ok = FALSE, .var.name = checkmate::vname(x), add = NULL) test_tag(x, null.ok = FALSE) expect_tag(x, null.ok = FALSE, info = NULL, label = vname(x))"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_tag.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Check for Shiny Tag — check_tag","text":"x object check. null.ok (flag) whether x may also NULL. .var.name (string) name checked object print assertions; defaults heuristic implemented checkmate::vname(). add (AssertCollection NULL) collection store assertion messages, see checkmate::AssertCollection. info (string) extra information included message testthat reporter, see testthat::expect_that(). label (string) name checked object print messages. Defaults heuristic implemented checkmate::vname().","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/check_tag.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Check for Shiny Tag — check_tag","text":"","code":"check_tag(\"bla\") #> [1] \"Must be a 'shiny.tag' or NULL\" check_tag(NULL, null.ok = TRUE) #> [1] TRUE"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecInput.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Input for Experiment Specification — experimentSpecInput","title":"Module Input for Experiment Specification — experimentSpecInput","text":"defines input experiment specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecInput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Input for Experiment Specification — experimentSpecInput","text":"","code":"experimentSpecInput( inputId, data, mae_name, label_experiments = \"Select Experiment\" )"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecInput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Input for Experiment Specification — experimentSpecInput","text":"inputId (string) ID used call module input. data (reactive)reactive() holding data sets provided app initialization going filters. mae_name (string) name MAE data used teal module. label_experiments (string) label experiment selection.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecInput.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Input for Experiment Specification — experimentSpecInput","text":"UI part.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecServer.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Server for Experiment Specification — experimentSpecServer","title":"Module Server for Experiment Specification — experimentSpecServer","text":"defines server part experiment specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecServer.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Server for Experiment Specification — experimentSpecServer","text":"","code":"experimentSpecServer( id, data, filter_panel_api, mae_name, name_annotation = \"symbol\", sample_vars_as_factors = TRUE, with_mae_col_data = TRUE )"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecServer.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Server for Experiment Specification — experimentSpecServer","text":"id (string) shiny module id. data (reactive)reactive() holding data sets provided app initialization going filters. filter_panel_api (FilterPanelAPI) object describing actual filter panel API. mae_name (string) name MAE data used teal module. name_annotation (string NULL) annotation column use name return genes data. NULL, name column set empty strings. sample_vars_as_factors (flag) whether convert sample variables (columns colData() experiment) character factor variables. with_mae_col_data (flag) whether include colData() MAE experiment colData().","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecServer.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Server for Experiment Specification — experimentSpecServer","text":"List following reactive objects: data: hermes::AnyHermesData experiment. name: name experiment selected user. genes: data.frame genes data, columns id name. assays: names assays data.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/experimentSpecServer.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Module Server for Experiment Specification — experimentSpecServer","text":"","code":"ui <- function(id, mae_name) { ns <- NS(id) teal.widgets::standard_layout( encoding = uiOutput(ns(\"encoding_ui\")), output = tags$div( verbatimTextOutput(ns(\"summary\")), verbatimTextOutput(ns(\"head\")) ) ) } server <- function(id, data, filter_panel_api, mae_name) { moduleServer(id, function(input, output, session) { output$encoding_ui <- renderUI({ tags$div( experimentSpecInput( session$ns(\"my_experiment\"), data, mae_name, label_experiments = \"Please choose experiment\" ), selectInput( session$ns(\"property\"), \"Please choose property\", c(\"data\", \"name\", \"genes\", \"assays\") ) ) }) experiment <- experimentSpecServer( \"my_experiment\", data, filter_panel_api, mae_name ) result <- reactive({ req(input$property) switch(input$property, data = experiment$data(), name = experiment$name(), genes = experiment$genes(), assays = experiment$assays() ) }) output$summary <- renderPrint({ result <- result() hermes::summary(result) }) output$head <- renderPrint({ result <- result() utils::head(result) }) }) } my_app <- function() { data <- teal_data(MAE = hermes::multi_assay_experiment) app <- init( data = data, modules = modules( module( label = \"experimentSpec example\", server = server, server_args = list(mae_name = \"MAE\"), ui = ui, ui_args = list(mae_name = \"MAE\"), datanames = \"all\" ) ) ) shinyApp(app$ui, app$server) } if (interactive()) { my_app() }"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/function_arguments.html","id":null,"dir":"Reference","previous_headings":"","what":"Standard Function Arguments — function_arguments","title":"Standard Function Arguments — function_arguments","text":"documentation function lists conventional arguments functions.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/function_arguments.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Standard Function Arguments — function_arguments","text":"adtte (data frame) adtte dataset. usubjid_var (string) variable name subject ID variable. mae (MultiAssayExperiment) contains AnyHermesData objects. object (AnyHermesData) contains RNA-seq values one experiment. genes (GeneSpec) specification gene(s) (signature), e.g. using hermes::gene_spec(). experiment_name (string) desired HermesData use. assay_name (string) assay define groups.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/geneSpecInput.html","id":null,"dir":"Reference","previous_headings":"","what":"Module Input for Gene Signature Specification — geneSpecInput","title":"Module Input for Gene Signature Specification — geneSpecInput","text":"defines input gene signature specification.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/geneSpecInput.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Module Input for Gene Signature Specification — geneSpecInput","text":"","code":"geneSpecInput( inputId, funs, label_genes = \"Select Gene(s)\", label_funs = \"Select Gene Summary\", label_text_button = \"Enter list of genes\", label_lock_button = \"Lock gene selection (so that it does not get updated when filtering)\", label_select_all_button = paste0(\"Select All Genes (first \", max_options, \")\"), label_select_none_button = \"Select None\", max_options = 200L, max_selected = max_options )"},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/geneSpecInput.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Module Input for Gene Signature Specification — geneSpecInput","text":"inputId (string) ID used call module input. funs (named list) names list used function selection drop menu. label_genes (string) label gene selection. label_funs (string) label function selection. label_text_button (string) label text input button. label_lock_button (string) label lock button. label_select_all_button (string) label selecting genes button. label_select_none_button (string) label selecting genes button. max_options (count) maximum number gene options rendering selected via \"Select \". max_selected (count) maximum number genes can selected.","code":""},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/geneSpecInput.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Module Input for Gene Signature Specification — geneSpecInput","text":"UI part.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.modules.hermes/reference/geneSpecInput.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Module Input for Gene Signature Specification — geneSpecInput","text":"","code":"geneSpecInput(\"my_genes\", list(mean = colMeans), label_funs = \"Please select function\") #> #>
#>