---
# System prepended metadata

title: 'Bioinformática II: Análise transcriptomas: 04/11'

---

# Bioinformática II: Análise transcriptomas: 04/11

Montagem: Reconstrução aproximada das sequencias alvos em suas formas originais.

Profundidade do sequenciamento: Número de reads obtidas.

Cobertura (N):
(numero de leituras x tamanho das leituras)/ Tamanho total
O tamanho total de pares de base no genoma transcriptoma.

Tamanho do gene: Número de bases do gene (L)

Contagem de transcritos do gene (C): numero de leituras que mapearam no gene.

Contagem de transcritos da isoforma (I):
número de leituras que mapearam na isoforma.

N50: medida de contiguidade, o quanto as sequencias são conitnuas

## Pré processamento dos dados

Phred score 30: Um err a cada 1000 bases
kmer: subsequencias dentro de uma sequencia maior, no fastqc avalia a representatividade de determinada subsequencia dentro de uma sequencia maior.

Sequencias superrepresentadas: grande chance de ser RNA ribossomal.

fastUniq: SNPs

PrinSeq: Trimagem de cauda Poli-A: A filtragem de cauda poli-A pode reduzir o numero de falsos positivos nos alinhamentos. A eliminação de regiões de baixa qualidade pode reduzir o numero de falsos negativos.
Se elimina a cauda poliA pois ela nao tem identidade com o genoma.

Sequencias de baixa complexidade: Quanto mais repetições menor a complexidade.
menor valor dust:maior complexidade Ex:
TTTTTTTTT > 100
TATATATATA> 49
TAGTAGTAGTAG> 32
metodo entropia é ao contrario do dust: quanto maior o valor, maior a complexidade.

PrinSeq:
```
mkdir -p ./output/processed/prinseq
prinseq-lite.pl -fastq /home/jcardoso/sim/raw/SAMPLEA1_R1.fastq \
                -fastq2 /home/jcardoso/sim/raw/SAMPLEA1_R2.fastq \
                -out_format 3 \
                -trim_qual_window 3 \
                -trim_qual_step 1 \
                -trim_qual_right 30 \
                -trim_qual_type mean \
                -trim_qual_rule lt \
                -out_good ./output/processed/prinseq/SAMPLEA1 \
                -out_bad ./output/processed/prinseq/SAMPLEA1.bad \
                -lc_method dust \
                -lc_threshold 30 \
                -min_len 20 \
                -trim_tail_right 5 \
                -trim_tail_left 5\
                -ns_max_p 80 \
                -noniupac \
                > ./output/processed/prinseq/SAMPLEA1.out.log \
                2> ./output/processed/prinseq/SAMPLEA1.err.log
```
Apenas para renomear o arquivo de saida, para saber de que programa é proveniente.
```
mkdir -p ./output/processed/prinseq

prinseq-lite.pl -fastq ./raw/SAMPLEA1_R1.fastq \
                -fastq2 ./raw/SAMPLEA1_R2.fastq \
                -out_format 3 \
                -trim_qual_window 3 \
                -trim_qual_step 1 \
                -trim_qual_right 30 \
                -trim_qual_type mean \
                -trim_qual_rule lt \
                -out_good ./output/processed/prinseq/SAMPLEA1.prinseq \
                -out_bad ./output/processed/prinseq/SAMPLEA1.prinseq.bad \
                -lc_method dust \
                -lc_threshold 30 \
                -min_len 20 \
                -trim_tail_right 5 \
                -trim_tail_left 5\
                -ns_max_p 80 \
                -noniupac \
                > ./output/processed/prinseq/SAMPLEA1.prinseq.out.log \
                2> ./output/processed/prinseq/SAMPLEA1.prinseq.err.log
```

```
mkdir -p output/processed/fastqc/pre
fastqc -t 2 /home/jcardoso/sim/raw/SAMPLEA1_R1.fastq -o ./output/processed/fastqc/pre/
fastqc -t 2 /home/jcardoso/sim/raw/SAMPLEA1_R2.fastq -o ./output/processed/fastqc/pre/
```

`mkdir -p output/processed/fastqc/pos`
```
fastqc -t 2 ./output/processed/prinseq/SAMPLEA1_1.fastq -o ./output/processed/fastqc/pos/

fastqc -t 2 ./output/processed/prinseq/SAMPLEA1_2.prinseq.fastq -o ./output/processed/fastqc/pos/
```

#### SE EXISTIR SAMPLEA1.prinseq_1_singletons.fastq
`fastqc -t 2 ./output/processed/prinseq/SAMPLEA1.prinseq_1_singletons.fastq -o ./output/processed/fastqc/pos/`
#### SE EXISTIR SAMPLEA1.prinseq_2_singletons.fastq
`fastqc -t 2 ./output/processed/prinseq/SAMPLEA1.prinseq_2_singletons.fastq -o ./output/processed/fastqc/pos/`

* mixOmics: Pacote R

