From a2e0eff540538319bbd16f6057619fe4c4ace31b Mon Sep 17 00:00:00 2001 From: maclomaclee <50185441+maclomaclee@users.noreply.github.com> Date: Thu, 11 Jan 2024 23:16:26 +0000 Subject: [PATCH] 110103 --- LSR3_animal_analysis.Rmd | 3499 +++++++++++++++++++------------------- 1 file changed, 1784 insertions(+), 1715 deletions(-) diff --git a/LSR3_animal_analysis.Rmd b/LSR3_animal_analysis.Rmd index 2b7333b..f7d74c5 100755 --- a/LSR3_animal_analysis.Rmd +++ b/LSR3_animal_analysis.Rmd @@ -1,1715 +1,1784 @@ ---- -title: "LSR3 analysis: effects of TAAR1 agonists in animal models of psychosis" -author: "Francesca Tinsdeall, Fiona Ramage, Virginia Chiocchia and Malcolm Macleod" -date: "2023-12-19" -output: - html_document: - fig_width: 9 -bibliography: grateful-refs.bib -editor_options: - chunk_output_type: console ---- - -# Results - -1. Flow of study selection and descriptives - - - 1.1 Description of experiment types and general approach - - -2. TAAR1 Agonists v Control: Outcome 1: Locomotor activity - - - 2.1 Risk of bias and reporting completeness assessment - - - 2.1.1 Risks of bias - - - 2.1.2 Reporting completeness - - - 2.2 TAAR1 Agonist v Control - - - 2.3 Subgroup analyses and meta-regression - - - 2.3.1 Sex - - - 2.3.2 Category of disease induction - - - 2.3.3 Route of intervention administration - - - 2.3.4 Prophylactic or therapeutic intervention - - - 2.3.5 Duration of treatment period - - - 2.3.6 The intervention administered - - - 2.3.7 The efficacy of the drug - - - 2.3.8 The selectivity of the drug - - - 2.3.9 Potency of intervention - - - 2.3.10 Dose of intervention - - - 2.3.11 SYRCLE RoB assessment - - - 2.3.12 ARRIVE guideline reporting completeness - - - 2.3.13 Heterogeneity explained by covariates - - - 2.4 Sensitivity Analyses - - - 2.4.1 Sensitivity to different assumprions for imputed rho values - - - 2.4.2 Sensitivity to analysis using NMD rather than SMD - - - 2.5 Reporting bias/small study effects - - -3. TAAR1 Agonists v Control: Outcome 2: Cognition - - - 3.1 Risk of bias and reporting completeness assessment - - - 3.1.1 Risks of bias - - - 3.1.2 Reporting completeness - - - 3.2 TAAR1 Agonist v Control - - - 3.3 Subgroup analyses and meta-regression - - - 3.3.1 Sex - - - 3.3.2 Category of disease induction - - - 3.3.3 Route of intervention administration - - - 3.3.4 Prophylactic or therapeutic intervention - - - 3.3.5 Duration of treatment period - - - 3.3.6 The intervention administered - - - 3.3.7 The efficacy of the drug - - - 3.3.8 The selectivity of the drug - - - 3.3.9 Potency of intervention - - - 3.3.10 Dose of intervention - - - 3.3.11 SYRCLE RoB assessment - - - 3.3.12 ARRIVE guideline reporting completeness - - - 3.3.13 Heterogeneity explained by covariates - - - 3.4 Sensitivity Analyses - - - 3.4.1 Sensitivity to different assumprions for imputed rho values - - - 3.4.2 Sensitivity to analysis using NMD rather than SMD - - - 3.5 Reporting bias/small study effects - -4. TAAR1 Agonist v known antipsychotic drug - -5. Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone - -6. Summary of the evidence - -7. Software used - -```{r setup, message=F, echo=F, include=F} -### libraries -library(ggplot2) -library(devtools) -library(dosresmeta) -library(dplyr) -library(grid) -library(gtools) -library(kableExtra) -library(knitr) -library(Matrix) -library(meta) -library(metafor) -library(orchaRd) -library(readxl) -library(readr) -library(rje) -library(rms) -library(stringr) -library(tibble) -library(tidyr) -library(tools) -library(rlang) -devtools::install_github("mcguinlu/robvis") -install_github("mcguinlu/robvis") -library(robvis) -library(PRISMA2020) -library(grateful) - - -#define LSR -LSR <- 'LSR3' -# define date of processing -DoP <- Sys.Date() - - -# All function needed to run this notebook (analyses, etc.) should be in a util.R file -source("util/util.R") - -# obtain the data and prepare them for analysis - all data cleaning routines should be in this .R script - - -source("wrangling/wrangling_functions.R", local = TRUE) -source("wrangling/data_wrangle_script.R") - -#Round off results to two digits -options(scipen=100, digits=3) - -# Import data -file2load <- paste0(LSR,'_clean_data_',DoP,'.csv') -df <- read_csv(file2load) - -``` - -# 1. Flow of study selection and descriptives - -```{r article metadata, eval = TRUE, echo = FALSE} -# Retrieve article metadata omitted from 'clean_data.csv' and join - -article_metadata <- df %>% - select(StudyId, Title, Year) %>% - distinct() -``` - -The flow of study selection is shown in Figure 1. Studies included were published between `r min(article_metadata$Year)` and `r max(article_metadata$Year)`. Overall, this analysis includes `r length(table(df$StudyId))` studies containing `r nrow(df)` comparisons. - -**Figure 1** - -```{r PRISMA flowchart, eval = TRUE, echo = FALSE, warning=FALSE, message=FALSE} -prisma_data <- read_csv("data/LSR3_prisma_211223.csv") -dfp <- PRISMA_data(prisma_data) -PRISMA_flowdiagram(dfp, interactive=FALSE, previous=FALSE, other=FALSE, - detail_databases=FALSE, detail_registers=FALSE, fontsize=12, font="Helvetica", - title_colour="Goldenrod1", greybox_colour="Gainsboro", main_colour="Black", - arrow_colour="Black", arrow_head="normal", arrow_tail="none", side_boxes=TRUE ) - -## what about reasons for exclusions of records? don't we have info on them? -``` - -References of included studies are located in the appendix. Included studies used `r length(table(df$ModelID))` unique disease model induction procedures. - -## 1.1 Description of experiment types and methodological approach - -Within the literature we identified distinct categories of experiments and the data presented would allow several meta-analytical contrasts to be drawn: - -1. **TAAR1 agonist vs control**. These were experiments investigating the effect of administering a TAAR1 agonist alone, reported in `r nrow(df %>% filter(SortLabel == "TvC"))` experiments from `r nrow(df %>% filter(SortLabel == "TvC") %>% distinct(StudyId))` publications. - -2. **TAAR1 agonist vs 'known' antipsychotic drug**. These were experiments investigating the effect of administering a TAAR1 agonist alongside a currently licensed anti-psychotic reported in `r nrow(df %>% filter(SortLabel == "TvA"))` experiments from `r nrow(df %>% filter(SortLabel == "TvA") %>% distinct(StudyId))` publications. - -3. **Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone**, reported in `r nrow(df %>% filter(SortLabel == "TAvA"))` experiments from `r nrow(df %>% filter(SortLabel == "TAvA") %>% distinct(StudyId))` publications. - -4. **Effect of TAAR1 antagonism on the effect of TAAR1 agonist v control.** These were experiments investigating whether any effect of TAAR1 agonism was unhibited by TAAR1 antagonism. In this iteration of the review, all experiments within this category used genetic approaches to TAAR1 antogonism (that is, they knocked out the gene for the TAAR1 receptor, so any observed drug effect could not be due to actions mediated through the TAAR1 receptor and therefore could not be considered specific drug effects mediated through the TAAR1 receptor. - -Each experiment type will be analysed separately. This is because each experiment type uses different control conditions. - -In these studies the: - -- **Control group** is a group of animals that is (1) subjected to a psychosis model induction paradigm and (2) administered a control treatment (vehicle) or no treatment - -- **Intervention group** is a group of animals that is (1) subjected to a psychosis model induction paradigm and (2) administered a TAAR1 agonist treatment - -- **Sham group** is a group of animals that is (1) not subjected to a psychosis model induction paradigm and (2) administered a control treatment (vehicle) or no treatment. These data are equired to allow a 'normalised mean difference' effect size to be calculated, given by - - $$ - \frac{(\text{Contol - Treatment})} - {(\text{Control - Sham)}} \text{ x 100} - $$ - -Outcomes with ≥2 independent effect sizes were considered for meta-analysis. In this iteration of the review, this includes `r df %>% group_by(outcome_type) %>% filter(n_distinct(StudyId) > 1) %>% summarise(n = n_distinct(StudyId)) %>% arrange(desc(n)) %>% pull(outcome_type) %>% unique() %>% tolower() %>% { if (length(.) > 1) paste(paste(head(., -1), collapse = ", "), "and", tail(., 1)) else .}`. - -All analyses were conducted allowing for the following hierarchical levels in a random effects model, which accounts for features common to experimental contrasts such as a shared control group: - -- **Level 1: Rodent strain** - effect sizes measured across experiments using the same rodent strain - -- **Level 2: Study** - effect sizes measured from different experiments presented in the same publication - -- **Level 3: Experiment** - effect sizes measured in the same experiment within a study, where often a control group contributes to several effect sizes - -*NB: We constructed multilevel models without Knapp-Hartung adjustments as these are not available for rma.mv class objects in the metafor package* ([metafor](https://cran.r-project.org/web/packages/metafor/metafor.pdf)). *Instead, the model is set to `test = "t"` to use t- and F-distributions for making inferences, and `dfs="contain"` to improve the method of approximating degrees of freedom of these distributions.* - -The scales and units used to measure outcomes in preclinical studies often differ between studies although they may measure the same undrlying biological construct. The primary effect size used for meta-analysis of preclinical studies is therefore the standardised mean difference (SMD, Hedge's g). We also present a sensitivity analysis using normalised mean difference (NMD), where there are sufficient data for sham proceedures to allow this. - -No studies were excluded on the basis of extreme effect sizes reported. - -### 1.1.1 **TAAR1 agonist vs control** - -```{r # Split df by experiment and outcome type into dataframes to simply inline code below - TAAR1 Agonist v Control, eval = TRUE, echo = FALSE} -df_S <- filter(df, SortLabel == "TvC") -df_S_LMA <- filter_experiment_outcome_type(df, "TvC", "Locomotor activity") -df_S_PPI <- filter_experiment_outcome_type(df, "TvC", "Prepulse inhibition") -df_S_cog <- filter_experiment_outcome_type(df, "TvC", "Cognition") -df_S_social <- filter_experiment_outcome_type(df, "TvC", "Social interaction") -df_S_stereo <- filter_experiment_outcome_type(df, "TvC", "Stereotypy") -``` - -`r length(table(df_S$StudyId))` studies (`r nrow(df%>%filter(SortLabel == "TvC"))` comparisons) investigated the effects of TAAR1 Agonist v Control. The number of studies and individual effect sizes for each outcome were: - -- Locomotor activity\*: `r length(table(df_S_LMA$StudyId))` studies and `r nrow(df_S_LMA)` comparisons in `r {strains <- unique(df_S_LMA$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` - -- Prepulse inhibition\*: `r length(table(df_S_PPI$StudyId))` studies and `r nrow(df_S_PPI)` comparisons in `r {strains <- unique(df_S_PPI$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` - -- Cognitive function: `r length(table(df_S_cog$StudyId))` studies and `r nrow(df_S_cog)` comparisons in `r {strains <- unique(df_S_cog$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` - -- Social interaction: `r length(table(df_S_social$StudyId))` studies and `r nrow(df_S_social)` comparisons in `r {strains <- unique(df_S_social$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` - -- Stereotypy: `r length(table(df_S_stereo$StudyId))` studies and `r nrow(df_S_stereo)` comparisons in `r {strains <- unique(df_S_stereo$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` - -\* These outcomes were identified in the study protocol as primary outcomes of interest. - -Only one publication reported each of prepulse inhibition (a primary outcome), social interaction and stereotypy, and so these are not analysed further. - -# 2 TAAR1 Agonists v Control: Outcome 1: Locomotor activity - -## 2.1 Risk of bias and reporting completeness assessment - -##### 2.1.1 Risks of bias - -Figure 2.1.1a shows the risk of bias summary for studies investigating the effect of administering a TAAR1 agonist on locomotor activity in animals. The risk of bias assessment was performed using the SYRCLE's RoB tool. Figure 2.1.1b shows the corresponding traffic light plot. - -**Figure 2.1.1a** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 8} -SyRCLE_RoB_summary(df, "TvC", "Locomotor activity") -``` - -**Figure 2.1.1b** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} -SyRCLE_RoB_traffic(df, "TvC", "Locomotor activity") -``` - -##### 2.1.2 Reporting completeness - -Figure 2.1.2a shows the reporting completeness summary for studies investigating the effect of administering a TAAR1 agonist on locomotor activity in animals. The reporting completeness assessment was performed using the ARRIVE guidelines. Figure 2.1.2b shows the corresponding traffic light plot. - -**Figure 2.1.2a** - -```{r warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 7} -ARRIVE_summary(df, "TvC", "Locomotor activity") -``` - -**Figure 2.1.2b** - -```{r message = FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 8} - -ARRIVE_traffic(df, "TvC", "Locomotor activity") -``` - - - - - - -## 2.2 TAAR1 Agonist v Control - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - if (any(class(SMD_S_LMA) == "rma.mv")) { - output_text1 <- "The effect of administering a TAAR1 agonist on locomotor activity in animals using SMD as the effect size is shown in Figure 4.1.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." - output_text2 <- "Figure 2.3" -} else { - output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this outcome" -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=15} -forest_metafor(SMD_S_LMA, "TvC", "Locomotor activity") -``` - -```{r echo=FALSE} - if (any(class(SMD_S_LMA) == "rma.mv")) { - output_text3 <- paste0("For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on locomotor activity of SMD = ", round(SMD_S_LMA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA[['ci.lb']], 3), " to ", round(SMD_S_LMA[['ci.ub']], 3), ", with a prediction interval of", round(predict(SMD_S_LMA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA)$pi.ub, 3)) - output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA$sigma2[3], 3)) -} else { - output_text3 <- "" - output_text4 <- "" -} -``` - -`r output_text3` - -`r output_text4` - - - - - -## 2.3 Subgroup analyses and meta-regressions - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -options(scipen=100, digits=3) -``` - -For each outcome, the covariates of interest for subgroup analysesand meta-regressions were: - -- **Sex** - -- **Method of disease induction** - -- **Route of intervention administration** - -- **Whether the intervention was prophylactic or therapeutic (i.e. administered before or after disease model induction)** - -- **Duration of treatment period** - -- **The intervention administered** - -- **The efficacy of the drug (i.e. whether the drug is a partial or full agonist)** - -- **The selectivity of the drug** - -- **Potency of the intervention** - -- **Dose of intervention** - -We also conducted subgroup analyses using **(1) SYRCLE Risk of Bias** and **(2) ARRIVE reporting completeness** assessment scores as covariates to evaluate their influence on effect size estimates. These were not specified in the study protocol, but evaluation of risk of bias is required for the Summary of Evidence table, and no studies were considered at low risk of bias or high reporting completeness to allow such a sensitivity analysis - -Note that in this iteration of the review, insufficient data was available to conduct subgroup analysis for the following variables, as only one subgroup level was present: `r check_moderator_levels(df, "TvC", "Locomotor activity")` - -#### 2.3.1 Sex - -Figure 2.3.1 displays the estimates for the pooled SMD's when comparisons are stratified by sex of the animal. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by sex, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.1** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=8.5, fig.height=3} -SMD_S_LMA_sex <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "Sex", 0.5) -``` - -`r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Not reported", "k"]` comparisons did not report the sex of the animals used within the experimental cohort. `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Male", "k"]` comparisons used cohorts of only male animals and `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Female", "k"]` comparisons used cohorts of only female animals. There were `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Mixed male and female", "k"]` comparisons using cohorts of both male and female animals. - -The pooled SMD estimate for male animals was `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Male", "SMD"]`, for females `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Female", "SMD"]`, and for mixed cohorts `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Mixed male and female", "SMD"]`. The pooled SMD estimate for comparisons not reporting the sex of the animals within the experimental cohort was `r SMD_S_LMA_sex$subgroup_rma_summary[SMD_S_LMA_sex$subgroup_rma_summary$Sex == "Not reported", "SMD"]`. - -#### 2.3.2 Category of disease induction - -Figure 2.3.2 displays the estimates for the pooled SMD's when comparisons are stratified by the category of disease induction. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by category of disease induction, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.2** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=11, fig.height=2.5} -SMD_S_LMA_CatDisInd <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "CategoryDiseaseInduction", 0.5) -``` - -`r SMD_S_LMA_CatDisInd$subgroup_rma_summary[SMD_S_LMA_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "k"]` comparisons used pharmacological methods to induce the disease model. `r SMD_S_LMA_CatDisInd$subgroup_rma_summary[SMD_S_LMA_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "k"]` comparisons used genetic methods to induce the disease model. - -The pooled SMD estimate for comparisons using pharmacological methods to induce the disease model was `r SMD_S_LMA_CatDisInd$subgroup_rma_summary[SMD_S_LMA_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "SMD"]`, and for comparisons using genetic methods to induce the disease model `r SMD_S_LMA_CatDisInd$subgroup_rma_summary[SMD_S_LMA_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "SMD"]`. - -#### 2.3.3 Route of intervention administration - -Figure 2.3.3 displays the estimates for the pooled SMD's when comparisons are stratified by the route of intervention administration. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by route of intervention administration, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.3** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=2} -SMD_S_LMA_AdminRoute <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "InterventionAdministrationRoute", 0.5) -``` - -`r SMD_S_LMA_AdminRoute$subgroup_rma_summary[SMD_S_LMA_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "k"]` comparisons administered the TAAR1 agonist intraperitoneally. `r SMD_S_LMA_AdminRoute$subgroup_rma_summary[SMD_S_LMA_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Oral administration/gavage", "k"]` comparisons administered the TAAR1 agonist orally. - -The pooled SMD estimate for experiments administering the TAAR1 agonist intraperitoneally was `r SMD_S_LMA_AdminRoute$subgroup_rma_summary[SMD_S_LMA_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "SMD"]`, and for experiments administering the TAAR1 agonist orally `r SMD_S_LMA_AdminRoute$subgroup_rma_summary[SMD_S_LMA_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Oral administration/gavage", "SMD"]`. - -#### 2.3.4 Prophylactic or therapeutic intervention - -Figure 2.3.4 displays the estimates for the pooled SMD's when comparisons are stratified by whether the intervention was administered prophylactically or therapeutically. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by whether the intervention was administered prophylactically or therapeutically, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.4** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=3} -SMD_S_LMA_ProphThera <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "ProphylacticOrTherapeutic", 0.5) -``` - -`r SMD_S_LMA_ProphThera$subgroup_rma_summary[SMD_S_LMA_ProphThera$subgroup_rma_summary$ProphylacticOrTherapeutic == "Prophylactic", "k"]` comparisons administered the TAAR1 agonist prophylactically. `r SMD_S_LMA_ProphThera$subgroup_rma_summary[SMD_S_LMA_ProphThera$subgroup_rma_summary$ProphylacticOrTherapeutic == "Therapeutic", "k"]` comparisons administered the TAAR1 agonist therapeutically. - -The pooled SMD estimate for experiments administering the TAAR1 agonist prophylactically was `r SMD_S_LMA_ProphThera$subgroup_rma_summary[SMD_S_LMA_ProphThera$subgroup_rma_summary$ProphylacticOrTherapeutic == "Prophylactic", "SMD"]`, and for experiments administering the TAAR1 agonist therapeutically `r SMD_S_LMA_ProphThera$subgroup_rma_summary[SMD_S_LMA_ProphThera$subgroup_rma_summary$ProphylacticOrTherapeutic == "Therapeutic", "SMD"]`. - -#### 2.3.5 Duration of treatment period - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=3} -SMD_S_LMA_DurRx <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "TreatmentDurationCategory", 0.5) -``` - -```{r echo=FALSE} - if (any(class(SMD_S_LMA_DurRx) == "rma.mv")) { - output_text1 <- "Figure 2.3.5 displays the estimates for the pooled SMD's when comparisons are stratified by duration of treatment. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by whether the intervention was administered prophylactically or therapeutically, is displayed as a diamond shape at the bottom of the plot." - output_text2 <- "Figure 2.3.5" -} else { - output_text1 <- "In this iteration of the review, all relevant comparisons administered the TAAR1 agonist for < 1 week. Therefore, no subgroup analyses were conducted for this variable." - output_text2 <- "" -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r echo = FALSE} - if (any(class(class(SMD_S_LMA_DurRx)) == "rma.mv")) { - output_text3 <- paste0(`r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "Less than 1 week", "k"]`,"comparisons administered the TAAR1 agonist for less than one week, ", `r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "Between 1-4 weeks", "k"]`," for between 1 and 4 weeks, and ",`r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "More than 4 weeks", "k"]`," for more than 4 weeks.") - output_text4 <- paste0("The pooled SMD estimate for experiments administering the TAAR1 agonist for less than 1 week was ",`r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "Less than 1 week", "SMD"]`," for 1 to 4 weeks was ",`r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "Between 1-4 weeks", "SMD"]`," and for experiments administering the TAAR1 agonist for more than 4 weeks was ",`r SMD_S_LMA_DurRx$subgroup_rma_summary[SMD_S_LMA_DurRx$subgroup_rma_summary$TreatmentDurationCategory == "More than 4 weeks", "SMD"]`,".") - -} else { - output_text3 <- "" - output_text4 <- "" -} - -``` - -#### 2.3.6 The intervention administered - -Figure 2.3.6 displays the estimates for the pooled SMD's when comparisons are stratified by the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by the intervention administered, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.6** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_LMA_Drug <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "DrugName", 0.5) -``` - -The TAAR1 agonist SEP-363856 (Ultaront) was administered in `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "SEP-363856", "k"]` experiments. `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5203648", "k"]` experiments used the TAAR1 agonist RO5203648, `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5166017", "k"]` used RO5166017, `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5263397", "k"]` used RO5263397, `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5256390", "k"]` used RO5256390, `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5073012", "k"]` used RO5073012. `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "LK000764", "k"]` experiments used the TAAR1 agonist LK000764 and `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "AP163", "k"]` used AP163. `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "Compound 50A", "k"]` experiments assessed the effect of the TAAR1 agonist Compound 50A and `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "Compound 50B", "k"]` experiments assessed that of Compound 50B. Note that Compound 50A and 50B were specific to one study, and chemical registry identifiers were neither provided or able to be found. - -The pooled SMD estimate for experiments administering the TAAR1 agonist SEP-363856 was `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "SEP-363856", "SMD"]`. For experiments administering the TAAR1 agonist RO5203648 the pooled estimate was `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5203648", "SMD"]`. For experiments administering the TAAR1 agonist RO5166017 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5166017", "SMD"]`, for experiments administering the TAAR1 agonist RO5263397 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5263397", "SMD"]`, for experiments administering the TAAR1 agonist RO5256390 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5256390", "SMD"]`, for experiments administering the TAAR1 agonist RO5073012 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "RO5073012", "SMD"]`, for experiments administering the TAAR1 agonist LK000764 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "LK000764", "SMD"]`, for experiments administering the TAAR1 agonist AP163 `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "AP163", "SMD"]`, for experiments administering the TAAR1 agonist Compound 50A `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "Compound 50A", "SMD"]`, and for experiments administering the TAAR1 agonist Compound 50B `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "Compound 50B", "SMD"]`. - -#### 2.3.7 The efficacy of the drug (i.e. whether the drug is a partial or full agonist) - -Figure 2.3.7 displays the estimates for the pooled SMD's when comparisons are stratified by the action/efficacy of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention efficacy, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.7** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_LMA_DrugEfficacy <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "Efficacy", 0.5) -``` - -TAAR1 partial agonists were used in `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 partial agonist", "k"]` experiments. TAAR1 full agonists were used in `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 full agonist", "k"]` experiments. - -The pooled SMD estimate for experiments administering a TAAR1 partial agonist was `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 partial agonist", "SMD"]` and for those administering a TAAR1 full agonist `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 full agonist", "SMD"]`. - -#### 2.3.8 The selectivity of the drug - -Figure 2.3.8 displays the estimates for the pooled SMD's when comparisons are stratified by the selectivity of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention selectivity, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.8** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_LMA_DrugSelectivity <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "Selectivity", 0.5) -``` - -TAAR1 agonists with high selectivity were used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "k"]` experiments. TAAR1 drugs with additional agonist activity at serotonin 5HT1A receptors were used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "k"]` experiments. The selectivity of the TAAR1 agonist used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Selectivity == "Unclear", "k"]` experiments was unclear/remains undetermined. - -The pooled SMD estimate for experiments administering a TAAR1 agonist with high selectivity was `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "SMD"]`. The estimate for experiments administering a TAAR1 agonist with low selectivity was `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "SMD"]`, and for those experiments administering a TAAR1 agonist with an unknown selectivity `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "Unclear", "SMD"]`. - -#### 2.3.9 Potency of intervention - -The pEC50 value of each drug was used to measure potency. The pEC50 value is the negative logarithm (to base 10) of the EC50 value. Higher pEC50 values indicate higher potency (as they indicate a lower EC50). Figure x displays a visualisation of the meta-regression using the pEC50 value as an explanatory variable. Dashed lines represent the 95% confidence interval of the regression line. The dotted lines represent the 95% prediction interval. Raw data is plotted with 'bubble' size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_potency <- metaregression_analysis(df, "TvC", "Locomotor activity", "pE50", 0.5) - -``` - -**Figure 2.3.9** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} -SMD_S_LMA_potency$regression_plot -``` - -The estimate for $\theta$ was `r SMD_S_LMA_potency$metaregression_summary$beta[1]`. This gives the predicted SMD when the pEC50 of the intervention is 0. Note that this should be interpreted with caution; since the logarithm of zero is undefined (it tends towards negative infinity), a pEC50 value cannot be 0 unless the EC50 is 1 mol/L. The estimate for $\theta$ can be interpreted as the estimated SMD when the EC50 is 1 mol/L (1000mM), which signifies extremely low potency. - -The estimate for $\beta$ was `r SMD_S_LMA_potency$metaregression_summary$beta[2]`. This represents the predicted regression weight for the pEC50 of the intervention. - -#### 2.3.10 Dose of intervention - -In this iteration of the review, the TAAR1 agonists tested against control for their effect on locomotor activity were; **`r drugs <- df %>% filter(SortLabel == "TvC") %>% filter(outcome_type == "Locomotor activity") %>% group_by(DrugName) %>% summarise(count = n()) %>% arrange(desc(count)) %>% pull(DrugName); if (length(drugs) > 1) {paste(paste(head(drugs, -1), collapse = ", "), "and", tail(drugs, 1))} else {drugs}`**. Meta-regression using the administered dose as an explanatory variable was conducted for each drug where this had been reported in 10 or more experiments from 3 or more publications. Where there are sufficient data, the dashed lines in the plot represents the 95% confidence interval of the regression line and the dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_RO5203648_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5203648", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "RO5203648") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5203648: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_RO5203648_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5203648") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_RO5263397_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5263397", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "RO5263397") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5263397: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_RO5263397_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5263397") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_SEP363856_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "SEP-363856", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "SEP-363856") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("SEP-363856 (Ultaront): There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_SEP363856_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "SEP-363856") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_RO5166017_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5166017", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "RO5166017") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5166017: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_RO5166017_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5166017") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_LK000764_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "LK000764", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "LK000764") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("LK000764: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_LK000764_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "LK000764") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_RO5256390_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5256390", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "RO5256390") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5256390: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_RO5256390_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5256390") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_Compound50B_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "Compound 50B", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "Compound 50B") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("Compound 50B: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_Compound50B_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "Compound 50B") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_Compound50A_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "Compound 50A", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "Compound 50A") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("Compound 50A: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_Compound50A_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "Compound 50A") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_RO5073012_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5073012", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "RO5073012") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5073012: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_RO5073012_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5073012") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_AP163_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "AP163", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Locomotor activity") %>% -filter(DrugName == "AP163") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("AP163: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_LMA_AP163_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "AP163") -``` - -##### Standardised dose - -We then sought evidence of a dose response relationship across all drugs. To do this, we conducted meta-regression using a standardised dose variable. This variable quantifies the administered dose as a multiple of the drug's EC50, indicating how many times the dose administered was greater (or lesser) than the concentration needed to achieve half-maximal effect. For example, if a drug's dose is twice its EC50, the standardized dose would be 2, indicating that the dose is twice the concentration needed to achieve half-maximal effect. - -The standardised dose was calculated by dividing the log-transformed dose of the intervention (in mg/kg) by the product of the intervention's EC50 (in moles) and the Molar mass of the drug (in mg/mol): - -$$ -\frac{\log(\text{Dose of Intervention (mg/kg)})}{(\text{Molar Mass (g/mol)} \times 1000) \times (\frac{\text{EC50 (micromoles)}}{1000000})} -$$ - -**This is a simplified approximation based on the reasoning that if drug actions are mediated through the TAAR1 receptor, and drug efficacy is reflected in the respective EC50 values, then theoretically drugs should exhibit similar effects when acting at their respective EC50.** - -The actual concentration of a drug at the receptor site is influenced by several variables, including dosage, administration route, elimination half-life, and first-pass metabolism (in case of oral administration). Incorporating all these factors accurately would necessitate a detailed pharmacokinetic model, which falls outside the scope of this review. Consequently, we assume uniformity across experiments in terms of (i) volume of distribution, (ii) first-pass metabolism, (iii) blood-brain barrier permeability, and (iv) experimental design, especially regarding the timing of peak drug concentration (where we assume that experiments were designed to be done at a time when the drug was near peak concentration). - -Figure 5.2.10.1 provides a visualisation of the meta-regression analysis relationship between standardised doses of TAAR1 agonists and the Standardized Mean Difference (SMD) change in Locomotor activity. As before, dashed lines represent the 95% confidence interval of the regression line and dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - -SMD_S_LMA_StandardDose <- metaregression_analysis(df, "TvC", "Locomotor activity", "StandardisedDose", 0.5) - -``` - -**Figure 2.3.10.2** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} -SMD_S_LMA_StandardDose$regression_plot -``` - -The estimate for $\theta$ was `r SMD_S_LMA_StandardDose$metaregression_summary$beta[1]`. The estimate for $\beta$ was `r SMD_S_LMA_StandardDose$metaregression_summary$beta[2]`. - -#### 2.3.11 SYRCLE RoB assessment - -Figure 2.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by how many of the SYRCLE risk of bias assessment criteria (of which there are 10) that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SYRCLE Risk of Bias, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.11** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_LMA_SYRCLERoB <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "RoBScore", 0.5) -``` - -`r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "0 criteria met", "k"]` experiments met none of the SYRCLE Risk of Bias criteria. `r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "1 criteria met", "k"]` experiments met one of the SYRCLE Risk of Bias criteria. `r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "2 criteria met", "k"]` experiments met two of the SYRCLE Risk of Bias criteria. No experiments met more than two of the SYRCLE Risk of Bias criteria. - -The pooled SMD estimate for the effect of TAAR1 agonists on locomotor activity in experiments that met none of the SYRCLE Risk of Bias criteria was `r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "0 criteria met", "SMD"]`. The estimate for experiments that met one of the SYRCLE Risk of Bias criteria was `r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "1 criteria met", "SMD"]`, and for those experiments that met two of the SYRCLE Risk of Bias criteria `r SMD_S_LMA_SYRCLERoB$subgroup_rma_summary[SMD_S_LMA_SYRCLERoB$subgroup_rma_summary$RoBScore == "2 criteria met", "SMD"]`. - -Figure 2.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SyRCLE Risk of Bias score, is displayed as a diamond shape at the bottom of the plot. - -#### 2.3.12 ARRIVE reporting completeness guidelines - -Experiments were categorised based on the number of ARRIVE guidelines (of which there are 23) met. The categorisation was as follows: Experiments meeting 3 or fewer criteria were labeled as "A: \< 3 criteria met"; those meeting 4 to 7 criteria were labeled "B: 4-7 criteria met"; for 8 to 11 criteria, "C: 8-11 criteria met"; for 12 to 15 criteria, "D: 12-15 criteria met"; for 16 to 19 criteria, "E: 16-19 criteria met"; and experiments meeting more than 19 criteria were labeled as "F: \> 20 criteria met". - -Figure 2.3.12 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by ARRIVE reporting completeness guidelines, is displayed as a diamond shape at the bottom of the plot. - -**Figure 2.3.12** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_LMA_ARRIVE <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "ARRIVEScoreCat", 0.5) -``` - -`r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "B: 4-7 criteria met", "k"]` experiments met between 4-7 of the ARRIVE reporting criteria. `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "C: 8-11 criteria met", "k"]` experiments met between 8-11, `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "D: 12-15 criteria met", "k"]` experiments met between 12-15, `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "E: 16-19 criteria met", "k"]` experiments met between 16-19. No experiment met below 4 or above 19 of the ARRIVE reporting criteria. - -The pooled SMD estimate for the effect of TAAR1 agonists on locomotor activity in experiments that met between 4-7 of the ARRIVE reporting completeness criteria was `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "4-7 criteria met", "SMD"]`. The estimate for experiments that met between 8-11 of the ARRIVE reporting completeness criteria was `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "8-11 criteria met", "SMD"]`, for those experiments that met between 12-15 of the ARRIVE reporting completeness criteria `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "12-15 criteria met", "SMD"]`, and for those experiments that met between 16-19 of the ARRIVE reporting completeness criteria `r SMD_S_LMA_ARRIVE$subgroup_rma_summary[SMD_S_LMA_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "16-19 criteria met", "SMD"]`. - -#### 2.3.13 Heterogeneity explained by covariates (TAAR1 Agonist v Control on locomotor activity) - -The table below shows which of the covariates, if any, explain some of the heterogeneity observed in the effect sizes of the effect of TAAR1 agonists on locomotor activity. We present marginal R^2^, which measures the proportion of variance explained by including moderators in the model. - - - -| Moderator | Category | $\beta$ | 95% CI | Marginal R^2^ | -|:-----------:|:-----------:|:-----------:|:--------------------:|:-----------:| -| Overall effect | \- | `r SMD_S_LMA$beta[1]` | `r SMD_S_LMA$ci.lb` - `r SMD_S_LMA$ci.ub` | \- | -| Sex | \- | \- | \- | `r r2_ml(SMD_S_LMA_sex$subgroup_analysis)[1]` | -| \- | *Female* | `r SMD_S_LMA_sex$subgroup_analysis$beta[1]` | `r SMD_S_LMA_sex$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_sex$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Male* | `r SMD_S_LMA_sex$subgroup_analysis$beta[2]` | `r SMD_S_LMA_sex$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_sex$subgroup_analysis$ci.ub[2]` | \- | -| \- | *Mixed* | `r SMD_S_LMA_sex$subgroup_analysis$beta[3]` | `r SMD_S_LMA_sex$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_sex$subgroup_analysis$ci.ub[3]` | \- | -| \- | *Not reported* | `r SMD_S_LMA_sex$subgroup_analysis$beta[4]` | `r SMD_S_LMA_sex$subgroup_analysis$ci.lb[4]` - `r SMD_S_LMA_sex$subgroup_analysis$ci.ub[4]` | \- | -| Category of disease model induction | \- | \- | \- | `r r2_ml(SMD_S_LMA_CatDisInd$subgroup_analysis)[1]` | -| \- | *Genetic* | `r SMD_S_LMA_CatDisInd$subgroup_analysis$beta[1]` | `r SMD_S_LMA_CatDisInd$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_CatDisInd$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Pharmacological* | `r SMD_S_LMA_CatDisInd$subgroup_analysis$beta[2]` | `r SMD_S_LMA_CatDisInd$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_CatDisInd$subgroup_analysis$ci.ub[2]` | \- | -| Administration route | \- | \- | \- | `r r2_ml(SMD_S_LMA_AdminRoute$subgroup_analysis)[1]` | -| \- | *Intraperitoneal* | `r SMD_S_LMA_AdminRoute$subgroup_analysis$beta[1]` | `r SMD_S_LMA_AdminRoute$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_AdminRoute$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Oral* | `r SMD_S_LMA_AdminRoute$subgroup_analysis$beta[2]` | `r SMD_S_LMA_AdminRoute$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_AdminRoute$subgroup_analysis$ci.ub[2]` | \- | -| Prophylactic or therapeutic intervention | \- | \- | \- | `r r2_ml(SMD_S_LMA_ProphThera$subgroup_analysis)[1]` | -| \- | *Prophylactic* | `r SMD_S_LMA_ProphThera$subgroup_analysis$beta[1]` | `r SMD_S_LMA_ProphThera$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_ProphThera$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Therapeutic* | `r SMD_S_LMA_ProphThera$subgroup_analysis$beta[2]` | `r SMD_S_LMA_ProphThera$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_ProphThera$subgroup_analysis$ci.ub[2]` | \- | -| Intervention administered | \- | \- | \- | `r r2_ml(SMD_S_LMA_Drug$subgroup_analysis)[1]` | -| \- | *AP163* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[1]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Compound 50A* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[2]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[2]` | \- | -| \- | *Compound 50B* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[3]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[3]` | \- | -| \- | *LK000764* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[4]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[4]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[4]` | \- | -| \- | *RO5073012* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[5]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[5]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[5]` | \- | -| \- | *RO5166017* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[6]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[6]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[6]` | \- | -| \- | *RO5203648* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[7]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[7]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[7]` | \- | -| \- | *RO5256390* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[8]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[8]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[8]` | \- | -| \- | *RO5263397* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[9]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[9]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[9]` | \- | -| \- | *SEP-363856 (Ultaront)* | `r SMD_S_LMA_Drug$subgroup_analysis$beta[10]` | `r SMD_S_LMA_Drug$subgroup_analysis$ci.lb[10]` - `r SMD_S_LMA_Drug$subgroup_analysis$ci.ub[10]` | \- | -| Drug efficacy | \- | \- | \- | `r r2_ml(SMD_S_LMA_DrugEfficacy$subgroup_analysis)[1]` | -| \- | *Full agonist* | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$beta[1]` | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Partial agonist* | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$beta[2]` | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.ub[2]` | \- | -| Drug selectivity | \- | \- | \- | `r r2_ml(SMD_S_LMA_DrugSelectivity$subgroup_analysis)[1]` | -| \- | *High* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[1]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Low* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[2]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[2]` | \- | -| \- | *Unclear* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[3]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[3]` | \- | -| Risk of Bias | \- | \- | \- | `r r2_ml(SMD_S_LMA_SYRCLERoB$subgroup_analysis)[1]` | -| \- | *0 criteria met* | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$beta[1]` | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.ub[1]` | \- | -| \- | *1 criteria met* | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$beta[2]` | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.ub[2]` | \- | -| \- | *2 criteria met* | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$beta[3]` | `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_SYRCLERoB$subgroup_analysis$ci.ub[3]` | \- | -| Reporting completeness | \- | \- | \- | `r r2_ml(SMD_S_LMA_ARRIVE$subgroup_analysis)[1]` | -| \- | *4-7 criteria met* | `r SMD_S_LMA_ARRIVE$subgroup_analysis$beta[1]` | `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.ub[1]` | \- | -| \- | *8-11 criteria met* | `r SMD_S_LMA_ARRIVE$subgroup_analysis$beta[2]` | `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.ub[2]` | \- | -| \- | *12-15 criteria met* | `r SMD_S_LMA_ARRIVE$subgroup_analysis$beta[3]` | `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.ub[3]` | \- | -| \- | *16-19 criteria met* | `r SMD_S_LMA_ARRIVE$subgroup_analysis$beta[4]` | `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.lb[4]` - `r SMD_S_LMA_ARRIVE$subgroup_analysis$ci.ub[4]` | \- | - - -## 2.4. Sensitivity Analyses - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -options(scipen = 100, digits = 2) -``` - -We examine the robustness of the findings for the primary outcome by performing the following sensitivity analyses - - -#### 2.4.1 Imputed rho values of 0.2 and 0.8 - -In the previous analyses for the effect of TAAR1 agonists on locomotor activity, we imputed a $\rho$ value of 0.5. Here, we examine the effect of imputing $\rho$ values of 0.2 and 0.8. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_rho0.2 <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.2) -``` - -**When the** $\rho$ value is assumed to be 0.2, the TAAR1 interventions had a pooled effect on locomotor activity of **SMD = `r SMD_S_LMA_rho0.2[["beta"]]`** (95% CI: `r SMD_S_LMA_rho0.2[["ci.lb"]]` to `r SMD_S_LMA_rho0.2[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_LMA_rho0.2)$pi.lb` to `r predict(SMD_S_LMA_rho0.2)$pi.ub`. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_rho0.8 <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.8) -``` - -**When the** $\rho$ value is assumed to be 0.8, the TAAR1 interventions had a pooled effect on locomotor activity of **SMD = `r SMD_S_LMA_rho0.8[["beta"]]`** (95% CI: `r SMD_S_LMA_rho0.8[["ci.lb"]]` to `r SMD_S_LMA_rho0.8[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_LMA_rho0.8)$pi.lb` to `r predict(SMD_S_LMA_rho0.8)$pi.ub`. - -For reference the pooled effect size when rho is assumed to be 0.5 is `r SMD_S_LMA[["beta"]]` (95% CI: `r SMD_S_LMA[["ci.lb"]]` to `r SMD_S_LMA[["ci.ub"]]`). - -#### 2.4.2 NMD - -For locomotor activity, an NMD was calculable for `r df_S_LMA %>% filter(NMD_possible == "TRUE") %>% nrow()` out of `r nrow(df_S_LMA)` comparisons, i.e. `r ((df_S_LMA %>% filter(NMD_possible == "TRUE") %>% nrow())/(nrow(df_S_LMA)))*100` % of comparisons. - -The effect of administering a TAAR1 agonist on locomotor activity in animals using NMD as the effect size is shown in Figure x. The pooled estimate for NMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -NMD_S_LMA <- run_ML_NMD(df, "TvC", "Locomotor activity", 0.5) -``` - -**2.4.2** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} -forest_metafor_NMD(NMD_S_LMA, "locomotor hyperactivity") -``` - -For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on locomotor activity of NMD = `r NMD_S_LMA[["beta"]]` (95% CI: `r NMD_S_LMA[["ci.lb"]]` to `r NMD_S_LMA[["ci.ub"]]`) with a prediction interval of `r predict(NMD_S_LMA)$pi.lb` to `r predict(NMD_S_LMA)$pi.ub`. For reference the pooled effect size for SMD was `r SMD_S_LMA[["beta"]]` (95% CI: `r SMD_S_LMA[["ci.lb"]]` to `r SMD_S_LMA[["ci.ub"]]`). - - - -## 2.5. Reporting bias/small-study effects - -Because of the relationship between SMD effect sizes and variance inherent in their calculation, where study size is small the standard approach to seeking evidence of small-study effects (regression based tests including Egger's regression test for multilevel meta-analysis) can lead to over-estimation of small-study effect (see for instance 10.7554/eLife.24260). To address this we used Egger's regression test for multilevel meta-analysis, with regression of SMD effect size against 1/√N, where N is the total number of animals involved in an experiment. - -```{r warning=FALSE, eval = TRUE, echo = FALSE} -run_sse_plot_SMD(df) -#run_sse_NMD(df) -``` - -Egger regression based on `r run_sse_SMD(df)[["k"]]` studies of TAAR1 Agonist v Control where Locomotor activity was measured showed a coefficient for a small study effect of `r run_sse_SMD(df)[["beta"]][2]` (95% CI: `r run_sse_SMD(df)[["ci.lb"]][2]` to `r run_sse_SMD(df)[["ci.ub"]][2]`; p = `r ifelse(run_sse_SMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_SMD(df)[["pval"]][2]))`) in the context of a baseline estimate of effect of `r run_sse_SMD(df)[["beta"]][1]` (95% CI: `r run_sse_SMD(df)[["ci.lb"]][1]` to `r run_sse_SMD(df)[["ci.ub"]][1]`; p = `r ifelse(run_sse_SMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_SMD(df)[["pval"]][1]))`). - -```{r echo = FALSE} -## 8.1.2 Egger's regression test for multilevel meta-analysis: NMD v SE -# -#```{r warning=FALSE, eval = TRUE, echo = FALSE} -#run_sse_plot(df) -#run_sse_NMD(df) -#``` -# -#Egger regression based on `r run_sse_NMD(df)[["k"]]` studies of TAAR1 Agonist v Control where Locomotor activity was measured and NMD was evaluable showed a coefficient for a small study effect of `r #run_sse_NMD(df)[["beta"]][2]` (95% CI: `r run_sse_NMD(df)[["ci.lb"]][2]` to `r run_sse_NMD(df)[["ci.ub"]][2]`; p = `r ifelse(run_sse_NMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_NMD(df)[["pval"]][2]))`) in #the context of a baseline estimate of effect of `r run_sse_NMD(df)[["beta"]][1]` (95% CI: `r run_sse_NMD(df)[["ci.lb"]][1]` to `r run_sse_NMD(df)[["ci.ub"]][1]`; p = `r ifelse(run_sse_NMD(df)[["pval"]][2] < 0.001, "<0.001", #sprintf("%.3f", run_sse_NMD(df)[["pval"]][1]))`). -``` - -# 3 TAAR1 Agonists v Control: Outcome 1: Cognitive function -## 3.1 Risk of bias and reporting completeness assessment - -##### 3.1.1 Risks of bias - -Figure 3.1.1a shows the risk of bias summary for studies investigating the effect of administering a TAAR1 agonist on cognition in animals. The risk of bias assessment was performed using the SYRCLE's RoB tool. Figure 3.1.1b shows the corresponding traffic light plot. - -**Figure 3.1.1a** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} -SyRCLE_RoB_summary(df, "TvC", "Cognition") -``` - -**Figure 3.1.1b** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, height = 5} -SyRCLE_RoB_traffic(df, "TvC", "Cognition") -``` - -##### 3.1.2 Reporting completeness - -Figure 3.1.2a shows the reporting completeness summary for studies investigating the effect of administering a TAAR1 agonist on cognition in animals. The reporting completeness assessment was performed using the ARRIVE guidelines. Figure 3.1.2b shows the corresponding traffic light plot. - -**Figure 3.1.2a** - -```{r warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 5} -ARRIVE_summary(df, "TvC", "Cognition") -``` - -**Figure 3.1.2b** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 7} - -ARRIVE_traffic(df, "TvC", "Cognition") -``` - -## 3.2 TAAR1 Agonist v Control - -The effect of administering a TAAR1 agonist on cognitive outcomes in animals using SMD as the effect size is shown in Figure 3.2.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_cog <- run_ML_SMD(df, "TvC", "Cognition", 0.5) -if (any(class(SMD_S_cog) == "rma.mv")) { - output_text1 <- "Figure 3.2.1" -} else { - output_text1 <- "" -} -``` - -**`r output_text1`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=7} -forest_metafor(SMD_S_cog, "TvC", "cognition") -``` - -```{r echo=FALSE} -if (any(class(SMD_S_cog) == "rma.mv")) { - output_text3 <- paste0("For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on cognitive outcomes of SMD =", round(SMD_S_cog[['beta']], 3), " (95% CI: ", round(SMD_S_cog[['ci.lb']], 3), " to ", round(SMD_S_cog[['ci.ub']], 3), ", with a prediction interval of", round(predict(SMD_S_cog)$pi.lb, 3), " to ", round(predict(SMD_S_cog)$pi.ub, 3)) - output_text4 <- paste0("Between-strain variance was", round(SMD_S_cog$sigma2[1], 3), ", between-study variance was", round(SMD_S_cog$sigma2[2], 3), ", and within-study variance (between experiments) was", round(SMD_S_cog$sigma2[3], 3)) -} else { - output_text3 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." - output_text4 <- "" -} -``` - -`r output_text3` - -`r output_text4` - - - -## 3.3 Subgroup analyses and meta-regressions -#### 3.3.1 Sex - -Figure 3.3.1 displays the estimates for the pooled SMD's when comparisons are stratified by sex of the animal. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by sex, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.1** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_sex <- plot_subgroup_analysis(df, "TvC", "Cognition", "Sex", 0.5) -``` - -`r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Not reported", "k"]` comparisons did not report the sex of the animals used within the experimental cohort. `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Male", "k"]` comparisons used cohorts of only male animals and `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Female", "k"]` comparisons used cohorts of only female animals. There were `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Mixed male and female", "k"]` comparisons using cohorts of both male and female animals. - -The pooled SMD estimate for male animals was `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Male", "SMD"]`, for females `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Female", "SMD"]`, and for mixed cohorts `r SMD_S_cog_sex$subgroup_rma_summary[SMD_S_cog_sex$subgroup_rma_summary$Sex == "Mixed male and female", "SMD"]`. - -#### 3.3.2 Category of disease induction - -Figure 3.3.2 displays the estimates for the pooled SMD's when comparisons are stratified by the category of disease induction. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by category of disease induction, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.2** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_CatDisInd <- plot_subgroup_analysis(df, "TvC", "Cognition", "CategoryDiseaseInduction", 0.5) -``` - -`r SMD_S_cog_CatDisInd$subgroup_rma_summary[SMD_S_cog_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "k"]` comparisons used pharmacological methods to induce the disease model. `r SMD_S_cog_CatDisInd$subgroup_rma_summary[SMD_S_cog_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "k"]` comparisons used genetic methods to induce the disease model. - -The pooled SMD estimate for comparisons using pharmacological methods to induce the disease model was `r SMD_S_cog_CatDisInd$subgroup_rma_summary[SMD_S_cog_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "SMD"]`, and for comparisons using genetic methods to induce the disease model `r SMD_S_cog_CatDisInd$subgroup_rma_summary[SMD_S_cog_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "SMD"]`. - -#### 3.3.3 Route of intervention administration - -Figure 3.3.3 displays the estimates for the pooled SMD's when comparisons are stratified by the administration route of the intervention. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by administration route of the intervention, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.3** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_AdminRoute <- plot_subgroup_analysis(df, "TvC", "Cognition", "InterventionAdministrationRoute", 0.5) -``` - -`r SMD_S_cog_AdminRoute$subgroup_rma_summary[SMD_S_cog_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "k"]` comparisons administered the TAAR1 agonist intraperitoneally. `r SMD_S_cog_AdminRoute$subgroup_rma_summary[SMD_S_cog_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Oral administration/gavage", "k"]` comparisons administered the TAAR1 agonist orally. - -The pooled SMD estimate for experiments administering the TAAR1 agonist intraperitoneally was `r SMD_S_cog_AdminRoute$subgroup_rma_summary[SMD_S_cog_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "SMD"]`, and for experiments administering the TAAR1 agonist orally `r SMD_S_cog_AdminRoute$subgroup_rma_summary[SMD_S_cog_AdminRoute$subgroup_rma_summary$InterventionAdministrationRoute == "Oral administration/gavage", "SMD"]`. - -#### 3.3.4 Prophylactic or therapeutic intervention - -In this iteration of the review, all relevant comparisons administered the TAAR1 agonist after induction of the disease model. Therefore, no subgroup analyses were conducted for this variable. - -#### 3.3.5 Duration of treatment period - -In this iteration of the review, all relevant comparisons administered the TAAR1 agonist for \< 1 week. Therefore, no subgroup analyses were conducted for this variable. - -#### 3.3.6 The intervention administered - -Figure 3.3.6 displays the estimates for the pooled SMD's when comparisons are stratified by the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by the intervention administered, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.6** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_Drug <- plot_subgroup_analysis(df, "TvC", "Cognition", "DrugName", 0.5) -``` - -The TAAR1 agonist SEP-363856 (Ultaront) was administered in `r SMD_S_LMA_Drug$subgroup_rma_summary[SMD_S_LMA_Drug$subgroup_rma_summary$DrugName == "SEP-363856", "k"]` experiments. `r SMD_S_cog_Drug$subgroup_rma_summary[SMD_S_cog_Drug$subgroup_rma_summary$DrugName == "RO5203648", "k"]` experiments administered the TAAR1 agonist RO5203648, and `r SMD_S_cog_Drug$subgroup_rma_summary[SMD_S_cog_Drug$subgroup_rma_summary$DrugName == "RO5256390", "k"]` experiments administered the TAAR1 agonist RO5256390. - -The pooled SMD estimate for experiments administering the TAAR1 agonist SEP-363856 was `r SMD_S_cog_Drug$subgroup_rma_summary[SMD_S_cog_Drug$subgroup_rma_summary$DrugName == "SEP-363856", "SMD"]`, for experiments administering the TAAR1 agonist RO5203648 `r SMD_S_cog_Drug$subgroup_rma_summary[SMD_S_cog_Drug$subgroup_rma_summary$DrugName == "RO5203648", "SMD"]`, and for experiments administering the TAAR1 agonist RO5256390 `r SMD_S_cog_Drug$subgroup_rma_summary[SMD_S_cog_Drug$subgroup_rma_summary$DrugName == "RO5256390", "SMD"]`. - -#### 3.3.7 The efficacy of the drug (i.e. whether the drug is a partial or full agonist) - -In this iteration of the review, all relevant comparisons administered the TAAR1 agonists with partial agonist activity. Therefore, no subgroup analyses were conducted for this variable. - -#### 3.3.8 The selectivity of the drug - -Figure 3.3.8 displays the estimates for the pooled SMD's when comparisons are stratified by the selectivity of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention selectivity, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.8** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_DrugSelectivity <- plot_subgroup_analysis(df, "TvC", "Cognition", "Selectivity", 0.5) -``` - -TAAR1 agonists with high selectivity were used in `r SMD_S_cog_DrugSelectivity$subgroup_rma_summary[SMD_S_cog_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "k"]` experiments. TAAR1 drugs with additional agonist activity at serotonin 5HT1A receptors were used in `r SMD_S_cog_DrugSelectivity$subgroup_rma_summary[SMD_S_cog_DrugSelectivity$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "k"]` experiments. - -The pooled SMD estimate for experiments administering TAAR1 agonists with high selectivity was `r SMD_S_cog_DrugSelectivity$subgroup_rma_summary[SMD_S_cog_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "SMD"]`, and for experiments administering TAAR1 agonists with low selectivity `r SMD_S_cog_DrugSelectivity$subgroup_rma_summary[SMD_S_cog_DrugSelectivity$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "SMD"]`. - -#### 3.3.9 Potency of intervention - -The pEC50 value of each drug was used to measure potency. The pEC50 value is the negative logarithm (to base 10) of the EC50 value. Higher pEC50 values indicate higher potency (as they indicate a lower EC50). Figure x displays a visualisation of the meta-regression using the pEC50 value as an explanatory variable. Dashed lines represent the 95% confidence interval of the regression line. The dotted lines represent the 95% prediction interval. Raw data is plotted with 'bubble' size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - -SMD_S_cog_potency <- metaregression_analysis(df, "TvC", "Cognition", "pE50", 0.5) - -``` - -**Figure 3.3.9** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} -SMD_S_cog_potency$regression_plot -``` - -The estimate for $\theta$ was `r SMD_S_cog_potency$metaregression_summary$beta[1]`. This gives the predicted SMD when the pEC50 of the intervention is 0. Note that this should be interpreted with caution; since the logarithm of zero is undefined (it tends towards negative infinity), a pEC50 value cannot be 0 unless the EC50 is 1 mol/L. The estimate for $\theta$ can be interpreted as the estimated SMD when the EC50 is 1 mol/L (1000mM), which signifies extremely low potency. - -The estimate for $\beta$ was `r SMD_S_cog_potency$metaregression_summary$beta[2]`. This represents the predicted regression weight for the pEC50 of the intervention. - -#### 3.3.10 Dose of intervention - -In this iteration of the review, the TAAR1 agonists tested against control for their effect on cognition were; **`r drugs <- df %>% filter(SortLabel == "TvC") %>% filter(outcome_type == "Cognition") %>% group_by(DrugName) %>% summarise(count = n()) %>% arrange(desc(count)) %>% pull(DrugName); if (length(drugs) > 1) {paste(paste(head(drugs, -1), collapse = ", "), "and", tail(drugs, 1))} else {drugs}`**. Meta-regression using the administered dose as an explanatory variable was conducted for each drug where this had been reported in 10 or more experiments from 3 or more publications. Where there are sufficient data, the dashed lines in the plot represents the 95% confidence interval of the regression line and the dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_RO5203648_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5203648", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "RO5203648") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5203648: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_RO5203648_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5203648") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_RO5263397_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5263397", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "RO5263397") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5263397: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_RO5263397_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5263397") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_SEP363856_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "SEP-363856", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "SEP-363856") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("SEP-363856 (Ultaront): There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_SEP363856_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "SEP-363856") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_RO5166017_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5166017", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "RO5166017") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5166017: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_RO5166017_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5166017") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_LK000764_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "LK000764", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "LK000764") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("LK000764: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_LK000764_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "LK000764") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_RO5256390_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5256390", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "RO5256390") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5256390: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_RO5256390_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5256390") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_Compound50B_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "Compound 50B", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "Compound 50B") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("Compound 50B: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_Compound50B_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "Compound 50B") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_Compound50A_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "Compound 50A", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "Compound 50A") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("Compound 50A: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_Compound50A_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "Compound 50A") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_RO5073012_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5073012", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "RO5073012") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("RO5073012: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_RO5073012_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5073012") -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_AP163_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "AP163", "DoseOfIntervention_mgkg", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -diag1 <- df %>% -filter(SortLabel == "TvC") %>% -filter(outcome_type == "Cognition") %>% -filter(DrugName == "AP163") %>% -filter(!is.na(SMDv)) %>% -filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) -diag2 <- n_distinct(diag1$StudyId) -diag3 <- nrow(diag1) - -output_text0 <- paste0("AP163: There were ", diag3, " comparisons from ", diag2, " publication(s).") - -``` - -`r output_text0` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - metaregression_plot_by_drug(SMD_S_Cog_AP163_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "AP163") -``` - -##### Standardised dose - -We then sought evidence of a dose response relationship across all drugs. To do this, we conducted meta-regression using a standardised dose variable. This variable quantifies the administered dose as a multiple of the drug's EC50, indicating how many times the dose administered was greater (or lesser) than the concentration needed to achieve half-maximal effect. For example, if a drug's dose is twice its EC50, the standardized dose would be 2, indicating that the dose is twice the concentration needed to achieve half-maximal effect. - -The standardised dose was calculated by dividing the log-transformed dose of the intervention (in mg/kg) by the product of the intervention's EC50 (in moles) and the Molar mass of the drug (in mg/mol): - -$$ -\frac{\log(\text{Dose of Intervention (mg/kg)})}{(\text{Molar Mass (g/mol)} \times 1000) \times (\frac{\text{EC50 (micromoles)}}{1000000})} -$$ - -**This is a simplified approximation based on the reasoning that if drug actions are mediated through the TAAR1 receptor, and drug efficacy is reflected in the respective EC50 values, then theoretically drugs should exhibit similar effects when acting at their respective EC50.** - -The actual concentration of a drug at the receptor site is influenced by several variables, including dosage, administration route, elimination half-life, and first-pass metabolism (in case of oral administration). Incorporating all these factors accurately would necessitate a detailed pharmacokinetic model, which falls outside the scope of this review. Consequently, we assume uniformity across experiments in terms of (i) volume of distribution, (ii) first-pass metabolism, (iii) blood-brain barrier permeability, and (iv) experimental design, especially regarding the timing of peak drug concentration (where we assume that experiments were designed to be done at a time when the drug was near peak concentration). - -Figure 5.2.10.1 provides a visualisation of the meta-regression analysis relationship between standardised doses of TAAR1 agonists and the Standardized Mean Difference (SMD) change in cognition. As before, dashed lines represent the 95% confidence interval of the regression line and dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - -SMD_S_cog_StandardDose <- metaregression_analysis(df, "TvC", "Cognition", "StandardisedDose", 0.5) - -``` - -**Figure 3.3.10** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} -SMD_S_cog_StandardDose$regression_plot -``` - -The estimate for $\theta$ was `r SMD_S_cog_StandardDose$metaregression_summary$beta[1]`. The estimate for $\beta$ was `r SMD_S_cog_StandardDose$metaregression_summary$beta[2]`. - -#### 3.3.11 SYRCLE RoB assessment - -Figure 3.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by how many of the SYRCLE risk of bias assessment criteria (of which there are 10) that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SYRCLE RoB assessment, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.11** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_SYRCLERoB <- plot_subgroup_analysis(df, "TvC", "Cognition", "RoBScore", 0.5) -``` - -`r SMD_S_cog_SYRCLERoB$subgroup_rma_summary[SMD_S_cog_SYRCLERoB$subgroup_rma_summary$RoBScore == "0 criteria met", "k"]` experiments met none of the SYRCLE Risk of Bias criteria. `r SMD_S_cog_SYRCLERoB$subgroup_rma_summary[SMD_S_cog_SYRCLERoB$subgroup_rma_summary$RoBScore == "1 criteria met", "k"]` experiments met one of the SYRCLE Risk of Bias criteria. No studies met more than one of the SYRCLE Risk of Bias criteria. - -The pooled SMD estimate for experiments that met none of the SYRCLE Risk of Bias criteria was `r SMD_S_cog_SYRCLERoB$subgroup_rma_summary[SMD_S_cog_SYRCLERoB$subgroup_rma_summary$RoBScore == "0 criteria met", "SMD"]`, and for experiments that met one of the SYRCLE Risk of Bias criteria `r SMD_S_cog_SYRCLERoB$subgroup_rma_summary[SMD_S_cog_SYRCLERoB$subgroup_rma_summary$RoBScore == "1 criteria met", "SMD"]`. - -Figure 3.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SyRCLE Risk of Bias, is displayed as a diamond shape at the bottom of the plot. - -#### 3.3.12 ARRIVE reporting completeness guidelines - -Experiments were categorised based on the number of ARRIVE guidelines (of which there are 23) met. The categorisation was as follows: Experiments meeting 3 or fewer criteria were labeled as "A: \< 3 criteria met"; those meeting 4 to 7 criteria were labeled "B: 4-7 criteria met"; for 8 to 11 criteria, "C: 8-11 criteria met"; for 12 to 15 criteria, "D: 12-15 criteria met"; for 16 to 19 criteria, "E: 16-19 criteria met"; and experiments meeting more than 19 criteria were labeled as "F: \> 20 criteria met". - -Figure 3.3.12 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by ARRIVE reporting completeness guidelines, is displayed as a diamond shape at the bottom of the plot. - -**Figure 3.3.12** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} -SMD_S_cog_ARRIVE <- plot_subgroup_analysis(df, "TvC", "Cognition", "ARRIVEScoreCat", 0.5) -``` - -`r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "C: 8-11 criteria met", "k"]` experiments met between 8-11 of the ARRIVE reporting completeness criteria. No studies met less than 8 or more than 19 of the ARRIVE reporting completeness criteria. `r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "D: 12-15 criteria met", "k"]` experiments met between 12-15, and `r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "E: 16-19 criteria met", "k"]` experiments met between 16-19 of the ARRIVE reporting completeness criteria. No studies met less than 8 or more than 19 of the ARRIVE reporting completeness criteria. - -The pooled SMD estimate for experiments that met between 8-11 of the ARRIVE reporting completeness criteria was `r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "C: 8-11 criteria met", "SMD"]`, and for experiments that met between 12-15 of the ARRIVE reporting completeness criteria `r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "D: 12-15 criteria met", "SMD"]`, and for experiments that met between 16-19 of the ARRIVE reporting completeness criteria `r SMD_S_cog_ARRIVE$subgroup_rma_summary[SMD_S_cog_ARRIVE$subgroup_rma_summary$ARRIVEScoreCat == "E: 16-19 criteria met", "SMD"]`. - -#### 3.3.13 Heterogeneity explained by covariates (TAAR1 Agonist v Control on cognition) - -The table below shows which of the covariates, if any, explain some of the heterogeneity observed in the effect sizes of the effect of TAAR1 agonists on cognition. We present marginal R^2^, which measures the proportion of variance explained by including moderators in the model. - - - -| Moderator | Category | $\beta$ | 95% CI | Marginal R^2^ | -|:-----------:|:-----------:|:-----------:|:--------------------:|:-----------:| -| Overall effect | \- | `r SMD_S_cog$beta[1]` | `r SMD_S_cog$ci.lb` - `r SMD_S_cog$ci.ub` | \- | -| Sex | \- | \- | \- | `r r2_ml(SMD_S_cog_sex$subgroup_analysis)[1]` | -| \- | *Female* | `r SMD_S_cog_sex$subgroup_analysis$beta[1]` | `r SMD_S_cog_sex$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_sex$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Male* | `r SMD_S_cog_sex$subgroup_analysis$beta[2]` | `r SMD_S_cog_sex$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_sex$subgroup_analysis$ci.ub[2]` | \- | -| \- | *Mixed male and female* | `r SMD_S_cog_sex$subgroup_analysis$beta[3]` | `r SMD_S_cog_sex$subgroup_analysis$ci.lb[3]` - `r SMD_S_cog_sex$subgroup_analysis$ci.ub[3]` | \- | -| Category of disease model induction | \- | \- | \- | `r r2_ml(SMD_S_cog_CatDisInd$subgroup_analysis)[1]` | -| \- | *Genetic* | `r SMD_S_cog_CatDisInd$subgroup_analysis$beta[1]` | `r SMD_S_cog_CatDisInd$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_CatDisInd$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Pharmacological* | `r SMD_S_cog_CatDisInd$subgroup_analysis$beta[2]` | `r SMD_S_cog_CatDisInd$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_CatDisInd$subgroup_analysis$ci.ub[2]` | \- | -| Administration route | \- | \- | \- | `r r2_ml(SMD_S_cog_AdminRoute$subgroup_analysis)[1]` | -| \- | *Intraperitoneal* | `r SMD_S_cog_AdminRoute$subgroup_analysis$beta[1]` | `r SMD_S_cog_AdminRoute$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_AdminRoute$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Oral* | `r SMD_S_cog_AdminRoute$subgroup_analysis$beta[2]` | `r SMD_S_cog_AdminRoute$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_AdminRoute$subgroup_analysis$ci.ub[2]` | \- | -| Intervention administered | \- | \- | \- | `r r2_ml(SMD_S_cog_Drug$subgroup_analysis)[1]` | -| \- | *RO5203648* | `r SMD_S_cog_Drug$subgroup_analysis$beta[1]` | `r SMD_S_cog_Drug$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_Drug$subgroup_analysis$ci.ub[1]` | \- | -| \- | *RO5256390* | `r SMD_S_cog_Drug$subgroup_analysis$beta[2]` | `r SMD_S_cog_Drug$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_Drug$subgroup_analysis$ci.ub[2]` | \- | -| \- | *SEP-363856 (Ultaront)* | `r SMD_S_cog_Drug$subgroup_analysis$beta[3]` | `r SMD_S_cog_Drug$subgroup_analysis$ci.lb[3]` - `r SMD_S_cog_Drug$subgroup_analysis$ci.ub[3]` | \- | -| Drug selectivity | \- | \- | \- | `r r2_ml(SMD_S_cog_DrugSelectivity$subgroup_analysis)[1]` | -| \- | *High* | `r SMD_S_cog_DrugSelectivity$subgroup_analysis$beta[1]` | `r SMD_S_cog_DrugSelectivity$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_DrugSelectivity$subgroup_analysis$ci.ub[1]` | \- | -| \- | *Low* | `r SMD_S_cog_DrugSelectivity$subgroup_analysis$beta[2]` | `r SMD_S_cog_DrugSelectivity$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_DrugSelectivity$subgroup_analysis$ci.ub[2]` | \- | -| Risk of Bias | \- | \- | \- | `r r2_ml(SMD_S_cog_SYRCLERoB$subgroup_analysis)[1]` | -| \- | *0 criteria met* | `r SMD_S_cog_SYRCLERoB$subgroup_analysis$beta[1]` | `r SMD_S_cog_SYRCLERoB$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_SYRCLERoB$subgroup_analysis$ci.ub[1]` | \- | -| \- | *1 criteria met* | `r SMD_S_cog_SYRCLERoB$subgroup_analysis$beta[2]` | `r SMD_S_cog_SYRCLERoB$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_SYRCLERoB$subgroup_analysis$ci.ub[2]` | \- | -| Reporting completeness | \- | \- | \- | `r r2_ml(SMD_S_cog_ARRIVE$subgroup_analysis)[1]` | -| \- | *8-11 criteria met* | `r SMD_S_cog_ARRIVE$subgroup_analysis$beta[1]` | `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.lb[1]` - `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.ub[1]` | \- | -| \- | *12-15 criteria met* | `r SMD_S_cog_ARRIVE$subgroup_analysis$beta[2]` | `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.lb[2]` - `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.ub[2]` | \- | -| \- | *16-19 criteria met* | `r SMD_S_cog_ARRIVE$subgroup_analysis$beta[3]` | `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.lb[3]` - `r SMD_S_cog_ARRIVE$subgroup_analysis$ci.ub[3]` | \- | - -## 3.4. Sensitivity Analyses - -#### 3.4.1 Imputed rho values of 0.2 and 0.8 - -In the previous analyses for the effect of TAAR1 agonists on cognition, we imputed a $\rho$ value of 0.5. Here, we examine the effect of imputing $\rho$ values of 0.2 and 0.8. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_cog_rho0.2 <- run_ML_SMD(df, "TvC", "Cognition", 0.2) -``` - -**When the** $\rho$ value is assumed to be 0.2, the TAAR1 interventions had a pooled effect on cognition of **SMD = `r SMD_S_cog_rho0.2[["beta"]]`** (95% CI: `r SMD_S_cog_rho0.2[["ci.lb"]]` to `r SMD_S_cog_rho0.2[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_cog_rho0.2)$pi.lb` to `r predict(SMD_S_cog_rho0.2)$pi.ub`. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_cog_rho0.8 <- run_ML_SMD(df, "TvC", "Cognition", 0.8) -``` - -**When the** $\rho$ value is assumed to be 0.8, the TAAR1 interventions had a pooled effect on cognition of **SMD = `r SMD_S_cog_rho0.8[["beta"]]`** (95% CI: `r SMD_S_cog_rho0.8[["ci.lb"]]` to `r SMD_S_cog_rho0.8[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_cog_rho0.8)$pi.lb` to `r predict(SMD_S_cog_rho0.8)$pi.ub`. - -For reference the pooled effect size when rho is assumed to be 0.5 is `r SMD_S_cog[["beta"]]` (95% CI: `r SMD_S_cog[["ci.lb"]]` to `r SMD_S_cog[["ci.ub"]]`). - -#### 3.4.3 NMD - -For cognition, an NMD was calculable for `r df_S_cog %>% filter(NMD_possible == "TRUE") %>% nrow()` out of `r nrow(df_S_cog)` comparisons, i.e. `r ((df_S_cog %>% filter(NMD_possible == "TRUE") %>% nrow())/(nrow(df_S_cog)))*100` % of comparisons. - -The effect of administering a TAAR1 agonist on cognition in animals using NMD as the effect size is shown in Figure x. The pooled estimate for NMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -NMD_S_cog <- run_ML_NMD(df, "TvC", "Cognition", 0.5) -``` - -**Figure x** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} -forest_metafor_NMD(NMD_S_cog, "Cognition") -``` - -For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on cognition of NMD = `r NMD_S_cog[["beta"]]` (95% CI: `r NMD_S_cog[["ci.lb"]]` to `r NMD_S_cog[["ci.ub"]]`) with a prediction interval of `r predict(NMD_S_cog)$pi.lb` to `r predict(NMD_S_cog)$pi.ub`. For reference the pooled effect size for SMD was `r SMD_S_cog[["beta"]]` (95% CI: `r SMD_S_cog[["ci.lb"]]` to `r SMD_S_cog[["ci.ub"]]`). - -# 4 "TAAR1 Agonist v known antipsychotic drug" (TAAR1 Ag v known antipsychotic drugs) experiments - -## 4.1 Outcome 1: Locomotor activity (a primary outcome) - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_H2H <- run_ML_SMD(df, "TvA", "Locomotor activity", 0.5) -``` - -```{r echo=FALSE} - if (any(class(SMD_S_LMA_H2H) == "rma.mv")) { - output_text1 <- "In TAAR1 Agonist v known antipsychotic drug studies, the effect of administering a TAAR1 agonist on Locomotor activity in animals using SMD as the effect size is shown in Figure 4.2.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." - output_text2 <- "Figure 4.2.1" -} else { - output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} -forest_metafor(SMD_S_LMA_H2H, "TvA", "locomotor activity") -``` - -```{r echo=FALSE} - if (any(class(SMD_S_LMA_H2H) == "rma.mv")) { - output_text3 <- paste0("For TAAR1 Agonist v known antipsychotic drug comparisons, TAAR1 interventions had a pooled effect on locomotor activity of SMD =", round(SMD_S_LMA_H2H[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_H2H[['ci.lb']], 3), " to ", round(SMD_S_LMA_H2H[['ci.ub']], 3), ", with a prediction interval of", round(predict(SMD_S_LMA_H2H)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_H2H)$pi.ub, 3)) - output_text4 <- paste0("Between-strain variance was", round(SMD_S_LMA_H2H$sigma2[1], 3), ", between-study variance was", round(SMD_S_LMA_H2H$sigma2[2], 3), ", and within-study variance (between experiments) was", round(SMD_S_LMA_H2H$sigma2[3], 3)) -} else { - output_text3 <- "" - output_text4 <- "" -} -``` - -`r output_text3` - -`r output_text4` - - - -## 4.2 Outcome 2: Cognition (a secondary outcome) - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_H2H <- run_ML_SMD(df, "TvA", "Cognition", 0.5) -``` - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} - if (any(class(SMD_S_Cog_H2H) == "rma.mv")) { - output_text1 <- "In TAAR1 Agonist v known antipsychotic drug studies, the effect of administering a TAAR1 agonist on cognitive outcomes in animals using SMD as the effect size is shown in Figure 4.2.2. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." - output_text2 <- "Figure 4.2.2" -} else { - output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." - output_text2 <- "" -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} -forest_metafor(SMD_S_Cog_H2H, "TvA","Cognition") -``` - -```{r echo=FALSE} - if (any(class(SMD_S_Cog_H2H) == "rma.mv")) { - output_text3 <- paste0("For TAAR1 Agonist v known antipsychotic drug comparisons, TAAR1 interventions had a pooled effect on cognitive outcomes of SMD = `r SMD_S_Cog_H2H[['beta']]` (95% CI: `r SMD_S_Cog_H2H[['ci.lb']]` to `r SMD_S_Cog_H2H[['ci.ub']]`) with a prediction interval of `r predict(SMD_S_Cog_H2H)$pi.lb` to `r predict(SMD_S_Cog_H2H)$pi.ub`.") - output_text4 <- paste0("Between-strain variance was `r SMD_S_Cog_H2H$sigma2[1]`, between-study variance was `r SMD_S_Cog_H2H$sigma2[2]`, and within-study variance (between experiments) was `r SMD_S_Cog_H2H$sigma2[3]`") -} else { - output_text3 <- "" - output_text4 <- "" -} -``` - -`r output_text3` - -`r output_text4` - - - -# 5 Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone - -## 5.1 Outcome 1: Locomotor activity (a primary outcome) - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_LMA_TAA <- run_ML_SMD(df, "TAvA", "Locomotor activity", 0.5) -``` - -```{r echo=FALSE} - if (any(class(SMD_S_LMA_TAA) == "rma.mv")) { - output_text1 <- "For combination studies, the effect of administering a TAAR1 agonist plus a conventional antipsychotic drug, compared with TAAR1 agonist alone, on locomotor activity in animals using SMD as the effect size is shown in Figure 4.3.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." - output_text2 <- "Figure 4.3.1" -} else { - output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." - output_text2 <- "" -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} -forest_metafor(SMD_S_LMA_TAA, "TAvA","Locomotor activity") -``` - -```{r echo = FALSE} -# Check if the object is NULL - if (any(class(SMD_S_LMA_TAA) == "rma.mv")) { - output_text3 <- paste0("For combination experiments, TAAR1 agonists with antipsychotic drugs, compared with antipsychotic drugs alone, had a pooled effect on locomotor activity of SMD =", round(SMD_S_LMA_TAA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_TAA[['ci.lb']], 3), " to ", round(SMD_S_LMA_TAA[['ci.ub']], 3),", with a prediction interval of ", round(predict(SMD_S_LMA_TAA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_TAA)$pi.ub, 3)) - output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA_TAA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA_TAA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA_TAA$sigma2[3], 3)) -} else { - output_text3 <- "" - output_text4 <- "" -} - -``` - -`r output_text3` - -`r output_text4` - -## 5.2 Outcome 2: Cognition (a secondary outcome) - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} -SMD_S_Cog_TAA <- run_ML_SMD(df, "TAvA", "Cognition", 0.5) -``` - -```{r echo=FALSE} - if (any(class(SMD_S_Cog_TAA) == "rma.mv")) { - output_text1 <- "For combination studies, the effect of administering a TAAR1 agonist plus a conventional antipsychotic drug, compared with TAAR1 agonist alone, on cognitive function in animals using SMD as the effect size is shown in Figure 4.3.2. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." - output_text2 <- "Figure 4.3.2" -} else { - output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." - output_text2 <- "" -} -``` - -`r output_text1` - -**`r output_text2`** - -```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} -forest_metafor(SMD_S_Cog_TAA, "TAvA","Cognition") -``` - -```{r echo = FALSE} - if (any(class(SMD_S_Cog_TAA) == "rma.mv")) { - output_text3 <- paste0("For combination experiments, TAAR1 agonists with antipsychotic drugs, compared with antipsychotic drugs alone, had a pooled effect on cognition of SMD =", round(SMD_S_LMA_TAA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_TAA[['ci.lb']], 3), " to ", round(SMD_S_LMA_TAA[['ci.ub']], 3),", with a prediction interval of ", round(predict(SMD_S_LMA_TAA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_TAA)$pi.ub, 3)) - output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA_TAA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA_TAA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA_TAA$sigma2[3], 3)) -} else { - output_text3 <- "" - output_text4 <- "" -} - -``` - -`r output_text3` - -`r output_text4` - -# 6. Summary of the evidence - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Source of evidence  

