```{r setup, include=FALSE, warning=FALSE, message=FALSE}
knitr::opts_chunk$set(error = TRUE, echo = FALSE)
```


## Job script

```{bash echo=FALSE}
sh ${TOOL_INSTALL_DIR}/build-and-run-job-scripts.sh
```

```{r echo=FALSE,warning=FALSE,results='asis'}
# display content of the job-script.sh file.
cat('```bash\n')
cat(readLines(paste0(Sys.getenv('REPORT_FILES_PATH'), '/job-1-script.sh')), sep = '\n')
cat('\n```')
```


# Results summary

## Reads processing summary

```{r echo=TRUE}
log = readLines(paste0(Sys.getenv('REPORT_FILES_PATH'), '/trim-trimmed.log'))
start_line = grep('read.+processed; of these:', log)
end_line = grep('untrimmed.+available after processing', log)
processing_summary = gsub('(\\d+) ', '\\1\t', log[start_line:end_line])
processing_summary_df = do.call(rbind, strsplit(processing_summary, '\t'))
colnames(processing_summary_df) = c('Total reads:', processing_summary_df[1,1])
knitr::kable(processing_summary_df[-1, ])
```

## Length distribution of reads after trimming

```{r echo=TRUE, message=FALSE, warning=FALSE}
start_line = grep('length	count	percentage', log)
len_dist = log[(start_line):length(log)]
len_dist = do.call(rbind, strsplit(len_dist, '\t'))
columns = len_dist[1, ]
len_dist = as.data.frame(len_dist[-1, ])
colnames(len_dist) = columns

library(plotly)
library(ggplot2)
len_dist$count = as.numeric(len_dist$count)
labels = as.character(len_dist$length)
len_dist$length = 1:nrow(len_dist)
pp = ggplot(data = len_dist, aes(length, count)) +
  geom_line(color='red') +
  scale_x_continuous(name = 'Length',
                   breaks = 1:nrow(len_dist),
                   labels = labels) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  ylab('Count') +
  ggtitle('Length distribution')
ggplotly(pp)
```