Script for:
```
#!/bin/bash

mkdir -p ./output/processed/fastqc/pre

for r1 in `ls /home/jcardoso/sim/raw/*_R1.fastq`; do
        r2=`echo ${r1} | sed 's/_R1.fastq/_R2.fastq/'`

        name=`basename ${r1} | sed 's/_R1.fastq//'`
        echo "FastQC evaluation using sample ${name}: ${r1} & ${r2} ..."

        fastqc -t 2 \
                ${r1} \
                -o ./output/processed/fastqc/pre/ \
                > ./output/processed/fastqc/pre/${name}_R1.log.out.txt \
                2> ./output/processed/fastqc/pre/${name}_R1.log.err.txt

        fastqc -t 2 \
                ${r2} \
                -o ./output/processed/fastqc/pre/ \
                > ./output/processed/fastqc/pre/${name}_R2.log.out.txt \
                2> ./output/processed/fastqc/pre/${name}_R2.log.err.txt


mkdir -p ./output/processed/prinseq

prinseq-lite.pl -fastq ${r1} \
                -fastq2 ${r2} \
                -out_format 3 \
                -trim_qual_window 3 \
                -trim_qual_step 1 \
                -trim_qual_right 30 \
                -trim_qual_type mean \
                -trim_qual_rule lt \
                -out_good ./output/processed/prinseq/${name}.prinseq \
                -out_bad ./output/processed/prinseq/${name}.prinseq.bad \
                -lc_method dust \
                -lc_threshold 30 \
                -min_len 20 \
                -trim_tail_right 5 \
                -trim_tail_left 5\
                -ns_max_p 80 \
                -noniupac \
                > ./output/processed/prinseq/${name}.prinseq.out.log \
                2> ./output/processed/prinseq/${name}.prinseq.err.log
                
mkdir -p output/processed/fastqc/pos

fastqc -t 2 \
 ./output/processed/prinseq/${name}.prinseq_1.fastq \
   ./output/processed/prinseq/ \
   -o ./output/processed/fastqc/pos/
fastqc -t 2 \
  ./output/processed/prinseq/{name}.prinseq_2.fastq \
   -o ./output/processed/fastqc/pos/

# SE EXISTIR SAMPLEA1.prinseq_1_singletons.fastq
fastqc -t 2 \
   ./output/processed/prinseq/{name}.prinseq_1_singletons.fastq \
   -o ./output/processed/fastqc/pos/
# SE EXISTIR {name}.prinseq_2_singletons.fastq
fastqc -t 2 \
   ./output/processed/prinseq/{name}.prinseq_2_singletons.fastq \
   -o ./output/processed/fastqc/pos/                         
   done     
```

Dar permissão de execução:

`chmod a+x `
`./scriptfor.sh`

Script FastQC(pre)+PrinSeq+FastQC(pos)
O script preprocess1.sh foi desenvolvido para uma análise simples considerando que há arquivos *_R1.fastq e *_R2.fastq no diretório ./raw a partir de onde o script deve estar gravado e de onde será executado:

./preprocess1.sh

```

```

Geralmente vc realiza a trimagem na extremidade 5', raramente na 3'.Porque se o fragmento é muito curto, do que o valor que colocou durante o ciclo de sequenciamento, a polimerase continua e tem-se reads contendo sequencia de adaptador.

cutadapt: só leva em conta correspondecia nas regioẽs 3', 5' e interna, e não qualidade das bases.
-G e -g tem q passar as 2 sequencias, pois leem da direita para esquerda.
-A e -a é referente a porção 5' da esquerda pra direita.

Para chamar o comando atropos no servidor hammer é necessário ativar o ambiente Python compatível com o programa.

`pyenv activate atropos`

Com o ambiente carregado é possível invocar o comando e visualizar as opções disponível.

```
atropos -h 
atropos trim -h
```
Para desativar o ambiente e retornar a o ambiente padrão:

`pyenv deacivate`

Atropos: Somente as sequencias dos adaptadore 3' são suficientes, pois ele consegue identificar que as 5' são complementares dessas.

Ordem de execução melhor que o default: -- op-order GAWCQ (Testes realizados pelo lab do prof Daniel mostraram que essa ordem é melhor que o default, deram mais certo.)

A primeira execução será no modo Insert:
```
atropos trim --aligner insert \
             -e 0.1 \
             -n 2 \
             -m 1 \
             --op-order GAWCQ \
             --match-read-wildcards \
             -O 20 \
             -q 25 \
             -T 2 \
             --correct-mismatches conservative \
             --pair-filter any \
             -a AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC \
             -A AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT  \
             -o ./output/processed/atropos/SAMPLEA1_R1.atropos.fastq \
             -p ./output/processed/atropos/SAMPLEA1_R2.atropos.fastq \
             -pe1 ./raw/SAMPLEA1_R1.fastq \
             -pe2 ./raw/SAMPLEA1_R2.fastq \
             --untrimmed-output ./output/processed/atropos/SAMPLEA1_R1.atropos.untrimmed.fastq \
             --untrimmed-paired-output ./output/processed/atropos/SAMPLEA1_R2.atropos.untrimmed.fastq \
               > ./output/processed/atropos/SAMPLEA1_R1.atropos.log.out.txt \
              2> ./output/processed/atropos/SAMPLEA1_R1.atropos.log.err.txt´´´
             
             