Summary of the association  

Bias due to study limitations

Bias due to reporting bias

Bias due to indirectedness  

Bias due to other reasons

Animal and pre-clinical studies

No studies were of low risk of bias or low reporting bias

Egger Regression suggested that smaller studies report larger effects.

-

This might occur if smaller studies reporting larger effects were disproportionately represented in those studies for which NMD was not evaluable those which did not report performance in a sham group.

Bias due to indirectness was assessed as follows. The Initial organism Homological validity We assessed rodents as having moderate validity as a non primate mammalian species, and all experiments included here were conducted in rodents. Further, r SMD_S_LMA_CatDisInd$subgroup_rma_summarySMD_S_LMA_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == Genetic e.g. DISC1 KO, DAT KO, D2R overexpression k experiments reporting locomotor activity and r SMD_S_cog_CatDisInd$subgroup_rma_summarySMD_S_cog_CatDisInd$subgroup_rma_summary$CategoryDiseaseInduction == Genetic e.g. DISC1 KO, DAT KO, D2R overexpression, k experiments reporting cognition used a genetic manipulation in a gene DAT known to be associated with human disease. Early environment factors inducing transition from initial organism to vulnerable organism Ontopathogenic validity Aside from the genetic models above, no models manipulated early environmental factors. Triggering factors inducing transition from Vulnerable organism to Pathological organism were commonly used e.g. cocaine, amphetamine, PCP but usually only with short term exposures trigerring increased locomotor activity. It was not possible to assess Pathological Organism Mechanistic validity whether the neurobiological or cognitive mechanisms which operate in human disease could be observed in the animal models used or Triggering factors inducing changes in biomarkers Induction validity because these were not assessed. Therapeutic agents inducing changes in outcome There was some evidence to support directness in that known antipsychotic drugs had observed efficacy in improving locomotor activity. Biological markers There were insufficient studies reporting neuotransmitter levels and no studies reported brain imaging outcomes. Behavioural manifestations Ethological validity Most experiments reported locomotor activity, but r SMD_S_cogk experiments reported some form of cognitive outcome, and in these there was no significant effect of TAAR1 agonists r SMD_S_cogbeta 95% CI: r SMD_S_cogci.lb to r SMD_S_cogci.ub.

