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