# 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´´´