---
title: "Introduction to seeker"
author: "Jake Hughey"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Introduction to seeker}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(collapse = TRUE, comment = '#>')
```

## RNA-seq data

The `seeker` package is designed to be a wrapper around various command-line and R-based tools. The main function is, well, `seeker()`, which is targeted at processing bulk RNA-seq data. `seeker()`'s main argument is a list of parameters specifying which steps of RNA-seq data processing to perform and how to perform them. The list of parameters can come from a yaml file, an example of which is shown below.

```{r, code = readLines(system.file('extdata', 'PRJNA600892.yml', package = 'seeker')), eval = FALSE}
```

An empty template yaml file is available at `system.file('extdata', 'params_template.yml', package = 'seeker')`. You can copy these yaml files to your working directory like so:

```{r, eval = FALSE}
for (filename in c('PRJNA600892.yml', 'params_template.yml')) {
  file.copy(system.file('extdata', filename, package = 'seeker'), '.')}
```

If you've already installed the system dependencies, such as with `installSysDeps()`, a basic way to run `seeker()` is then:

```{r, eval = FALSE}
library('seeker')
doParallel::registerDoParallel()

yamlPath = 'PRJNA600892.yml'
params = yaml::read_yaml(yamlPath)
seeker(params)
```

Beware even this minimal example could take some time.

## Microarray data

Here you can use the `seekerArray()` function, which can process data from [NCBI GEO](https://www.ncbi.nlm.nih.gov/geo/) and [ArrayExpress](https://www.ebi.ac.uk/arrayexpress/), and can process raw Affymetrix data stored locally. The main arguments are `study` and `geneIdType`. For example:

```{r, eval = FALSE}
library('seeker')

study = 'GSE25585'
geneIdType = 'entrez'
seekerArray(study, geneIdType)
```
