---
# System prepended metadata

title: Tutorial - Análise de RNA-Seq no Chipster
tags: [Misc]

---

# Tutorial - Análise de RNA-Seq no Chipster

###### tags: `Misc`

[TOC]

---

## Links úteis

- **Site oficial do Chipster:** [Link](https://chipster.rahtiapp.fi/home)
- **Tutorial original (inglês):** [Link](https://chipster.csc.fi/material/rna/exercises1_RNAseq_withChipster_ENCODE.pdf)
- **Slides (inglês):** [Link](https://chipster.csc.fi/material/rna/RNAseqDataAnalysis2020.pdf)
- **Playlist - Curso de RNA-seq do Chipster (inglês):** [Link](https://www.youtube.com/playlist?list=PLjiXAZO27elBj3KYi7ACscgOxlNkNOxPc)

---

## Chipster: Entendendo a plataforma

O Chipster é uma plataforma de análises bioinformáticas para usuários iniciantes e/ou que não desejam se aprofundar nas execuções de programas via linhas de comando. Nesta plataforma é fácil executar, salvar e compartilhar análises e workflows completos de forma simples e intuitiva. O programa pode ser implementado de várias formas, aqui utilizaremos uma máquina virtual presente em um dos servidores da Unesp. 

## Instalação do Chipster

1. O Chipster é um programa desenvolvido em Java, então inicialmente temos que instalar o Java Runtime Environment:
- **Download:** [Link]( https://www.java.com/pt-BR/download/manual.jsp)

![](https://i.imgur.com/3gQlBCZ.png)

2. Para utilizarmos o programa é necessário acessar o link abaixo e selecionar a opção de 6GB:

**Link:** http://200.145.102.155:8081/

![](https://i.imgur.com/PzBjxk4.png)

![](https://i.imgur.com/yZv0TnY.png)

3. Com o Java instalado, devemos abrir o `servlet.jnlp` e utilizar como username e senha a palavra `chipster`

![](https://i.imgur.com/29XvB6v.png)

## Layout

O programa possui sua interface dividida em quatro partes, sendo elas: Área de dados/arquivos; Área de análises; Área da representação do fluxo de trabalho (Workflow); e Área de visualizações. 

![](https://i.imgur.com/ooCHb1j.png)

---

## Análise de RNA-seq

Nesse tutorial iremos trabalhar com duas amostras originadas pela técnica de sequenciamento de RNA humano. Faremos a checagem de qualidade, de direcionamento, remoção de leituras/bases ruins, alinhamento contra o genoma, contagem de leituras por gene e avaliação de expressão diferencial. 
Para fins didáticos, as amostras são apenas frações de bibliotecas verdadeiras e não possuem réplicas. Tenha em mente que uma análise verdadeira de RNA-seq requer ao menos 3 réplicas por condição e é muito mais computacionalmente custosa que esta, ainda que sigam as mesmas etapas.

### 1. Iniciando o Chipster e carregando os dados

- Faça o download do arquivo **amostras.zip** no [Classroom](https://drive.google.com/file/d/1pqGBnq_DApmCblsXb6claxynuM3FUdPx/view?usp=sharing). Descompacte o arquivo e altere o nome da amostra `smp_SEU-RA-AQUI.fastq` inserindo a sua própria informação (RA) para a atribuição da nota. No total você deve possuir duas amostras:
	- **Amostra 1:** `smp_controle.fastq`
	- **Amostra 2:** `smp_343847934.fastq` (exemplo)

- Abra o arquivo `servlet.jnpl` utilizando as credenciais de **username** e **password** com `chipster`. 

- No quadrante de **Datasets** clique em **'Import files'** e localize e selecione as amostras `.fastq`. As amostras devem aparecer tanto no quadrante **Datasets** quanto no **Workflow** e podem ser selecionadas em qualquer um deles. Para selecionar múltiplas amostras segure o `ctrl` ao clicar nelas.

![](https://i.imgur.com/R5iFqAy.png)

![](https://i.imgur.com/vMHiwwh.png)

### 2. Checando a qualidade das leituras com FASTQC e MultiQC

- Selecione ambos os arquivos `.fastq` e no quadrante das **análises** selecione **"Quality control" > "Read quality with FastQC"** 

![](https://i.imgur.com/Cm0T9d4.png)

- Para alterarmos parâmetros das análises devemos clicar em **"Show parameters"**. Aqui, alteraremos a opção **"Create input for MultiQC"** para **"yes"**. E então iniciamos a análise clicando em **"Run for each"**
 
![](https://i.imgur.com/iJKCY19.png)
 
- Serão gerados dois *outputs* (saídas) para cada arquivo `.fastq`. Selecione um dos arquivos `.html` e no quadrante de **visualização** selecione **"Open in external web browser"** para visualiza-lo. 

- Para concatenar os resultados em um único relatório (o que pode ser essencial em experimentos com muitas amostras) vamos selecionar os dois arquivos `.mqc` e, então, selecionar a análise **"Quality control" > "Combine reports using MultiQC"** e clique em **"Run"**. Isso deverá gerar um novo `.html` chamado `multiqc_report.html` que pode ser visualizado da mesma forma que o anterior.

### 3. Podando sequências de baixa qualidade com o Trimmomatic

- Selecione o primeiro arquivo `.fastq` e no quadrante das **análises** selecione **"Preprocessing" > "Trim reads with Trimmomatic"**. Para removermos bases de baixa qualidade no final das sequências e sequências muito pequenas alteraremos (em **"Show parameters"**), respectivamente, os parâmetros: **"Minimum quality to keep a trailing base"** = **5** e **"Minimum length of reads to keep"** = **50**. Então, clique em **"Run"**. *Repita o mesmo processo para o segundo arquivo `.fastq`*

![](https://i.imgur.com/URg2NI2.png)

- O resultado do processamento são arquivos `.gz` (fastq's compactados) com sequências livres de bases/sequências ruins. Há também um arquivo log `.txt` que informa quantas sequências foram excluidas e quantas mantidas (para visualizar selecione o `.txt` e no campo da **visualização** clique em **"View text"**).

- *(Opcional)* Os passos do tópico de checagem de controle de qualidade podem ser refeitos para os arquivos `.gz` permitindo, assim, verificar a efetividade do processamento. 

### 4. Checando o direcionamento das sequências

No processo de sequenciamento as leituras geradas podem assumir uma série de posições em relação ao fragmento sequenciado:

![](https://i.imgur.com/Sem7sl7.png)

Em caso do desconhecimento do layout utilizado, podemos utilizar uma ferramenta do Chipster para inferir a direção das leituras:

- Selecione uma das amostras processadas (final `_trimmed.fq.gz`) e rode a ferramenta: **"Quality control" > "RNA-seq strandedness inference and inner distance estimation using RseQC"** (cheque nos parâmetros se o genoma está correto **"genome = Homo_sapiens.GRCh38.95"**). *Repita o mesmo processo para o segundo arquivo `_trimmed.fq.gz`*

- O resultado visualizado em `experiment_data.txt` será utilizado em passos posteriores.

![](https://i.imgur.com/C2peOkH.png)

### 5. Alinhamento das leituras contra o genoma de referência com HISAT2

- Selecione uma das amostras `trimmed.fq.gz` e execute a análise **"Alignment" > "HISAT2 for single end reads"**. Nos parâmetros, assegure que o genoma selecionado seja o adequado (**"genome = Homo_sapiens.GRCh38.95"**) e opção de direcionamento esteja como o predito no passo anterior (**"Strandedness" = "F"**), então rode (**"Run"**). *Repita o mesmo processo para o segundo arquivo `_trimmed.fq.gz`*.
- Ao final das execuções, haverão dois pares de arquivos do tipo `.bam` (arquivo de alinhamento), `.bai` (arquivo de indexação) e `.log` (informações sobre o alinhamento).

![](https://i.imgur.com/GyDppQf.png)

- Ao selecionar um arquivo `.bam` é possível visualizar os alinhamentos das leituras no genoma. Para fazê-lo, selecione um dos `.bam` e, no campo de visualizações, selecione **"Genome browser"**. Na nova tela que se abrirá, selecione o genoma (**"Genome" >  "Homo_sapiens.GRCh38.95 (hg38)"**) e vá ao cromossomo 19 (em **"Location": "Chromosome" > "19"**), então aperte **"Go"**. Navegue pelo cromossomo arrastando o cursor e dando zoom quando necessário. 

![](https://i.imgur.com/PWdxlLi.png)

![](https://i.imgur.com/uxlGMDA.png)

### 6. Obtenção das contagens de leituras por gene com o HTSeq

Uma vez obtido os alinhamentos, é possível contabilizar o número de leituras relacionadas com cada gene presente no genoma de referência. Isso permitirá avaliar quais elementos são diferencialmente expressos entre as amostras.

- Selecione ambos arquivos `.bam` bem como a ferramenta **"RNA-seq" > "Count aligned reads per genes with HTSeq"**. Nos parâmetros, altere a opção de direcionamento das leituras (**"Is the data stranded and how" = "yes" in HTSeq...**). Então, clique em **"Run for each"**. Cada arquivo `.bam` resultará em duas saídas: O arquivo de contagens `.tsv` e um relatório `.txt`. 

![](https://i.imgur.com/nBxbb3T.png)

- Inspecione um dos arquivos `.tsv` clicando em **"Spreadsheet"**  no campo de visualização. Clique duas vezes na coluna nomeada **"count"** para ordenar os genes de forma decrescente.

![](https://i.imgur.com/lvtHZaP.png)

### 7. Detectar os genes diferencialmente expressos com o edgeR 

Com as contagens em mãos podemos comparar as condições e verificar quais são os genes diferencialmente expressos entre elas. Para isso, precisamos definir os grupos amostrais. 

- Selecione ambos arquivos `.tsv` contendo as contagens e, então, a ferramenta **"Utilities" > "Define NGS experiment"**. Nos parâmetros defina: **"Count column" = "count"** e **"Does your data contain genomic coordinates" = "yes"**. Após rodar (**"Run"**) obteremos dois novos `.tsv` (`ngs-data-table.tsv` e `phenodata.tsv`). Abra o `phenodata.tsv` e clique em **"Phenodata editor"**. Preencha a coluna **group** designando **1** para a primeira amostra e **2** para a segunda e então, feche (**"Close"**).

![](https://i.imgur.com/KPAzJay.png)

- Para executar o **edgeR** e detectar os genes diferencialmente expressos selecione o novo `.tsv` criado (`ngs-data-table.tsv`) e a ferramenta **"RNA-seq" > "Differential expression using edgeR"**, então rode (**"Run"**). 

![](https://i.imgur.com/pHW4BQn.png)

- Abra o novo `.tsv` criado (`de-list-edger.tsv`) visualizando a **"Spreadsheet"**. Ai estão os genes diferencialmente abundantes. 

![](https://i.imgur.com/4oK05Lg.png)

### 8. Anotação dos genes dif. exp. 


:::warning
**ATENÇÃO: Esse passo pode não funcionar, pois depende dos servidores da Ensembl estarem online e funcionais. Em caso de erro, prossiga para a próxima etapa utilizendo a tabela `de-list-edger.tsv`**
:::

- Para identificar os genes que foram considerados dif. expressos vamos fazer a anotação dos genes selecionando a tabela `de-list-edger.tsv` e utilizando a ferramenta **"Utilities" > "Annotate Ensembl identifiers"** 

![](https://i.imgur.com/axM1U2W.png)

- Abra o novo `.tsv` criado (`annotated.tsv`) visualizando a **"Spreadsheet"**. Agora podemos saber quais são os genes, incluindo o nome, descrição e símbolos.

![](https://i.imgur.com/Sz2a1ij.png)

### 9. Visualizações finais

Agora podemos abrir o `annotated.tsv` e explorar visualmente os resultados:

![](https://i.imgur.com/y27sYdR.png)

![](https://i.imgur.com/2KbLgyH.png)