Human studies

- -# 7. Software used - - - -```{r echo=FALSE} -grateful::cite_packages(output = "paragraph", pkgs = "Session", out.dir = ".") -``` +--- +title: "LSR3 analysis: effects of TAAR1 agonists in animal models of psychosis" +author: "Francesca Tinsdeall, Fiona Ramage, Virginia Chiocchia and Malcolm Macleod" +date: "2023-12-19" +output: + html_document: + fig_width: 9 +bibliography: grateful-refs.bib +editor_options: + chunk_output_type: console +--- + +# Results + +1. Flow of study selection and descriptives + + - 1.1 Description of experiment types and general approach + + +2. TAAR1 Agonists v Control: Outcome 1: Locomotor activity + + - 2.1 Risk of bias and reporting completeness assessment + + - 2.1.1 Risks of bias + + - 2.1.2 Reporting completeness + + - 2.2 TAAR1 Agonist v Control + + - 2.3 Subgroup analyses and meta-regression + + - 2.3.1 Sex + + - 2.3.2 Category of disease induction + + - 2.3.3 Route of intervention administration + + - 2.3.4 Prophylactic or therapeutic intervention + + - 2.3.5 Duration of treatment period + + - 2.3.6 The intervention administered + + - 2.3.7 The efficacy of the drug + + - 2.3.8 The selectivity of the drug + + - 2.3.9 Potency of intervention + + - 2.3.10 Dose of intervention + + - 2.3.11 SYRCLE RoB assessment + + - 2.3.12 ARRIVE guideline reporting completeness + + - 2.3.13 Heterogeneity explained by covariates + + - 2.4 Sensitivity Analyses + + - 2.4.1 Sensitivity to different assumprions for imputed rho values + + - 2.4.2 Sensitivity to analysis using NMD rather than SMD + + - 2.5 Reporting bias/small study effects + + +3. TAAR1 Agonists v Control: Outcome 2: Cognition + + - 3.1 Risk of bias and reporting completeness assessment + + - 3.1.1 Risks of bias + + - 3.1.2 Reporting completeness + + - 3.2 TAAR1 Agonist v Control + + - 3.3 Subgroup analyses and meta-regression + + - 3.3.1 Sex + + - 3.3.2 Category of disease induction + + - 3.3.3 Route of intervention administration + + - 3.3.4 Prophylactic or therapeutic intervention + + - 3.3.5 Duration of treatment period + + - 3.3.6 The intervention administered + + - 3.3.7 The efficacy of the drug + + - 3.3.8 The selectivity of the drug + + - 3.3.9 Potency of intervention + + - 3.3.10 Dose of intervention + + - 3.3.11 SYRCLE RoB assessment + + - 3.3.12 ARRIVE guideline reporting completeness + + - 3.3.13 Heterogeneity explained by covariates + + - 3.4 Sensitivity Analyses + + - 3.4.1 Sensitivity to different assumprions for imputed rho values + + - 3.4.2 Sensitivity to analysis using NMD rather than SMD + + - 3.5 Reporting bias/small study effects + +4. TAAR1 Agonist v known antipsychotic drug + +5. Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone + +6. Summary of the evidence + +7. Software used + +```{r setup, message=F, echo=F, include=F} +### libraries +library(ggplot2) +library(devtools) +library(dosresmeta) +library(dplyr) +library(grid) +library(gtools) +library(kableExtra) +library(graphics) +library(patchwork) +library(forcats) +library(knitr) +library(ggplot2) +library(Matrix) +library(meta) +library(metafor) +library(orchaRd) +library(readxl) +library(readr) +library(rje) +library(rms) +library(stringr) +library(tibble) +library(tidyr) +library(tools) +library(rlang) +devtools::install_github("mcguinlu/robvis") +install_github("mcguinlu/robvis") +library(robvis) +library(PRISMA2020) +library(grateful) + + +#define LSR +LSR <- 'LSR3' +# define date of processing +DoP <- Sys.Date() + + +# All function needed to run this notebook (analyses, etc.) should be in a util.R file +source("util/util.R") + +# obtain the data and prepare them for analysis - all data cleaning routines should be in this .R script + + +source("wrangling/wrangling_functions.R", local = TRUE) +source("wrangling/data_wrangle_script.R") + +#Round off results to two digits +options(scipen=100, digits=3) + +# Import data +file2load <- paste0(LSR,'_clean_data_',DoP,'.csv') +df <- read_csv(file2load) + +``` + +# 1. Flow of study selection and descriptives + +```{r article metadata, eval = TRUE, echo = FALSE} +# Retrieve article metadata omitted from 'clean_data.csv' and join + +article_metadata <- df %>% + select(StudyId, Title, Year) %>% + distinct() +``` + +The flow of study selection is shown in Figure 1. Studies included were published between `r min(article_metadata$Year)` and `r max(article_metadata$Year)`. Overall, this analysis includes `r length(table(df$StudyId))` studies containing `r nrow(df)` comparisons. + +**Figure 1** + +```{r PRISMA flowchart, eval = TRUE, echo = FALSE, warning=FALSE, message=FALSE} +prisma_data <- read_csv("data/LSR3_prisma_211223.csv") +dfp <- PRISMA_data(prisma_data) +PRISMA_flowdiagram(dfp, interactive=FALSE, previous=FALSE, other=FALSE, + detail_databases=FALSE, detail_registers=FALSE, fontsize=12, font="Helvetica", + title_colour="Goldenrod1", greybox_colour="Gainsboro", main_colour="Black", + arrow_colour="Black", arrow_head="normal", arrow_tail="none", side_boxes=TRUE ) + +## what about reasons for exclusions of records? don't we have info on them? +``` + +References of included studies are located in the appendix. Included studies used `r length(table(df$ModelID))` unique disease model induction procedures. + +## 1.1 Description of experiment types and methodological approach + +Within the literature we identified distinct categories of experiments and the data presented would allow several meta-analytical contrasts to be drawn: + +1. **TAAR1 agonist vs control**. These were experiments investigating the effect of administering a TAAR1 agonist alone, reported in `r nrow(df %>% filter(SortLabel == "TvC"))` experiments from `r nrow(df %>% filter(SortLabel == "TvC") %>% distinct(StudyId))` publications. + +2. **TAAR1 agonist vs 'known' antipsychotic drug**. These were experiments investigating the effect of administering a TAAR1 agonist alongside a currently licensed anti-psychotic reported in `r nrow(df %>% filter(SortLabel == "TvA"))` experiments from `r nrow(df %>% filter(SortLabel == "TvA") %>% distinct(StudyId))` publications. + +3. **Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone**, reported in `r nrow(df %>% filter(SortLabel == "TAvA"))` experiments from `r nrow(df %>% filter(SortLabel == "TAvA") %>% distinct(StudyId))` publications. + +4. **Effect of TAAR1 antagonism on the effect of TAAR1 agonist v control.** These were experiments investigating whether any effect of TAAR1 agonism was unhibited by TAAR1 antagonism. In this iteration of the review, all experiments within this category used genetic approaches to TAAR1 antogonism (that is, they knocked out the gene for the TAAR1 receptor, so any observed drug effect could not be due to actions mediated through the TAAR1 receptor and therefore could not be considered specific drug effects mediated through the TAAR1 receptor. + +Each experiment type will be analysed separately. This is because each experiment type uses different control conditions. + +In these studies the: + +- **Control group** is a group of animals that is (1) subjected to a psychosis model induction paradigm and (2) administered a control treatment (vehicle) or no treatment + +- **Intervention group** is a group of animals that is (1) subjected to a psychosis model induction paradigm and (2) administered a TAAR1 agonist treatment + +- **Sham group** is a group of animals that is (1) not subjected to a psychosis model induction paradigm and (2) administered a control treatment (vehicle) or no treatment. These data are equired to allow a 'normalised mean difference' effect size to be calculated, given by + + $$ + \frac{(\text{Contol - Treatment})} + {(\text{Control - Sham)}} \text{ x 100} + $$ + +Outcomes with ≥2 independent effect sizes were considered for meta-analysis. In this iteration of the review, this includes `r df %>% group_by(outcome_type) %>% filter(n_distinct(StudyId) > 1) %>% summarise(n = n_distinct(StudyId)) %>% arrange(desc(n)) %>% pull(outcome_type) %>% unique() %>% tolower() %>% { if (length(.) > 1) paste(paste(head(., -1), collapse = ", "), "and", tail(., 1)) else .}`. + +All analyses were conducted allowing for the following hierarchical levels in a random effects model, which accounts for features common to experimental contrasts such as a shared control group: + +- **Level 1: Rodent strain** - effect sizes measured across experiments using the same rodent strain + +- **Level 2: Study** - effect sizes measured from different experiments presented in the same publication + +- **Level 3: Experiment** - effect sizes measured in the same experiment within a study, where often a control group contributes to several effect sizes + +The hierarchical grouping may therefore be considered thus: **Strains** of laboratory animals are included in several **Studies**, each of which can report one or more **Experiments**, and each Experiment is comprised of at least two **Cohorts** which are considered identical except for differing in the experimental manipulation (the **Intervention**) or not being exposed to the disease modelling proceedures (a **Sham** cohort), these only being used to provide a baseline for outcome measures to allow Normalised Mean Difference meta-analysis. + +*NB: We constructed multilevel models without Knapp-Hartung adjustments as these are not available for rma.mv class objects in the metafor package* ([metafor](https://cran.r-project.org/web/packages/metafor/metafor.pdf)). *Instead, the model is set to `test = "t"` to use t- and F-distributions for making inferences, and `dfs="contain"` to improve the method of approximating degrees of freedom of these distributions.* + +The scales and units used to measure outcomes in preclinical studies often differ between studies although they may measure the same undrlying biological construct. The primary effect size used for meta-analysis of preclinical studies is therefore the standardised mean difference (SMD, Hedge's g). We also present a sensitivity analysis using normalised mean difference (NMD), where there are sufficient data for sham proceedures to allow this. + +No studies were excluded on the basis of extreme effect sizes reported. + +### 1.1.1 **TAAR1 agonist vs control** + +```{r # Split df by experiment and outcome type into dataframes to simply inline code below - TAAR1 Agonist v Control, eval = TRUE, echo = FALSE} +df_S <- filter(df, SortLabel == "TvC") +df_S_LMA <- filter_experiment_outcome_type(df, "TvC", "Locomotor activity") +df_S_PPI <- filter_experiment_outcome_type(df, "TvC", "Prepulse inhibition") +df_S_cog <- filter_experiment_outcome_type(df, "TvC", "Cognition") +df_S_social <- filter_experiment_outcome_type(df, "TvC", "Social interaction") +df_S_stereo <- filter_experiment_outcome_type(df, "TvC", "Stereotypy") +``` + +`r length(table(df_S$StudyId))` studies (`r nrow(df%>%filter(SortLabel == "TvC"))` comparisons) investigated the effects of TAAR1 Agonist v Control. The number of studies and individual effect sizes for each outcome were: + +- Locomotor activity\*: `r length(table(df_S_LMA$StudyId))` studies and `r nrow(df_S_LMA)` comparisons in `r {strains <- unique(df_S_LMA$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` + +- Prepulse inhibition\*: `r length(table(df_S_PPI$StudyId))` studies and `r nrow(df_S_PPI)` comparisons in `r {strains <- unique(df_S_PPI$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` + +- Cognitive function: `r length(table(df_S_cog$StudyId))` studies and `r nrow(df_S_cog)` comparisons in `r {strains <- unique(df_S_cog$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` + +- Social interaction: `r length(table(df_S_social$StudyId))` studies and `r nrow(df_S_social)` comparisons in `r {strains <- unique(df_S_social$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` + +- Stereotypy: `r length(table(df_S_stereo$StudyId))` studies and `r nrow(df_S_stereo)` comparisons in `r {strains <- unique(df_S_stereo$Strain); if (length(strains) > 1) paste(length(strains), "strains") else paste(length(strains), "strain")}` + +\* These outcomes were identified in the study protocol as primary outcomes of interest. + +Only one publication reported each of prepulse inhibition (a primary outcome), social interaction and stereotypy, and so these are not analysed further. + +# 2 TAAR1 Agonists v Control: Outcome 1: Locomotor activity + +## 2.1 Risk of bias and reporting completeness assessment + +##### 2.1.1 Risks of bias + +Figure 2.1.1a shows the risk of bias summary for studies investigating the effect of administering a TAAR1 agonist on locomotor activity in animals. The risk of bias assessment was performed using the SYRCLE's RoB tool. Figure 2.1.1b shows the corresponding traffic light plot. + +**Figure 2.1.1a** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 8} +SyRCLE_RoB_summary(df, "TvC", "Locomotor activity") +``` + +**Figure 2.1.1b** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} +SyRCLE_RoB_traffic(df, "TvC", "Locomotor activity") +``` + +##### 2.1.2 Reporting completeness + +Figure 2.1.2a shows the reporting completeness summary for studies investigating the effect of administering a TAAR1 agonist on locomotor activity in animals. The reporting completeness assessment was performed using the ARRIVE guidelines. Figure 2.1.2b shows the corresponding traffic light plot. + +**Figure 2.1.2a** + +```{r warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 7} +ARRIVE_summary(df, "TvC", "Locomotor activity") +``` + +**Figure 2.1.2b** + +```{r message = FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 8} + +ARRIVE_traffic(df, "TvC", "Locomotor activity") +``` + + + + + + +## 2.2 TAAR1 Agonist v Control + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + if (any(class(SMD_S_LMA) == "rma.mv")) { + output_text1 <- "The effect of administering a TAAR1 agonist on locomotor activity in animals using SMD as the effect size is shown in Figure 4.1.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." + output_text2 <- "Figure 2.3" +} else { + output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this outcome" +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=15} +forest_metafor(SMD_S_LMA, "TvC", "Locomotor activity") +``` + +```{r echo=FALSE} + if (any(class(SMD_S_LMA) == "rma.mv")) { + output_text3 <- paste0("For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on locomotor activity of SMD = ", round(SMD_S_LMA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA[['ci.lb']], 3), " to ", round(SMD_S_LMA[['ci.ub']], 3), ", with a prediction interval of ", round(predict(SMD_S_LMA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA)$pi.ub, 3)) + output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA$sigma2[3], 3)) +} else { + output_text3 <- "" + output_text4 <- "" +} +``` + +`r output_text3` + +`r output_text4` + + + + + +## 2.3 Subgroup analyses and meta-regressions + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +options(scipen=100, digits=3) +``` + +For each outcome, the covariates of interest for subgroup analysesand meta-regressions were: + +- **Sex** + +- **Method of disease induction** + +- **Route of intervention administration** + +- **Whether the intervention was prophylactic or therapeutic (i.e. administered before or after disease model induction)** + +- **Duration of treatment period** + +- **The intervention administered** + +- **The efficacy of the drug (i.e. whether the drug is a partial or full agonist)** + +- **The selectivity of the drug** + +- **Potency of the intervention** + +- **Dose of intervention** + +We also conducted subgroup analyses using **(1) SYRCLE Risk of Bias** and **(2) ARRIVE reporting completeness** assessment scores as covariates to evaluate their influence on effect size estimates. These were not specified in the study protocol, but evaluation of risk of bias is required for the Summary of Evidence table, and no studies were considered at low risk of bias or high reporting completeness to allow such a sensitivity analysis + +Note that in this iteration of the review, insufficient data was available to conduct subgroup analysis for the following variables, as only one subgroup level was present: `r check_moderator_levels(df, "TvC", "Locomotor activity")` + +#### 2.3.1 Sex + +Figure 2.3.1 displays the estimates for the pooled SMD's when comparisons are stratified by sex of the animal. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by sex, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.1** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_sex <- subgroup_analysis(df, "TvC", "Locomotor activity", "Sex", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_sex, "Sex", "Locomotor Activity","Sex") +``` + +`r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Not reported", "k"]` comparisons did not report the sex of the animals used within the experimental cohort. `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Male", "k"]` comparisons used cohorts of only male animals and `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Female", "k"]` comparisons used cohorts of only female animals. There were `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Mixed male and female", "k"]` comparisons using cohorts of both male and female animals. + +The pooled SMD estimate for male animals was `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Male", "SMD"]`, for females `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Female", "SMD"]`, and for mixed cohorts `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Mixed male and female", "SMD"]`. The pooled SMD estimate for comparisons not reporting the sex of the animals within the experimental cohort was `r SMD_S_LMA_sex[SMD_S_LMA_sex$Sex == "Not reported", "SMD"]`. + +#### 2.3.2 Category of disease induction + +Figure 2.3.2 displays the estimates for the pooled SMD's when comparisons are stratified by the category of disease induction. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by category of disease induction, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.2** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=20, fig.height=4} +SMD_S_LMA_CatDisInd <- subgroup_analysis(df, "TvC", "Locomotor activity", "CategoryDiseaseInduction", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_CatDisInd, "CategoryDiseaseInduction", "Locomotor Activity","Category of \nDisease Induction") +``` + + + +`r SMD_S_LMA_CatDisInd[SMD_S_LMA_CatDisInd$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "k"]` comparisons used pharmacological methods to induce the disease model. `r SMD_S_LMA_CatDisInd[SMD_S_LMA_CatDisInd$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "k"]` comparisons used genetic methods to induce the disease model. + +The pooled SMD estimate for comparisons using pharmacological methods to induce the disease model was `r SMD_S_LMA_CatDisInd[SMD_S_LMA_CatDisInd$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "SMD"]`, and for comparisons using genetic methods to induce the disease model `r SMD_S_LMA_CatDisInd[SMD_S_LMA_CatDisInd$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "SMD"]`. + +#### 2.3.3 Route of intervention administration + +Figure 2.3.3 displays the estimates for the pooled SMD's when comparisons are stratified by the route of intervention administration. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by route of intervention administration, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.3** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=2} +SMD_S_LMA_AdminRoute <- subgroup_analysis(df, "TvC", "Locomotor activity", "InterventionAdministrationRoute", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_AdminRoute, "InterventionAdministrationRoute", "Locomotor Activity","Route of \nAdministration") +``` + +`r SMD_S_LMA_AdminRoute[SMD_S_LMA_AdminRoute$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "k"]` comparisons administered the TAAR1 agonist intraperitoneally. `r SMD_S_LMA_AdminRoute[SMD_S_LMA_AdminRoute$InterventionAdministrationRoute == "Oral administration/gavage", "k"]` comparisons administered the TAAR1 agonist orally. + +The pooled SMD estimate for experiments administering the TAAR1 agonist intraperitoneally was `r SMD_S_LMA_AdminRoute[SMD_S_LMA_AdminRoute$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "SMD"]`, and for experiments administering the TAAR1 agonist orally `r SMD_S_LMA_AdminRoute[SMD_S_LMA_AdminRoute$InterventionAdministrationRoute == "Oral administration/gavage", "SMD"]`. + +#### 2.3.4 Prophylactic or therapeutic intervention + +Figure 2.3.4 displays the estimates for the pooled SMD's when comparisons are stratified by whether the intervention was administered prophylactically or therapeutically. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by whether the intervention was administered prophylactically or therapeutically, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.4** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=3} +SMD_S_LMA_ProphThera <- subgroup_analysis(df, "TvC", "Locomotor activity", "ProphylacticOrTherapeutic", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_ProphThera, "ProphylacticOrTherapeutic", "Locomotor Activity","Treatment before \nor after model induction") +``` + +`r SMD_S_LMA_ProphThera[SMD_S_LMA_ProphThera$ProphylacticOrTherapeutic == "Prophylactic", "k"]` comparisons administered the TAAR1 agonist prophylactically. `r SMD_S_LMA_ProphThera[SMD_S_LMA_ProphThera$ProphylacticOrTherapeutic == "Therapeutic", "k"]` comparisons administered the TAAR1 agonist therapeutically. + +The pooled SMD estimate for experiments administering the TAAR1 agonist prophylactically was `r SMD_S_LMA_ProphThera[SMD_S_LMA_ProphThera$ProphylacticOrTherapeutic == "Prophylactic", "SMD"]`, and for experiments administering the TAAR1 agonist therapeutically `r SMD_S_LMA_ProphThera[SMD_S_LMA_ProphThera$ProphylacticOrTherapeutic == "Therapeutic", "SMD"]`. + +#### 2.3.5 Duration of treatment period + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=3} +SMD_S_LMA_DurRx <- subgroup_analysis(df, "TvC", "Locomotor activity", "TreatmentDurationCategory", 0.5) +``` + + +```{r echo=FALSE} + if (any(class(SMD_S_LMA_DurRx) == "rma.mv")) { + output_text1 <- "Figure 2.3.5 displays the estimates for the pooled SMD's when comparisons are stratified by duration of treatment. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by whether the intervention was administered prophylactically or therapeutically, is displayed as a diamond shape at the bottom of the plot." + output_text2 <- "Figure 2.3.5" +} else { + output_text1 <- "In this iteration of the review, all relevant comparisons administered the TAAR1 agonist for < 1 week. Therefore, no subgroup analyses were conducted for this variable." + output_text2 <- "" +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r echo = FALSE} + if (any(class(class(SMD_S_LMA_DurRx)) == "rma.mv")) { + output_text3 <- paste0(`r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "Less than 1 week", "k"]`,"comparisons administered the TAAR1 agonist for less than one week, ", `r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "Between 1-4 weeks", "k"]`," for between 1 and 4 weeks, and ",`r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "More than 4 weeks", "k"]`," for more than 4 weeks.") + output_text4 <- paste0("The pooled SMD estimate for experiments administering the TAAR1 agonist for less than 1 week was ",`r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "Less than 1 week", "SMD"]`," for 1 to 4 weeks was ",`r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "Between 1-4 weeks", "SMD"]`," and for experiments administering the TAAR1 agonist for more than 4 weeks was ",`r SMD_S_LMA_DurRx[SMD_S_LMA_DurRx$TreatmentDurationCategory == "More than 4 weeks", "SMD"]`,".") + +} else { + output_text3 <- "" + output_text4 <- "" +} + +``` + +#### 2.3.6 The intervention administered + +Figure 2.3.6 displays the estimates for the pooled SMD's when comparisons are stratified by the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by the intervention administered, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.6** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} +SMD_S_LMA_Drug <- subgroup_analysis(df, "TvC", "Locomotor activity", "DrugName", 0.5) +``` + +The TAAR1 agonist SEP-363856 (Ultaront) was administered in `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "SEP-363856", "k"]` experiments. `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5203648", "k"]` experiments used the TAAR1 agonist RO5203648, `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5166017", "k"]` used RO5166017, `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5263397", "k"]` used RO5263397, `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5256390", "k"]` used RO5256390, `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5073012", "k"]` used RO5073012. `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "LK000764", "k"]` experiments used the TAAR1 agonist LK000764 and `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "AP163", "k"]` used AP163. `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "Compound 50A", "k"]` experiments assessed the effect of the TAAR1 agonist Compound 50A and `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "Compound 50B", "k"]` experiments assessed that of Compound 50B. Note that Compound 50A and 50B were specific to one study, and chemical registry identifiers were neither provided or able to be found. + +The pooled SMD estimate for experiments administering the TAAR1 agonist SEP-363856 was `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "SEP-363856", "SMD"]`. For experiments administering the TAAR1 agonist RO5203648 the pooled estimate was `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5203648", "SMD"]`. For experiments administering the TAAR1 agonist RO5166017 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5166017", "SMD"]`, for experiments administering the TAAR1 agonist RO5263397 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5263397", "SMD"]`, for experiments administering the TAAR1 agonist RO5256390 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5256390", "SMD"]`, for experiments administering the TAAR1 agonist RO5073012 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "RO5073012", "SMD"]`, for experiments administering the TAAR1 agonist LK000764 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "LK000764", "SMD"]`, for experiments administering the TAAR1 agonist AP163 `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "AP163", "SMD"]`, for experiments administering the TAAR1 agonist Compound 50A `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "Compound 50A", "SMD"]`, and for experiments administering the TAAR1 agonist Compound 50B `r SMD_S_LMA_Drug[SMD_S_LMA_Drug$DrugName == "Compound 50B", "SMD"]`. + +#### 2.3.7 The efficacy of the drug (i.e. whether the drug is a partial or full agonist) + +Figure 2.3.7 displays the estimates for the pooled SMD's when comparisons are stratified by the action/efficacy of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention efficacy, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.7** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} +SMD_S_LMA_DrugEfficacy <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "Efficacy", 0.5) +``` + +TAAR1 partial agonists were used in `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 partial agonist", "k"]` experiments. TAAR1 full agonists were used in `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 full agonist", "k"]` experiments. + +The pooled SMD estimate for experiments administering a TAAR1 partial agonist was `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 partial agonist", "SMD"]` and for those administering a TAAR1 full agonist `r SMD_S_LMA_DrugEfficacy$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Efficacy == "TAAR1 full agonist", "SMD"]`. + +#### 2.3.8 The selectivity of the drug + +Figure 2.3.8 displays the estimates for the pooled SMD's when comparisons are stratified by the selectivity of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention selectivity, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.8** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', fig.width=9, fig.height=5} +SMD_S_LMA_DrugSelectivity <- plot_subgroup_analysis(df, "TvC", "Locomotor activity", "Selectivity", 0.5) +``` + +TAAR1 agonists with high selectivity were used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "k"]` experiments. TAAR1 drugs with additional agonist activity at serotonin 5HT1A receptors were used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "k"]` experiments. The selectivity of the TAAR1 agonist used in `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugEfficacy$subgroup_rma_summary$Selectivity == "Unclear", "k"]` experiments was unclear/remains undetermined. + +The pooled SMD estimate for experiments administering a TAAR1 agonist with high selectivity was `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "High", "SMD"]`. The estimate for experiments administering a TAAR1 agonist with low selectivity was `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "Low (5HT1A partial agonism)", "SMD"]`, and for those experiments administering a TAAR1 agonist with an unknown selectivity `r SMD_S_LMA_DrugSelectivity$subgroup_rma_summary[SMD_S_LMA_DrugSelectivity$subgroup_rma_summary$Selectivity == "Unclear", "SMD"]`. + +#### 2.3.9 Potency of intervention + +The pEC50 value of each drug was used to measure potency. The pEC50 value is the negative logarithm (to base 10) of the EC50 value. Higher pEC50 values indicate higher potency (as they indicate a lower EC50). Figure x displays a visualisation of the meta-regression using the pEC50 value as an explanatory variable. Dashed lines represent the 95% confidence interval of the regression line. The dotted lines represent the 95% prediction interval. Raw data is plotted with 'bubble' size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_potency <- metaregression_analysis(df, "TvC", "Locomotor activity", "pE50", 0.5) + +``` + +**Figure 2.3.9** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} +SMD_S_LMA_potency$regression_plot +``` + +The estimate for $\theta$ was `r SMD_S_LMA_potency$metaregression_summary$beta[1]`. This gives the predicted SMD when the pEC50 of the intervention is 0. Note that this should be interpreted with caution; since the logarithm of zero is undefined (it tends towards negative infinity), a pEC50 value cannot be 0 unless the EC50 is 1 mol/L. The estimate for $\theta$ can be interpreted as the estimated SMD when the EC50 is 1 mol/L (1000mM), which signifies extremely low potency. + +The estimate for $\beta$ was `r SMD_S_LMA_potency$metaregression_summary$beta[2]`. This represents the predicted regression weight for the pEC50 of the intervention. + +#### 2.3.10 Dose of intervention + +In this iteration of the review, the TAAR1 agonists tested against control for their effect on locomotor activity were; **`r drugs <- df %>% filter(SortLabel == "TvC") %>% filter(outcome_type == "Locomotor activity") %>% group_by(DrugName) %>% summarise(count = n()) %>% arrange(desc(count)) %>% pull(DrugName); if (length(drugs) > 1) {paste(paste(head(drugs, -1), collapse = ", "), "and", tail(drugs, 1))} else {drugs}`**. Meta-regression using the administered dose as an explanatory variable was conducted for each drug where this had been reported in 10 or more experiments from 3 or more publications. Where there are sufficient data, the dashed lines in the plot represents the 95% confidence interval of the regression line and the dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_RO5203648_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5203648", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "RO5203648") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5203648: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_RO5203648_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5203648") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_RO5263397_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5263397", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "RO5263397") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5263397: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_RO5263397_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5263397") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_SEP363856_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "SEP-363856", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "SEP-363856") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("SEP-363856 (Ultaront): There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_SEP363856_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "SEP-363856") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_RO5166017_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5166017", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "RO5166017") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5166017: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_RO5166017_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5166017") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_LK000764_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "LK000764", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "LK000764") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("LK000764: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_LK000764_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "LK000764") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_RO5256390_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5256390", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "RO5256390") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5256390: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_RO5256390_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5256390") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_Compound50B_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "Compound 50B", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "Compound 50B") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("Compound 50B: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_Compound50B_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "Compound 50B") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_Compound50A_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "Compound 50A", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "Compound 50A") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("Compound 50A: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_Compound50A_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "Compound 50A") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_RO5073012_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "RO5073012", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "RO5073012") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5073012: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_RO5073012_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "RO5073012") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_AP163_dose <- metaregression_analysis_by_drug(df, "TvC", "Locomotor activity", "AP163", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Locomotor activity") %>% +filter(DrugName == "AP163") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("AP163: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_LMA_AP163_dose, df, "TvC", "Locomotor activity","DoseOfIntervention_mgkg", "AP163") +``` + +##### Standardised dose + +We then sought evidence of a dose response relationship across all drugs. To do this, we conducted meta-regression using a standardised dose variable. This variable quantifies the administered dose as a multiple of the drug's EC50, indicating how many times the dose administered was greater (or lesser) than the concentration needed to achieve half-maximal effect. For example, if a drug's dose is twice its EC50, the standardized dose would be 2, indicating that the dose is twice the concentration needed to achieve half-maximal effect. + +The standardised dose was calculated by dividing the log-transformed dose of the intervention (in mg/kg) by the product of the intervention's EC50 (in moles) and the Molar mass of the drug (in mg/mol): + +$$ +\frac{\log(\text{Dose of Intervention (mg/kg)})}{(\text{Molar Mass (g/mol)} \times 1000) \times (\frac{\text{EC50 (micromoles)}}{1000000})} +$$ + +**This is a simplified approximation based on the reasoning that if drug actions are mediated through the TAAR1 receptor, and drug efficacy is reflected in the respective EC50 values, then theoretically drugs should exhibit similar effects when acting at their respective EC50.** + +The actual concentration of a drug at the receptor site is influenced by several variables, including dosage, administration route, elimination half-life, and first-pass metabolism (in case of oral administration). Incorporating all these factors accurately would necessitate a detailed pharmacokinetic model, which falls outside the scope of this review. Consequently, we assume uniformity across experiments in terms of (i) volume of distribution, (ii) first-pass metabolism, (iii) blood-brain barrier permeability, and (iv) experimental design, especially regarding the timing of peak drug concentration (where we assume that experiments were designed to be done at a time when the drug was near peak concentration). + +Figure 5.2.10.1 provides a visualisation of the meta-regression analysis relationship between standardised doses of TAAR1 agonists and the Standardized Mean Difference (SMD) change in Locomotor activity. As before, dashed lines represent the 95% confidence interval of the regression line and dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + +SMD_S_LMA_StandardDose <- metaregression_analysis(df, "TvC", "Locomotor activity", "StandardisedDose", 0.5) + +``` + +**Figure 2.3.10.2** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} +SMD_S_LMA_StandardDose$regression_plot +``` + +The estimate for $\theta$ was `r SMD_S_LMA_StandardDose$metaregression_summary$beta[1]`. The estimate for $\beta$ was `r SMD_S_LMA_StandardDose$metaregression_summary$beta[2]`. + +#### 2.3.11 SYRCLE RoB assessment + +Figure 2.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by how many of the SYRCLE risk of bias assessment criteria (of which there are 10) that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SYRCLE Risk of Bias, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.11** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_LMA_SYRCLERoB <- subgroup_analysis(df, "TvC", "Locomotor activity", "RoBScore", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_SYRCLERoB, "RoBScore", "Locomotor Activity","SyRCLE RoB score") +``` + +`r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "0 criteria met", "k"]` experiments met none of the SYRCLE Risk of Bias criteria. `r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "1 criteria met", "k"]` experiments met one of the SYRCLE Risk of Bias criteria. `r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "2 criteria met", "k"]` experiments met two of the SYRCLE Risk of Bias criteria. No experiments met more than two of the SYRCLE Risk of Bias criteria. + +The pooled SMD estimate for the effect of TAAR1 agonists on locomotor activity in experiments that met none of the SYRCLE Risk of Bias criteria was `r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "0 criteria met", "SMD"]`. The estimate for experiments that met one of the SYRCLE Risk of Bias criteria was `r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "1 criteria met", "SMD"]`, and for those experiments that met two of the SYRCLE Risk of Bias criteria `r SMD_S_LMA_SYRCLERoB[SMD_S_LMA_SYRCLERoB$RoBScore == "2 criteria met", "SMD"]`. + +Figure 2.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SyRCLE Risk of Bias score, is displayed as a diamond shape at the bottom of the plot. + +#### 2.3.12 ARRIVE reporting completeness guidelines + +Experiments were categorised based on the number of ARRIVE guidelines (of which there are 23) met. The categorisation was as follows: Experiments meeting 3 or fewer criteria were labeled as "A: \< 3 criteria met"; those meeting 4 to 7 criteria were labeled "B: 4-7 criteria met"; for 8 to 11 criteria, "C: 8-11 criteria met"; for 12 to 15 criteria, "D: 12-15 criteria met"; for 16 to 19 criteria, "E: 16-19 criteria met"; and experiments meeting more than 19 criteria were labeled as "F: \> 20 criteria met". + +Figure 2.3.12 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by ARRIVE reporting completeness guidelines, is displayed as a diamond shape at the bottom of the plot. + +**Figure 2.3.12** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_LMA_ARRIVE <- subgroup_analysis(df, "TvC", "Locomotor activity", "ARRIVEScoreCat", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +forest_subgroup(SMD_S_LMA_ARRIVE, "ARRIVEScoreCat", "Locomotor Activity","number of\n ARRIVE items met") +``` + +`r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "B: 4-7 criteria met", "k"]` experiments met between 4-7 of the ARRIVE reporting criteria. `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "C: 8-11 criteria met", "k"]` experiments met between 8-11, `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "D: 12-15 criteria met", "k"]` experiments met between 12-15, `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "E: 16-19 criteria met", "k"]` experiments met between 16-19. No experiment met below 4 or above 19 of the ARRIVE reporting criteria. + +The pooled SMD estimate for the effect of TAAR1 agonists on locomotor activity in experiments that met between 4-7 of the ARRIVE reporting completeness criteria was `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "4-7 criteria met", "SMD"]`. The estimate for experiments that met between 8-11 of the ARRIVE reporting completeness criteria was `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "8-11 criteria met", "SMD"]`, for those experiments that met between 12-15 of the ARRIVE reporting completeness criteria `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "12-15 criteria met", "SMD"]`, and for those experiments that met between 16-19 of the ARRIVE reporting completeness criteria `r SMD_S_LMA_ARRIVE[SMD_S_LMA_ARRIVE$ARRIVEScoreCat == "16-19 criteria met", "SMD"]`. + +#### 2.3.13 Heterogeneity explained by covariates (TAAR1 Agonist v Control on locomotor activity) + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_LMA_sex <- subgroup_SMD(df, "TvC", "Locomotor activity", "Sex", 0.5) +SMD_S_LMA_CatDisInd <- subgroup_SMD(df, "TvC", "Locomotor activity", "CategoryDiseaseInduction", 0.5) +SMD_S_LMA_AdminRoute <- subgroup_SMD(df, "TvC", "Locomotor activity", "InterventionAdministrationRoute", 0.5) +SMD_S_LMA_ProphThera <- subgroup_SMD(df, "TvC", "Locomotor activity", "ProphylacticOrTherapeutic", 0.5) +SMD_S_LMA_DurRx <- subgroup_SMD(df, "TvC", "Locomotor activity", "TreatmentDurationCategory", 0.5) +SMD_S_LMA_Drug <- subgroup_SMD(df, "TvC", "Locomotor activity", "DrugName", 0.5) +SMD_S_LMA_SYRCLERoB <- subgroup_SMD(df, "TvC", "Locomotor activity", "RoBScore", 0.5) +SMD_S_LMA_ARRIVE <- subgroup_SMD(df, "TvC", "Locomotor activity", "ARRIVEScoreCat", 0.5) + +``` + +The table below shows which of the covariates, if any, explain some of the heterogeneity observed in the effect sizes of the effect of TAAR1 agonists on locomotor activity. We present marginal R^2^, which measures the proportion of variance explained by including moderators in the model. + + + +| Moderator | Category | $\beta$ | 95% CI | Marginal R^2^ | +|:-----------:|:-----------:|:-----------:|:--------------------:|:-----------:| +| Overall effect | \- | `r SMD_S_LMA$beta[1]` | `r SMD_S_LMA$ci.lb` - `r SMD_S_LMA$ci.ub` | \- | +| Sex | \- | \- | \- | `r r2_ml(SMD_S_LMA_sex)[1]` | +| \- | *Female* | `r SMD_S_LMA_sex$beta[1]` | `r SMD_S_LMA_sex$ci.lb[1]` - `r SMD_S_LMA_sex$ci.ub[1]` | \- | +| \- | *Male* | `r SMD_S_LMA_sex$beta[2]` | `r SMD_S_LMA_sex$ci.lb[2]` - `r SMD_S_LMA_sex$ci.ub[2]` | \- | +| \- | *Mixed* | `r SMD_S_LMA_sex$beta[3]` | `r SMD_S_LMA_sex$ci.lb[3]` - `r SMD_S_LMA_sex$ci.ub[3]` | \- | +| \- | *Not reported* | `r SMD_S_LMA_sex$beta[4]` | `r SMD_S_LMA_sex$ci.lb[4]` - `r SMD_S_LMA_sex$ci.ub[4]` | \- | +| Category of disease model induction | \- | \- | \- | `r r2_ml(SMD_S_LMA_CatDisInd)[1]` | +| \- | *Genetic* | `r SMD_S_LMA_CatDisInd$beta[1]` | `r SMD_S_LMA_CatDisInd$ci.lb[1]` - `r SMD_S_LMA_CatDisInd$ci.ub[1]` | \- | +| \- | *Pharmacological* | `r SMD_S_LMA_CatDisInd$beta[2]` | `r SMD_S_LMA_CatDisInd$ci.lb[2]` - `r SMD_S_LMA_CatDisInd$ci.ub[2]` | \- | +| Administration route | \- | \- | \- | `r r2_ml(SMD_S_LMA_AdminRoute)[1]` | +| \- | *Intraperitoneal* | `r SMD_S_LMA_AdminRoute$beta[1]` | `r SMD_S_LMA_AdminRoute$ci.lb[1]` - `r SMD_S_LMA_AdminRoute$ci.ub[1]` | \- | +| \- | *Oral* | `r SMD_S_LMA_AdminRoute$beta[2]` | `r SMD_S_LMA_AdminRoute$ci.lb[2]` - `r SMD_S_LMA_AdminRoute$ci.ub[2]` | \- | +| Prophylactic or therapeutic intervention | \- | \- | \- | `r r2_ml(SMD_S_LMA_ProphThera)[1]` | +| \- | *Prophylactic* | `r SMD_S_LMA_ProphThera$beta[1]` | `r SMD_S_LMA_ProphThera$ci.lb[1]` - `r SMD_S_LMA_ProphThera$ci.ub[1]` | \- | +| \- | *Therapeutic* | `r SMD_S_LMA_ProphThera$beta[2]` | `r SMD_S_LMA_ProphThera$ci.lb[2]` - `r SMD_S_LMA_ProphThera$ci.ub[2]` | \- | +| Intervention administered | \- | \- | \- | `r r2_ml(SMD_S_LMA_Drug)[1]` | +| \- | *AP163* | `r SMD_S_LMA_Drug$beta[1]` | `r SMD_S_LMA_Drug$ci.lb[1]` - `r SMD_S_LMA_Drug$ci.ub[1]` | \- | +| \- | *Compound 50A* | `r SMD_S_LMA_Drug$beta[2]` | `r SMD_S_LMA_Drug$ci.lb[2]` - `r SMD_S_LMA_Drug$ci.ub[2]` | \- | +| \- | *Compound 50B* | `r SMD_S_LMA_Drug$beta[3]` | `r SMD_S_LMA_Drug$ci.lb[3]` - `r SMD_S_LMA_Drug$ci.ub[3]` | \- | +| \- | *LK000764* | `r SMD_S_LMA_Drug$beta[4]` | `r SMD_S_LMA_Drug$ci.lb[4]` - `r SMD_S_LMA_Drug$ci.ub[4]` | \- | +| \- | *RO5073012* | `r SMD_S_LMA_Drug$beta[5]` | `r SMD_S_LMA_Drug$ci.lb[5]` - `r SMD_S_LMA_Drug$ci.ub[5]` | \- | +| \- | *RO5166017* | `r SMD_S_LMA_Drug$beta[6]` | `r SMD_S_LMA_Drug$ci.lb[6]` - `r SMD_S_LMA_Drug$ci.ub[6]` | \- | +| \- | *RO5203648* | `r SMD_S_LMA_Drug$beta[7]` | `r SMD_S_LMA_Drug$ci.lb[7]` - `r SMD_S_LMA_Drug$ci.ub[7]` | \- | +| \- | *RO5256390* | `r SMD_S_LMA_Drug$beta[8]` | `r SMD_S_LMA_Drug$ci.lb[8]` - `r SMD_S_LMA_Drug$ci.ub[8]` | \- | +| \- | *RO5263397* | `r SMD_S_LMA_Drug$beta[9]` | `r SMD_S_LMA_Drug$ci.lb[9]` - `r SMD_S_LMA_Drug$ci.ub[9]` | \- | +| \- | *SEP-363856 (Ultaront)* | `r SMD_S_LMA_Drug$beta[10]` | `r SMD_S_LMA_Drug$ci.lb[10]` - `r SMD_S_LMA_Drug$ci.ub[10]` | \- | +| Drug efficacy | \- | \- | \- | `r r2_ml(SMD_S_LMA_DrugEfficacy$subgroup_analysis)[1]` | +| \- | *Full agonist* | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$beta[1]` | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.ub[1]` | \- | +| \- | *Partial agonist* | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$beta[2]` | `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_DrugEfficacy$subgroup_analysis$ci.ub[2]` | \- | +| Drug selectivity | \- | \- | \- | `r r2_ml(SMD_S_LMA_DrugSelectivity$subgroup_analysis)[1]` | +| \- | *High* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[1]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[1]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[1]` | \- | +| \- | *Low* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[2]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[2]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[2]` | \- | +| \- | *Unclear* | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$beta[3]` | `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.lb[3]` - `r SMD_S_LMA_DrugSelectivity$subgroup_analysis$ci.ub[3]` | \- | +| Risk of Bias | \- | \- | \- | `r r2_ml(SMD_S_LMA_SYRCLERoB)[1]` | +| \- | *0 criteria met* | `r SMD_S_LMA_SYRCLERoB$beta[1]` | `r SMD_S_LMA_SYRCLERoB$ci.lb[1]` - `r SMD_S_LMA_SYRCLERoB$ci.ub[1]` | \- | +| \- | *1 criteria met* | `r SMD_S_LMA_SYRCLERoB$beta[2]` | `r SMD_S_LMA_SYRCLERoB$ci.lb[2]` - `r SMD_S_LMA_SYRCLERoB$ci.ub[2]` | \- | +| \- | *2 criteria met* | `r SMD_S_LMA_SYRCLERoB$beta[3]` | `r SMD_S_LMA_SYRCLERoB$ci.lb[3]` - `r SMD_S_LMA_SYRCLERoB$ci.ub[3]` | \- | +| Reporting completeness | \- | \- | \- | `r r2_ml(SMD_S_LMA_ARRIVE)[1]` | +| \- | *4-7 criteria met* | `r SMD_S_LMA_ARRIVE$beta[1]` | `r SMD_S_LMA_ARRIVE$ci.lb[1]` - `r SMD_S_LMA_ARRIVE$ci.ub[1]` | \- | +| \- | *8-11 criteria met* | `r SMD_S_LMA_ARRIVE$beta[2]` | `r SMD_S_LMA_ARRIVE$ci.lb[2]` - `r SMD_S_LMA_ARRIVE$ci.ub[2]` | \- | +| \- | *12-15 criteria met* | `r SMD_S_LMA_ARRIVE$beta[3]` | `r SMD_S_LMA_ARRIVE$ci.lb[3]` - `r SMD_S_LMA_ARRIVE$ci.ub[3]` | \- | +| \- | *16-19 criteria met* | `r SMD_S_LMA_ARRIVE$beta[4]` | `r SMD_S_LMA_ARRIVE$ci.lb[4]` - `r SMD_S_LMA_ARRIVE$ci.ub[4]` | \- | + + +## 2.4. Sensitivity Analyses + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +options(scipen = 100, digits = 2) +``` + +We examine the robustness of the findings for the primary outcome by performing the following sensitivity analyses + + +#### 2.4.1 Imputed rho values of 0.2 and 0.8 + +In the previous analyses for the effect of TAAR1 agonists on locomotor activity, we imputed a $\rho$ value of 0.5. Here, we examine the effect of imputing $\rho$ values of 0.2 and 0.8. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_rho0.2 <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.2) +``` + +**When the** $\rho$ value is assumed to be 0.2, the TAAR1 interventions had a pooled effect on locomotor activity of **SMD = `r SMD_S_LMA_rho0.2[["beta"]]`** (95% CI: `r SMD_S_LMA_rho0.2[["ci.lb"]]` to `r SMD_S_LMA_rho0.2[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_LMA_rho0.2)$pi.lb` to `r predict(SMD_S_LMA_rho0.2)$pi.ub`. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_rho0.8 <- run_ML_SMD(df, "TvC", "Locomotor activity", 0.8) +``` + +**When the** $\rho$ value is assumed to be 0.8, the TAAR1 interventions had a pooled effect on locomotor activity of **SMD = `r SMD_S_LMA_rho0.8[["beta"]]`** (95% CI: `r SMD_S_LMA_rho0.8[["ci.lb"]]` to `r SMD_S_LMA_rho0.8[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_LMA_rho0.8)$pi.lb` to `r predict(SMD_S_LMA_rho0.8)$pi.ub`. + +For reference the pooled effect size when rho is assumed to be 0.5 is `r SMD_S_LMA[["beta"]]` (95% CI: `r SMD_S_LMA[["ci.lb"]]` to `r SMD_S_LMA[["ci.ub"]]`). + +#### 2.4.2 NMD + +For locomotor activity, an NMD was calculable for `r df_S_LMA %>% filter(NMD_possible == "TRUE") %>% nrow()` out of `r nrow(df_S_LMA)` comparisons, i.e. `r ((df_S_LMA %>% filter(NMD_possible == "TRUE") %>% nrow())/(nrow(df_S_LMA)))*100` % of comparisons. + +The effect of administering a TAAR1 agonist on locomotor activity in animals using NMD as the effect size is shown in Figure x. The pooled estimate for NMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +NMD_S_LMA <- run_ML_NMD(df, "TvC", "Locomotor activity", 0.5) +``` + +**2.4.2** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 12} +forest_metafor_NMD(NMD_S_LMA, "locomotor hyperactivity") +``` + +For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on locomotor activity of NMD = `r NMD_S_LMA[["beta"]]` (95% CI: `r NMD_S_LMA[["ci.lb"]]` to `r NMD_S_LMA[["ci.ub"]]`) with a prediction interval of `r predict(NMD_S_LMA)$pi.lb` to `r predict(NMD_S_LMA)$pi.ub`. For reference the pooled effect size for SMD was `r SMD_S_LMA[["beta"]]` (95% CI: `r SMD_S_LMA[["ci.lb"]]` to `r SMD_S_LMA[["ci.ub"]]`). + +Between-strain variance was `r round(NMD_S_LMA$sigma2[1], 3)`, between-study variance was `r round(NMD_S_LMA$sigma2[2], 3)`, and within-study variance (between experiments) was `r round(NMD_S_LMA$sigma2[3], 3)`. + + + +## 2.5. Reporting bias/small-study effects + +Because of the relationship between SMD effect sizes and variance inherent in their calculation, where study size is small the standard approach to seeking evidence of small-study effects (regression based tests including Egger's regression test for multilevel meta-analysis) can lead to over-estimation of small-study effect (see for instance 10.7554/eLife.24260). To address this we used Egger's regression test for multilevel meta-analysis, with regression of SMD effect size against 1/√N, where N is the total number of animals involved in an experiment. + +```{r warning=FALSE, eval = TRUE, echo = FALSE} +run_sse_plot_SMD(df) +#run_sse_NMD(df) +``` + +Egger regression based on `r run_sse_SMD(df)[["k"]]` studies of TAAR1 Agonist v Control where Locomotor activity was measured showed a coefficient for a small study effect of `r run_sse_SMD(df)[["beta"]][2]` (95% CI: `r run_sse_SMD(df)[["ci.lb"]][2]` to `r run_sse_SMD(df)[["ci.ub"]][2]`; p = `r ifelse(run_sse_SMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_SMD(df)[["pval"]][2]))`) in the context of a baseline estimate of effect of `r run_sse_SMD(df)[["beta"]][1]` (95% CI: `r run_sse_SMD(df)[["ci.lb"]][1]` to `r run_sse_SMD(df)[["ci.ub"]][1]`; p = `r ifelse(run_sse_SMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_SMD(df)[["pval"]][1]))`). + +```{r echo = FALSE} +## 8.1.2 Egger's regression test for multilevel meta-analysis: NMD v SE +# +#```{r warning=FALSE, eval = TRUE, echo = FALSE} +#run_sse_plot(df) +#run_sse_NMD(df) +#``` +# +#Egger regression based on `r run_sse_NMD(df)[["k"]]` studies of TAAR1 Agonist v Control where Locomotor activity was measured and NMD was evaluable showed a coefficient for a small study effect of `r #run_sse_NMD(df)[["beta"]][2]` (95% CI: `r run_sse_NMD(df)[["ci.lb"]][2]` to `r run_sse_NMD(df)[["ci.ub"]][2]`; p = `r ifelse(run_sse_NMD(df)[["pval"]][2] < 0.001, "<0.001", sprintf("%.3f", run_sse_NMD(df)[["pval"]][2]))`) in #the context of a baseline estimate of effect of `r run_sse_NMD(df)[["beta"]][1]` (95% CI: `r run_sse_NMD(df)[["ci.lb"]][1]` to `r run_sse_NMD(df)[["ci.ub"]][1]`; p = `r ifelse(run_sse_NMD(df)[["pval"]][2] < 0.001, "<0.001", #sprintf("%.3f", run_sse_NMD(df)[["pval"]][1]))`). +``` + +# 3 TAAR1 Agonists v Control: Outcome 1: Cognitive function +## 3.1 Risk of bias and reporting completeness assessment + +##### 3.1.1 Risks of bias + +Figure 3.1.1a shows the risk of bias summary for studies investigating the effect of administering a TAAR1 agonist on cognition in animals. The risk of bias assessment was performed using the SYRCLE's RoB tool. Figure 3.1.1b shows the corresponding traffic light plot. + +**Figure 3.1.1a** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} +SyRCLE_RoB_summary(df, "TvC", "Cognition") +``` + +**Figure 3.1.1b** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, height = 5} +SyRCLE_RoB_traffic(df, "TvC", "Cognition") +``` + +##### 3.1.2 Reporting completeness + +Figure 3.1.2a shows the reporting completeness summary for studies investigating the effect of administering a TAAR1 agonist on cognition in animals. The reporting completeness assessment was performed using the ARRIVE guidelines. Figure 3.1.2b shows the corresponding traffic light plot. + +**Figure 3.1.2a** + +```{r warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 5} +ARRIVE_summary(df, "TvC", "Cognition") +``` + +**Figure 3.1.2b** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height = 7} + +ARRIVE_traffic(df, "TvC", "Cognition") +``` + +## 3.2 TAAR1 Agonist v Control + +The effect of administering a TAAR1 agonist on cognitive outcomes in animals using SMD as the effect size is shown in Figure 3.2.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_cog <- run_ML_SMD(df, "TvC", "Cognition", 0.5) +if (any(class(SMD_S_cog) == "rma.mv")) { + output_text1 <- "Figure 3.2.1" +} else { + output_text1 <- "" +} +``` + +**`r output_text1`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=7} +forest_metafor(SMD_S_cog, "TvC", "cognition") +``` + +```{r echo=FALSE} +if (any(class(SMD_S_cog) == "rma.mv")) { + output_text3 <- paste0("For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on cognitive outcomes of SMD =", round(SMD_S_cog[['beta']], 3), " (95% CI: ", round(SMD_S_cog[['ci.lb']], 3), " to ", round(SMD_S_cog[['ci.ub']], 3), ", with a prediction interval of", round(predict(SMD_S_cog)$pi.lb, 3), " to ", round(predict(SMD_S_cog)$pi.ub, 3),".") + output_text4 <- paste0("Between-strain variance was ", round(SMD_S_cog$sigma2[1], 3), ", between-study variance was ", round(SMD_S_cog$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_cog$sigma2[3], 3),".") +} else { + output_text3 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." + output_text4 <- "" +} +``` + +`r output_text3` + +`r output_text4` + + + +## 3.3 Subgroup analyses and meta-regressions +#### 3.3.1 Sex + +Figure 3.3.1 displays the estimates for the pooled SMD's when comparisons are stratified by sex of the animal. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by sex, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.1** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_sex <- subgroup_analysis(df, "TvC", "Cognition", "Sex", 0.5) +``` + + +`r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Male", "k"]` comparisons used cohorts of only male animals and `r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Female", "k"]` comparisons used cohorts of only female animals. There were `r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Mixed male and female", "k"]` comparisons using cohorts of both male and female animals. + +The pooled SMD estimate for male animals was `r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Male", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Male", "p"]),3)`), for females `r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Female", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Female", "p"]),3)`), and for mixed cohorts `r SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Mixed male and female", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$Sex == "Mixed male and female", "p"]),3)`). + +#### 3.3.2 Category of disease induction + +Figure 3.3.2 displays the estimates for the pooled SMD's when comparisons are stratified by the category of disease induction. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by category of disease induction, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.2** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_CatDisInd <- subgroup_analysis(df, "TvC", "Cognition", "CategoryDiseaseInduction", 0.5) +``` + +`r SMD_S_cog_CatDisInd[SMD_S_cog_CatDisInd$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "k"]` comparisons used pharmacological methods to induce the disease model. `r SMD_S_cog_CatDisInd[SMD_S_cog_CatDisInd$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "k"]` comparisons used genetic methods to induce the disease model. + +The pooled SMD estimate for comparisons using pharmacological methods to induce the disease model was `r SMD_S_cog_CatDisInd[SMD_S_cog_CatDisInd$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "p"]),3)`), and for comparisons using genetic methods to induce the disease model `r SMD_S_cog_CatDisInd[SMD_S_cog_CatDisInd$CategoryDiseaseInduction == "Genetic (e.g. DISC1 KO, DAT KO, D2R overexpression)", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$CategoryDiseaseInduction == "Pharmacological (e.g. psychostimulants, NMDA antagonists)", "p"]),3)`). + +#### 3.3.3 Route of intervention administration + +Figure 3.3.3 displays the estimates for the pooled SMD's when comparisons are stratified by the administration route of the intervention. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by administration route of the intervention, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.3** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_AdminRoute <- subgroup_analysis(df, "TvC", "Cognition", "InterventionAdministrationRoute", 0.5) +``` + +`r SMD_S_cog_AdminRoute[SMD_S_cog_AdminRoute$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "k"]` comparisons administered the TAAR1 agonist intraperitoneally. `r SMD_S_cog_AdminRoute[SMD_S_cog_AdminRoute$InterventionAdministrationRoute == "Oral administration/gavage", "k"]` comparisons administered the TAAR1 agonist orally. + +The pooled SMD estimate for experiments administering the TAAR1 agonist intraperitoneally was `r SMD_S_cog_AdminRoute[SMD_S_cog_AdminRoute$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$InterventionAdministrationRoute == "Intraperitoneal (IP) injection", "p"]),3)`) and for experiments administering the TAAR1 agonist orally `r SMD_S_cog_AdminRoute[SMD_S_cog_AdminRoute$InterventionAdministrationRoute == "Oral administration/gavage", "SMD"]`, (p = `r round(as.numeric(SMD_S_cog_sex[SMD_S_cog_sex$InterventionAdministrationRoute == "Oral administration/gavage", "p"]),3)`), "p"]),3)`). + +#### 3.3.4 Prophylactic or therapeutic intervention + +In this iteration of the review, all relevant comparisons administered the TAAR1 agonist after induction of the disease model. Therefore, no subgroup analyses were conducted for this variable. + +#### 3.3.5 Duration of treatment period + +In this iteration of the review, all relevant comparisons administered the TAAR1 agonist for \< 1 week. Therefore, no subgroup analyses were conducted for this variable. + +#### 3.3.6 The intervention administered + +Figure 3.3.6 displays the estimates for the pooled SMD's when comparisons are stratified by the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by the intervention administered, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.6** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_Drug <- subgroup_analysis(df, "TvC", "Cognition", "DrugName", 0.5) +``` + +The TAAR1 agonist SEP-363856 (Ultaront) was administered in `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "SEP-363856", "k"]` experiments. `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "RO5203648", "k"]` experiments administered the TAAR1 agonist RO5203648, and `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "RO5256390", "k"]` experiments administered the TAAR1 agonist RO5256390. + +The pooled SMD estimate for experiments administering the TAAR1 agonist SEP-363856 was `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "SEP-363856", "SMD"]`, for experiments administering the TAAR1 agonist RO5203648 `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "RO5203648", "SMD"]`, and for experiments administering the TAAR1 agonist RO5256390 `r SMD_S_cog_Drug[SMD_S_cog_Drug$DrugName == "RO5256390", "SMD"]`. + +#### 3.3.7 The efficacy of the drug (i.e. whether the drug is a partial or full agonist) + +In this iteration of the review, all relevant comparisons administered the TAAR1 agonists with partial agonist activity. Therefore, no subgroup analyses were conducted for this variable. + +#### 3.3.8 The selectivity of the drug + +Figure 3.3.8 displays the estimates for the pooled SMD's when comparisons are stratified by the selectivity of the intervention administered. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by intervention selectivity, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.8** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_DrugSelectivity <- subgroup_analysis(df, "TvC", "Cognition", "Selectivity", 0.5) +``` + +TAAR1 agonists with high selectivity were used in `r SMD_S_cog_DrugSelectivity[SMD_S_cog_DrugSelectivity$Selectivity == "High", "k"]` experiments. TAAR1 drugs with additional agonist activity at serotonin 5HT1A receptors were used in `r SMD_S_cog_DrugSelectivity[SMD_S_cog_DrugSelectivity$Selectivity == "Low (5HT1A partial agonism)", "k"]` experiments. + +The pooled SMD estimate for experiments administering TAAR1 agonists with high selectivity was `r SMD_S_cog_DrugSelectivity[SMD_S_cog_DrugSelectivity$Selectivity == "High", "SMD"]`, and for experiments administering TAAR1 agonists with low selectivity `r SMD_S_cog_DrugSelectivity[SMD_S_cog_DrugSelectivity$Selectivity == "Low (5HT1A partial agonism)", "SMD"]`. + +#### 3.3.9 Potency of intervention + +The pEC50 value of each drug was used to measure potency. The pEC50 value is the negative logarithm (to base 10) of the EC50 value. Higher pEC50 values indicate higher potency (as they indicate a lower EC50). Figure x displays a visualisation of the meta-regression using the pEC50 value as an explanatory variable. Dashed lines represent the 95% confidence interval of the regression line. The dotted lines represent the 95% prediction interval. Raw data is plotted with 'bubble' size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + +SMD_S_cog_potency <- metaregression_analysis(df, "TvC", "Cognition", "pE50", 0.5) + +``` + +**Figure 3.3.9** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} +SMD_S_cog_potency$regression_plot +``` + +The estimate for $\theta$ was `r SMD_S_cog_potency$metaregression_summary$beta[1]`. This gives the predicted SMD when the pEC50 of the intervention is 0. Note that this should be interpreted with caution; since the logarithm of zero is undefined (it tends towards negative infinity), a pEC50 value cannot be 0 unless the EC50 is 1 mol/L. The estimate for $\theta$ can be interpreted as the estimated SMD when the EC50 is 1 mol/L (1000mM), which signifies extremely low potency. + +The estimate for $\beta$ was `r SMD_S_cog_potency$metaregression_summary$beta[2]`. This represents the predicted regression weight for the pEC50 of the intervention. + +#### 3.3.10 Dose of intervention + +In this iteration of the review, the TAAR1 agonists tested against control for their effect on cognition were; **`r drugs <- df %>% filter(SortLabel == "TvC") %>% filter(outcome_type == "Cognition") %>% group_by(DrugName) %>% summarise(count = n()) %>% arrange(desc(count)) %>% pull(DrugName); if (length(drugs) > 1) {paste(paste(head(drugs, -1), collapse = ", "), "and", tail(drugs, 1))} else {drugs}`**. Meta-regression using the administered dose as an explanatory variable was conducted for each drug where this had been reported in 10 or more experiments from 3 or more publications. Where there are sufficient data, the dashed lines in the plot represents the 95% confidence interval of the regression line and the dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_RO5203648_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5203648", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "RO5203648") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5203648: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_RO5203648_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5203648") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_RO5263397_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5263397", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "RO5263397") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5263397: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_RO5263397_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5263397") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_SEP363856_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "SEP-363856", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "SEP-363856") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("SEP-363856 (Ultaront): There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_SEP363856_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "SEP-363856") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_RO5166017_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5166017", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "RO5166017") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5166017: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_RO5166017_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5166017") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_LK000764_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "LK000764", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "LK000764") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("LK000764: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_LK000764_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "LK000764") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_RO5256390_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5256390", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "RO5256390") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5256390: There were ", diag3 <- nrow(diag1), " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_RO5256390_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5256390") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_Compound50B_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "Compound 50B", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "Compound 50B") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("Compound 50B: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_Compound50B_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "Compound 50B") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_Compound50A_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "Compound 50A", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "Compound 50A") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("Compound 50A: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_Compound50A_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "Compound 50A") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_RO5073012_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "RO5073012", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "RO5073012") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("RO5073012: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_RO5073012_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "RO5073012") +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_AP163_dose <- metaregression_analysis_by_drug(df, "TvC", "Cognition", "AP163", "DoseOfIntervention_mgkg", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +diag1 <- df %>% +filter(SortLabel == "TvC") %>% +filter(outcome_type == "Cognition") %>% +filter(DrugName == "AP163") %>% +filter(!is.na(SMDv)) %>% +filter(!is.na(!!sym("DoseOfIntervention_mgkg"))) +diag2 <- n_distinct(diag1$StudyId) +diag3 <- nrow(diag1) + +output_text0 <- paste0("AP163: There were ", diag3, " comparisons from ", diag2, " publication(s).") + +``` + +`r output_text0` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + metaregression_plot_by_drug(SMD_S_Cog_AP163_dose, df, "TvC", "Cognition","DoseOfIntervention_mgkg", "AP163") +``` + +##### Standardised dose + +We then sought evidence of a dose response relationship across all drugs. To do this, we conducted meta-regression using a standardised dose variable. This variable quantifies the administered dose as a multiple of the drug's EC50, indicating how many times the dose administered was greater (or lesser) than the concentration needed to achieve half-maximal effect. For example, if a drug's dose is twice its EC50, the standardized dose would be 2, indicating that the dose is twice the concentration needed to achieve half-maximal effect. + +The standardised dose was calculated by dividing the log-transformed dose of the intervention (in mg/kg) by the product of the intervention's EC50 (in moles) and the Molar mass of the drug (in mg/mol): + +$$ +\frac{\log(\text{Dose of Intervention (mg/kg)})}{(\text{Molar Mass (g/mol)} \times 1000) \times (\frac{\text{EC50 (micromoles)}}{1000000})} +$$ + +**This is a simplified approximation based on the reasoning that if drug actions are mediated through the TAAR1 receptor, and drug efficacy is reflected in the respective EC50 values, then theoretically drugs should exhibit similar effects when acting at their respective EC50.** + +The actual concentration of a drug at the receptor site is influenced by several variables, including dosage, administration route, elimination half-life, and first-pass metabolism (in case of oral administration). Incorporating all these factors accurately would necessitate a detailed pharmacokinetic model, which falls outside the scope of this review. Consequently, we assume uniformity across experiments in terms of (i) volume of distribution, (ii) first-pass metabolism, (iii) blood-brain barrier permeability, and (iv) experimental design, especially regarding the timing of peak drug concentration (where we assume that experiments were designed to be done at a time when the drug was near peak concentration). + +Figure 5.2.10.1 provides a visualisation of the meta-regression analysis relationship between standardised doses of TAAR1 agonists and the Standardized Mean Difference (SMD) change in cognition. As before, dashed lines represent the 95% confidence interval of the regression line and dotted lines represent the 95% prediction interval. Raw data is plotted with point size adjusted according to effect size precision. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + +SMD_S_cog_StandardDose <- metaregression_analysis(df, "TvC", "Cognition", "StandardisedDose", 0.5) + +``` + +**Figure 3.3.10** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE,} +SMD_S_cog_StandardDose$regression_plot +``` + +The estimate for $\theta$ was `r SMD_S_cog_StandardDose$metaregression_summary$beta[1]`. The estimate for $\beta$ was `r SMD_S_cog_StandardDose$metaregression_summary$beta[2]`. + +#### 3.3.11 SYRCLE RoB assessment + +Figure 3.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by how many of the SYRCLE risk of bias assessment criteria (of which there are 10) that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SYRCLE RoB assessment, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.11** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_SYRCLERoB <- subgroup_analysis(df, "TvC", "Cognition", "RoBScore", 0.5) +``` + +`r SMD_S_cog_SYRCLERoB[SMD_S_cog_SYRCLERoB$RoBScore == "0 criteria met", "k"]` experiments met none of the SYRCLE Risk of Bias criteria. `r SMD_S_cog_SYRCLERoB[SMD_S_cog_SYRCLERoB$RoBScore == "1 criteria met", "k"]` experiments met one of the SYRCLE Risk of Bias criteria. No studies met more than one of the SYRCLE Risk of Bias criteria. + +The pooled SMD estimate for experiments that met none of the SYRCLE Risk of Bias criteria was `r SMD_S_cog_SYRCLERoB[SMD_S_cog_SYRCLERoB$RoBScore == "0 criteria met", "SMD"]`, and for experiments that met one of the SYRCLE Risk of Bias criteria `r SMD_S_cog_SYRCLERoB[SMD_S_cog_SYRCLERoB$RoBScore == "1 criteria met", "SMD"]`. + +Figure 3.3.11 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by SyRCLE Risk of Bias, is displayed as a diamond shape at the bottom of the plot. + +#### 3.3.12 ARRIVE reporting completeness guidelines + +Experiments were categorised based on the number of ARRIVE guidelines (of which there are 23) met. The categorisation was as follows: Experiments meeting 3 or fewer criteria were labeled as "A: \< 3 criteria met"; those meeting 4 to 7 criteria were labeled "B: 4-7 criteria met"; for 8 to 11 criteria, "C: 8-11 criteria met"; for 12 to 15 criteria, "D: 12-15 criteria met"; for 16 to 19 criteria, "E: 16-19 criteria met"; and experiments meeting more than 19 criteria were labeled as "F: \> 20 criteria met". + +Figure 3.3.12 displays the estimates for the pooled SMD's when comparisons are stratified by this categorisation that the experiment met. Whiskers indicate the 95% confidence interval of each estimate. The overall pooled SMD, not stratified by ARRIVE reporting completeness guidelines, is displayed as a diamond shape at the bottom of the plot. + +**Figure 3.3.12** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_ARRIVE <- subgroup_analysis(df, "TvC", "Cognition", "ARRIVEScoreCat", 0.5) +``` + +`r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "C: 8-11 criteria met", "k"]` experiments met between 8-11 of the ARRIVE reporting completeness criteria. No studies met less than 8 or more than 19 of the ARRIVE reporting completeness criteria. `r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "D: 12-15 criteria met", "k"]` experiments met between 12-15, and `r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "E: 16-19 criteria met", "k"]` experiments met between 16-19 of the ARRIVE reporting completeness criteria. No studies met less than 8 or more than 19 of the ARRIVE reporting completeness criteria. + +The pooled SMD estimate for experiments that met between 8-11 of the ARRIVE reporting completeness criteria was `r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "C: 8-11 criteria met", "SMD"]`, and for experiments that met between 12-15 of the ARRIVE reporting completeness criteria `r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "D: 12-15 criteria met", "SMD"]`, and for experiments that met between 16-19 of the ARRIVE reporting completeness criteria `r SMD_S_cog_ARRIVE[SMD_S_cog_ARRIVE$ARRIVEScoreCat == "E: 16-19 criteria met", "SMD"]`. + + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide', out.width = "100%"} +SMD_S_cog_sex <- subgroup_SMD(df, "TvC", "Cognition", "Sex", 0.5) +SMD_S_cog_CatDisInd <- subgroup_SMD(df, "TvC", "Cognition", "CategoryDiseaseInduction", 0.5) +SMD_S_cog_AdminRoute <- subgroup_SMD(df, "TvC", "Cognition", "InterventionAdministrationRoute", 0.5) +SMD_S_cog_ProphThera <- subgroup_SMD(df, "TvC", "Cognition", "ProphylacticOrTherapeutic", 0.5) +SMD_S_cog_DurRx <- subgroup_SMD(df, "TvC", "Cognition", "TreatmentDurationCategory", 0.5) +SMD_S_cog_Drug <- subgroup_SMD(df, "TvC", "Cognition", "DrugName", 0.5) +SMD_S_cog_SYRCLERoB <- subgroup_SMD(df, "TvC", "Cognition", "RoBScore", 0.5) +SMD_S_cog_ARRIVE <- subgroup_SMD(df, "TvC", "Cognition", "ARRIVEScoreCat", 0.5) +SMD_S_cog_DrugSelectivity <- subgroup_SMD(df, "TvC", "Cognition", "Selectivity", 0.5) + +``` + + + + + + + + +#### 3.3.13 Heterogeneity explained by covariates (TAAR1 Agonist v Control on cognition) + +The table below shows which of the covariates, if any, explain some of the heterogeneity observed in the effect sizes of the effect of TAAR1 agonists on cognition. We present marginal R^2^, which measures the proportion of variance explained by including moderators in the model. + + + +| Moderator | Category | $\beta$ | 95% CI | Marginal R^2^ | +|:-----------:|:-----------:|:-----------:|:--------------------:|:-----------:| +| Overall effect | \- | `r SMD_S_cog$beta[1]` | `r SMD_S_cog$ci.lb` - `r SMD_S_cog$ci.ub` | \- | +| Sex | \- | \- | \- | `r r2_ml(SMD_S_cog_sex)[1]` | +| \- | *Female* | `r SMD_S_cog_sex$beta[1]` | `r SMD_S_cog_sex$ci.lb[1]` - `r SMD_S_cog_sex$ci.ub[1]` | \- | +| \- | *Male* | `r SMD_S_cog_sex$beta[2]` | `r SMD_S_cog_sex$ci.lb[2]` - `r SMD_S_cog_sex$ci.ub[2]` | \- | +| \- | *Mixed male and female* | `r SMD_S_cog_sex$beta[3]` | `r SMD_S_cog_sex$ci.lb[3]` - `r SMD_S_cog_sex$ci.ub[3]` | \- | +| Category of disease model induction | \- | \- | \- | `r r2_ml(SMD_S_cog_CatDisInd)[1]` | +| \- | *Genetic* | `r SMD_S_cog_CatDisInd$beta[1]` | `r SMD_S_cog_CatDisInd$ci.lb[1]` - `r SMD_S_cog_CatDisInd$ci.ub[1]` | \- | +| \- | *Pharmacological* | `r SMD_S_cog_CatDisInd$beta[2]` | `r SMD_S_cog_CatDisInd$ci.lb[2]` - `r SMD_S_cog_CatDisInd$ci.ub[2]` | \- | +| Administration route | \- | \- | \- | `r r2_ml(SMD_S_cog_AdminRoute)[1]` | +| \- | *Intraperitoneal* | `r SMD_S_cog_AdminRoute$beta[1]` | `r SMD_S_cog_AdminRoute$ci.lb[1]` - `r SMD_S_cog_AdminRoute$ci.ub[1]` | \- | +| \- | *Oral* | `r SMD_S_cog_AdminRoute$beta[2]` | `r SMD_S_cog_AdminRoute$ci.lb[2]` - `r SMD_S_cog_AdminRoute$ci.ub[2]` | \- | +| Intervention administered | \- | \- | \- | `r r2_ml(SMD_S_cog_Drug)[1]` | +| \- | *RO5203648* | `r SMD_S_cog_Drug$beta[1]` | `r SMD_S_cog_Drug$ci.lb[1]` - `r SMD_S_cog_Drug$ci.ub[1]` | \- | +| \- | *RO5256390* | `r SMD_S_cog_Drug$beta[2]` | `r SMD_S_cog_Drug$ci.lb[2]` - `r SMD_S_cog_Drug$ci.ub[2]` | \- | +| \- | *SEP-363856 (Ultaront)* | `r SMD_S_cog_Drug$beta[3]` | `r SMD_S_cog_Drug$ci.lb[3]` - `r SMD_S_cog_Drug$ci.ub[3]` | \- | +| Drug selectivity | \- | \- | \- | `r r2_ml(SMD_S_cog_DrugSelectivity)[1]` | +| \- | *High* | `r SMD_S_cog_DrugSelectivity$beta[1]` | `r SMD_S_cog_DrugSelectivity$ci.lb[1]` - `r SMD_S_cog_DrugSelectivity$ci.ub[1]` | \- | +| \- | *Low* | `r SMD_S_cog_DrugSelectivity$beta[2]` | `r SMD_S_cog_DrugSelectivity$ci.lb[2]` - `r SMD_S_cog_DrugSelectivity$ci.ub[2]` | \- | +| Risk of Bias | \- | \- | \- | `r r2_ml(SMD_S_cog_SYRCLERoB)[1]` | +| \- | *0 criteria met* | `r SMD_S_cog_SYRCLERoB$beta[1]` | `r SMD_S_cog_SYRCLERoB$ci.lb[1]` - `r SMD_S_cog_SYRCLERoB$ci.ub[1]` | \- | +| \- | *1 criteria met* | `r SMD_S_cog_SYRCLERoB$beta[2]` | `r SMD_S_cog_SYRCLERoB$ci.lb[2]` - `r SMD_S_cog_SYRCLERoB$ci.ub[2]` | \- | +| Reporting completeness | \- | \- | \- | `r r2_ml(SMD_S_cog_ARRIVE)[1]` | +| \- | *8-11 criteria met* | `r SMD_S_cog_ARRIVE$beta[1]` | `r SMD_S_cog_ARRIVE$ci.lb[1]` - `r SMD_S_cog_ARRIVE$ci.ub[1]` | \- | +| \- | *12-15 criteria met* | `r SMD_S_cog_ARRIVE$beta[2]` | `r SMD_S_cog_ARRIVE$ci.lb[2]` - `r SMD_S_cog_ARRIVE$ci.ub[2]` | \- | +| \- | *16-19 criteria met* | `r SMD_S_cog_ARRIVE$beta[3]` | `r SMD_S_cog_ARRIVE$ci.lb[3]` - `r SMD_S_cog_ARRIVE$ci.ub[3]` | \- | + +## 3.4. Sensitivity Analyses + +#### 3.4.1 Imputed rho values of 0.2 and 0.8 + +In the previous analyses for the effect of TAAR1 agonists on cognition, we imputed a $\rho$ value of 0.5. Here, we examine the effect of imputing $\rho$ values of 0.2 and 0.8. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_cog_rho0.2 <- run_ML_SMD(df, "TvC", "Cognition", 0.2) +``` + +**When the** $\rho$ value is assumed to be 0.2, the TAAR1 interventions had a pooled effect on cognition of **SMD = `r SMD_S_cog_rho0.2[["beta"]]`** (95% CI: `r SMD_S_cog_rho0.2[["ci.lb"]]` to `r SMD_S_cog_rho0.2[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_cog_rho0.2)$pi.lb` to `r predict(SMD_S_cog_rho0.2)$pi.ub`. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_cog_rho0.8 <- run_ML_SMD(df, "TvC", "Cognition", 0.8) +``` + +**When the** $\rho$ value is assumed to be 0.8, the TAAR1 interventions had a pooled effect on cognition of **SMD = `r SMD_S_cog_rho0.8[["beta"]]`** (95% CI: `r SMD_S_cog_rho0.8[["ci.lb"]]` to `r SMD_S_cog_rho0.8[["ci.ub"]]`) with a prediction interval of `r predict(SMD_S_cog_rho0.8)$pi.lb` to `r predict(SMD_S_cog_rho0.8)$pi.ub`. + +For reference the pooled effect size when rho is assumed to be 0.5 is `r SMD_S_cog[["beta"]]` (95% CI: `r SMD_S_cog[["ci.lb"]]` to `r SMD_S_cog[["ci.ub"]]`). + +#### 3.4.3 NMD + +For cognition, an NMD was calculable for `r df_S_cog %>% filter(NMD_possible == "TRUE") %>% nrow()` out of `r nrow(df_S_cog)` comparisons, i.e. `r ((df_S_cog %>% filter(NMD_possible == "TRUE") %>% nrow())/(nrow(df_S_cog)))*100` % of comparisons. + +The effect of administering a TAAR1 agonist on cognition in animals using NMD as the effect size is shown in Figure x. The pooled estimate for NMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate. + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +NMD_S_cog <- run_ML_NMD(df, "TvC", "Cognition", 0.5) +``` + +**Figure x** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE} +forest_metafor_NMD(NMD_S_cog, "Cognition") +``` + +For TAAR1 Agonist v Control, TAAR1 interventions had a pooled effect on cognition of NMD = `r NMD_S_cog[["beta"]]` (95% CI: `r NMD_S_cog[["ci.lb"]]` to `r NMD_S_cog[["ci.ub"]]`) with a prediction interval of `r predict(NMD_S_cog)$pi.lb` to `r predict(NMD_S_cog)$pi.ub`. For reference the pooled effect size for SMD was `r SMD_S_cog[["beta"]]` (95% CI: `r SMD_S_cog[["ci.lb"]]` to `r SMD_S_cog[["ci.ub"]]`). Between-strain variance was `r round(NMD_S_cog$sigma2[1], 3)`, between-study variance was `r round(NMD_S_cog$sigma2[2], 3)`, and within-study variance (between experiments) was `r round(NMD_S_cog$sigma2[3], 3)' + +# 4 "TAAR1 Agonist v known antipsychotic drug" (TAAR1 Ag v known antipsychotic drugs) experiments + +## 4.1 Outcome 1: Locomotor activity (a primary outcome) + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_H2H <- run_ML_SMD(df, "TvA", "Locomotor activity", 0.5) +``` + +```{r echo=FALSE} + if (any(class(SMD_S_LMA_H2H) == "rma.mv")) { + output_text1 <- "In TAAR1 Agonist v known antipsychotic drug studies, the effect of administering a TAAR1 agonist on Locomotor activity in animals using SMD as the effect size is shown in Figure 4.2.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." + output_text2 <- "Figure 4.2.1" +} else { + output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} +forest_metafor(SMD_S_LMA_H2H, "TvA", "locomotor activity") +``` + +```{r echo=FALSE} + if (any(class(SMD_S_LMA_H2H) == "rma.mv")) { + output_text3 <- paste0("For TAAR1 Agonist v known antipsychotic drug comparisons, TAAR1 interventions had a pooled effect on locomotor activity of SMD =", round(SMD_S_LMA_H2H[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_H2H[['ci.lb']], 3), " to ", round(SMD_S_LMA_H2H[['ci.ub']], 3), ", with a prediction interval of", round(predict(SMD_S_LMA_H2H)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_H2H)$pi.ub, 3)) + output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA_H2H$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA_H2H$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA_H2H$sigma2[3], 3)) +} else { + output_text3 <- "" + output_text4 <- "" +} +``` + +`r output_text3` + +`r output_text4` + + + +## 4.2 Outcome 2: Cognition (a secondary outcome) + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_H2H <- run_ML_SMD(df, "TvA", "Cognition", 0.5) +``` + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} + if (any(class(SMD_S_Cog_H2H) == "rma.mv")) { + output_text1 <- "In TAAR1 Agonist v known antipsychotic drug studies, the effect of administering a TAAR1 agonist on cognitive outcomes in animals using SMD as the effect size is shown in Figure 4.2.2. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." + output_text2 <- "Figure 4.2.2" +} else { + output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." + output_text2 <- "" +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} +forest_metafor(SMD_S_Cog_H2H, "TvA","Cognition") +``` + +```{r echo=FALSE} + if (any(class(SMD_S_Cog_H2H) == "rma.mv")) { + output_text3 <- paste0("For TAAR1 Agonist v known antipsychotic drug comparisons, TAAR1 interventions had a pooled effect on cognitive outcomes of SMD = `r SMD_S_Cog_H2H[['beta']]` (95% CI: `r SMD_S_Cog_H2H[['ci.lb']]` to `r SMD_S_Cog_H2H[['ci.ub']]`) with a prediction interval of `r predict(SMD_S_Cog_H2H)$pi.lb` to `r predict(SMD_S_Cog_H2H)$pi.ub`.") + output_text4 <- paste0("Between-strain variance was `r SMD_S_Cog_H2H$sigma2[1]`, between-study variance was `r SMD_S_Cog_H2H$sigma2[2]`, and within-study variance (between experiments) was `r SMD_S_Cog_H2H$sigma2[3]`") +} else { + output_text3 <- "" + output_text4 <- "" +} +``` + +`r output_text3` + +`r output_text4` + + + +# 5 Co-treatment with TAAR1 agonist plus know antipsychotic drug v known antipsychotic drug alone + +## 5.1 Outcome 1: Locomotor activity (a primary outcome) + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_LMA_TAA <- run_ML_SMD(df, "TAvA", "Locomotor activity", 0.5) +``` + +```{r echo=FALSE} + if (any(class(SMD_S_LMA_TAA) == "rma.mv")) { + output_text1 <- "For combination studies, the effect of administering a TAAR1 agonist plus a conventional antipsychotic drug, compared with TAAR1 agonist alone, on locomotor activity in animals using SMD as the effect size is shown in Figure 5.1.1. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." + output_text2 <- "Figure 5.1.1" +} else { + output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." + output_text2 <- "" +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} +forest_metafor(SMD_S_LMA_TAA, "TAvA","Locomotor activity") +``` + +```{r echo = FALSE} +# Check if the object is NULL + if (any(class(SMD_S_LMA_TAA) == "rma.mv")) { + output_text3 <- paste0("For combination experiments, TAAR1 agonists with antipsychotic drugs, compared with antipsychotic drugs alone, had a pooled effect on locomotor activity of SMD =", round(SMD_S_LMA_TAA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_TAA[['ci.lb']], 3), " to ", round(SMD_S_LMA_TAA[['ci.ub']], 3),", with a prediction interval of ", round(predict(SMD_S_LMA_TAA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_TAA)$pi.ub, 3)) + output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA_TAA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA_TAA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA_TAA$sigma2[3], 3)) +} else { + output_text3 <- "" + output_text4 <- "" +} + +``` + +`r output_text3` + +`r output_text4` + +## 5.2 Outcome 2: Cognition (a secondary outcome) + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, results='hide'} +SMD_S_Cog_TAA <- run_ML_SMD(df, "TAvA", "Cognition", 0.5) +``` + +```{r echo=FALSE} + if (any(class(SMD_S_Cog_TAA) == "rma.mv")) { + output_text1 <- "For combination studies, the effect of administering a TAAR1 agonist plus a conventional antipsychotic drug, compared with TAAR1 agonist alone, on cognitive function in animals using SMD as the effect size is shown in Figure 4.3.2. The pooled estimate for SMD across all individual comparisons is displayed as a diamond shape at the bottom of the plot. Dotted lines indicate the prediction interval of the pooled estimate." + output_text2 <- "Figure 4.3.2" +} else { + output_text1 <- "Analysis is only performed if outcomes have been reported in more than one publication. There are not sufficient data for this analysis." + output_text2 <- "" +} +``` + +`r output_text1` + +**`r output_text2`** + +```{r message=FALSE, warning=FALSE, eval = TRUE, echo = FALSE, fig.height=10} +forest_metafor(SMD_S_Cog_TAA, "TAvA","Cognition") +``` + +```{r echo = FALSE} + if (any(class(SMD_S_Cog_TAA) == "rma.mv")) { + output_text3 <- paste0("For combination experiments, TAAR1 agonists with antipsychotic drugs, compared with antipsychotic drugs alone, had a pooled effect on cognition of SMD =", round(SMD_S_LMA_TAA[['beta']], 3), " (95% CI: ", round(SMD_S_LMA_TAA[['ci.lb']], 3), " to ", round(SMD_S_LMA_TAA[['ci.ub']], 3),", with a prediction interval of ", round(predict(SMD_S_LMA_TAA)$pi.lb, 3), " to ", round(predict(SMD_S_LMA_TAA)$pi.ub, 3)) + output_text4 <- paste0("Between-strain variance was ", round(SMD_S_LMA_TAA$sigma2[1], 3), ", between-study variance was ", round(SMD_S_LMA_TAA$sigma2[2], 3), ", and within-study variance (between experiments) was ", round(SMD_S_LMA_TAA$sigma2[3], 3)) +} else { + output_text3 <- "" + output_text4 <- "" +} + +``` + +`r output_text3` + +`r output_text4` + +# 6. Summary of the evidence + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Source of evidence  

