## ----echo=F----------------------------------------------------------------
library(DiscoRhythm)

indata <- discoGetSimu()
knitr::kable(head(indata[,1:6]),format = "markdown") # Inspect the data

## ----echo=F----------------------------------------------------------------
kableExtra::column_spec(knitr::kable(head(indata[,1:6])),
              1, background = "#FDB813",
              include_thead = TRUE)

## ----echo=F----------------------------------------------------------------
kableExtra::column_spec(knitr::kable(head(indata[,1:6])),
              2:6, background = "#FDB813",
              include_thead = TRUE)

## ----echo=F----------------------------------------------------------------
kableExtra::column_spec(
kableExtra::row_spec(
  knitr::kable(head(indata[,1:6])),
              0, background = "#FDB813"),
1, background = "inherit",include_thead = TRUE)

## ----echo=F,message=FALSE--------------------------------------------------
knitr::kable(head(SummarizedExperiment::colData(
  discoDFtoSE(indata)
)), format = "markdown")

## ----interface, echo=F, fig.cap="Screenshot of the initial DiscoRhythm landing page."----
knitr::include_graphics("IntroductionSS.jpg")

## ----echo=FALSE------------------------------------------------------------
# Figure caption template
figcap="Screenshot of the '%s' section of the DiscoRhythm interface."


## ----selectData, echo=FALSE, fig.cap=sprintf(figcap,'Select Data')---------
knitr::include_graphics("selectDataSS.jpg")

## ----corQC, echo=FALSE, fig.cap=sprintf(figcap,'Inter-sample Correlation')----
knitr::include_graphics("IntersampleCorrelationSS.jpg")

## ----pcaQC, echo=F, fig.cap=sprintf(figcap,'PCA')--------------------------
knitr::include_graphics("PCASS.jpg")

## ----filteringSummary, echo=F, fig.cap=sprintf(figcap,'Filtering Summary')----
knitr::include_graphics("FilteringSummarySS.jpg")

## ----repAnalysis, echo=F, fig.cap=sprintf(figcap,'Row Selection')----------
knitr::include_graphics("RowSelectionSS.jpg")

## ----domPer, echo=F, fig.cap=sprintf(figcap,'Period Detection')------------
knitr::include_graphics("PeriodDetectionSS.jpg")

## ----PCfits, echo=F, fig.cap=sprintf(figcap,'PC Cosinor Fits')-------------
knitr::include_graphics("PCfitsSS.jpg")

## ----detOsc, echo=F, fig.cap=sprintf(figcap,'Oscillation Detection (Preview)')----
knitr::include_graphics("OscillationDetectionPrevSS.jpg")

## ----detOscResults, echo=F, fig.cap=sprintf(figcap,'Oscillation Detection')----
knitr::include_graphics("OscillationDetectionSS.jpg")

## ----batchReport, echo=F, fig.cap=sprintf(figcap,'Session Archiving')------
knitr::include_graphics("SessionArchivingSS.jpg")

## --------------------------------------------------------------------------
library(DiscoRhythm)
indata <- discoGetSimu()
knitr::kable(head(indata[,1:6]), format = "markdown") # Inspect the data

## --------------------------------------------------------------------------
se <- discoDFtoSE(indata)

## --------------------------------------------------------------------------
selectDataSE <- discoCheckInput(se)

## ----message=FALSE---------------------------------------------------------
library(SummarizedExperiment)
Metadata <- colData(selectDataSE)
knitr::kable(discoDesignSummary(Metadata),format = "markdown")

## --------------------------------------------------------------------------
CorRes <- discoInterCorOutliers(selectDataSE,
                                cor_method="pearson",
                                threshold=3,
                                thresh_type="sd")

## --------------------------------------------------------------------------
PCAres <- discoPCAoutliers(selectDataSE,
                           threshold=3,
                           scale=TRUE,
                           pcToCut = c("PC1","PC2","PC3","PC4"))

## --------------------------------------------------------------------------
discoPCAres <- discoPCA(selectDataSE)

## --------------------------------------------------------------------------
FilteredSE <- selectDataSE[,!PCAres$outliers & !CorRes$outliers]

DT::datatable(as.data.frame(
  colData(selectDataSE)[PCAres$outliers | CorRes$outliers,]
))

knitr::kable(discoDesignSummary(colData(FilteredSE)),format = "markdown")

## --------------------------------------------------------------------------
ANOVAres <- discoRepAnalysis(FilteredSE,
                             aov_method="Equal Variance",
                             aov_pcut=0.05,
                             aov_Fcut=1,
                             avg_method="Median")

FinalSE <- ANOVAres$se

## --------------------------------------------------------------------------
PeriodRes <- discoPeriodDetection(FinalSE,
                                  timeType="linear",
                                  main_per=24)

## --------------------------------------------------------------------------
OVpca <- discoPCA(FinalSE)
OVpcaSE <- discoDFtoSE(data.frame("PC"=1:ncol(OVpca$x),t(OVpca$x)),
                                  colData(FinalSE))
knitr::kable(discoODAs(OVpcaSE,period = 24,method = "CS")$CS,
             format = "markdown")

## --------------------------------------------------------------------------
discoODAres <- discoODAs(FinalSE,
                         period=24,
                         method="CS",
                         ncores=1,
                         circular_t=FALSE)

## --------------------------------------------------------------------------
sessionInfo()