Summary of the association  

Bias due to study limitations

Bias due to reporting bias

Bias due to indirectedness  

Bias due to other reasons

Animal and pre-clinical studies

No studies were of low risk of bias or low reporting bias

Egger Regression suggested that smaller studies report larger effects.

+

This might occur if smaller studies reporting larger effects were disproportionately represented in those studies for which NMD was not evaluable those which did not report performance in a sham group.

Bias due to indirectness was assessed as follows. The Initial organism Homological validity We assessed rodents as having moderate validity as a non primate mammalian species, and all experiments included here were conducted in rodents. Further, r SMD_S_LMA_CatDisIndSMD_S_LMA_CatDisInd$CategoryDiseaseInduction == Genetic e.g. DISC1 KO, DAT KO, D2R overexpression k experiments reporting locomotor activity and r SMD_S_cog_CatDisIndSMD_S_cog_CatDisInd$CategoryDiseaseInduction == Genetic e.g. DISC1 KO, DAT KO, D2R overexpression, k experiments reporting cognition used a genetic manipulation in a gene DAT known to be associated with human disease. Early environment factors inducing transition from initial organism to vulnerable organism Ontopathogenic validity Aside from the genetic models above, no models manipulated early environmental factors. Triggering factors inducing transition from Vulnerable organism to Pathological organism were commonly used e.g. cocaine, amphetamine, PCP but usually only with short term exposures trigerring increased locomotor activity. It was not possible to assess Pathological Organism Mechanistic validity whether the neurobiological or cognitive mechanisms which operate in human disease could be observed in the animal models used or Triggering factors inducing changes in biomarkers Induction validity because these were not assessed. Therapeutic agents inducing changes in outcome There was some evidence to support directness in that known antipsychotic drugs had observed efficacy in improving locomotor activity. Biological markers There were insufficient studies reporting neuotransmitter levels and no studies reported brain imaging outcomes. Behavioural manifestations Ethological validity Most experiments reported locomotor activity, but r SMD_S_cogk experiments reported some form of cognitive outcome, and in these there was no significant effect of TAAR1 agonists r SMD_S_cogbeta 95% CI: r SMD_S_cogci.lb to r SMD_S_cogci.ub.

Human studies

+ +# 7. Software used + + + +```{r echo=FALSE} +grateful::cite_packages(output = "paragraph", pkgs = "Session", out.dir = ".") +```