Mapenando reads HISAT2 - lmigueel/Bioinformatica GitHub Wiki

1. Sobre

HISAT2 é o mapeador emendado mais rápido disponível atualmente. Faz parte do novo conjunto de ferramentas de mapeamento de dados de RNA-Seq no genoma, bem como identificará junções de splicing. O HISAT2, como o BWA e o bowtie, usa a transformação burrows-wheeler (BWT) para compactar genomas de forma que exijam muito pouca memória para serem armazenados. Como o BWA e o Bowtie, ele cria índices a partir dos genomas transformados usando um esquema especial denominado indexação FM. Isso torna possível pesquisar esses genomas rapidamente. Ao contrário do BWA e do bowtie, o HISAT2 constrói um índice global do genoma completo e dezenas de milhares de pequenos índices locais para possibilitar o alinhamento emendado. Apesar dos muitos índices, porque usa indexação BWT e FM, os índices ocupam uma área de memória muito pequena (~5 gb de RAM para todo o genoma humano), tornando possível executar hisat2 em um laptop padrão.

Com o genoma humano, por exemplo, hisat2 constrói um índice global e 48.000 índices locais (cada um com 64.000 bp de comprimento). O tamanho dos índices locais é grande o suficiente para que 90% dos íntrons caiam em um único índice local (em média, os íntrons humanos têm> 6 kb de comprimento).

Primeiro, a parte mais longa de uma leitura que mapeia para o genoma de forma contígua (chamada de âncora) é mapeada usando o índice global. Uma vez mapeado, isso ajuda a identificar o índice local relevante. HISAT pode geralmente alinhar a parte restante da leitura (pequena âncora) dentro de um único índice local em vez de pesquisar em todo o genoma.

Um pipeline completo de análise com Hisat2 + StringTie está disponível aqui.

2. Instalação

Via conda:

 conda install -c bioconda hisat2 

3. Exemplos

Primeiro, usando os scripts python incluídos no pacote HISAT2, extraia o sitios de splicing e as informações do exon do arquivo de anotação de gene (Você vai precisar do GTF, mas, caso queira, conseguirá fazer sem ele):

extract_splice_sites.py genome.gtf > genome.ss
extract_exons.py genome.gtf > genome.exon

Em segundo lugar, crie um índice HISAT2:

hisat2-build --ss genome.ss --exon genome.exon genome.fasta genoma_index

As opções --ss e --exon podem ser omitidas no comando acima se a anotação não estiver disponível.

Observe que a etapa de construção do índice requer uma quantidade maior de memória do que a etapa de alinhamento e pode não ser possível em um computador desktop. Por exemplo, a indexação requer 9 GB de RAM para o cromossomo X e 160 GB para todo o genoma humano. A quantidade de memória é muito menor se omitir informações de anotação. A indexação do cromossomo X usando 1 núcleo de CPU leva menos de 10 minutos. Deve levar cerca de 2 horas para construir um índice para todo o genoma humano usando 8 núcleos de CPU.

Agora vamos mapear cada biblioteca no formato .fastq sobre o index criado (genoma.index).

#single-end
hisat2 --dta -p 5 -x genoma_index -U condition1_singleend.fq -S condition1.sam
#paired-end
hisat2 --dta -p 5 -x genoma_index -1 condition1_R1.fq -2 condition1_R2.fq -S condition1.sam

Próximo passo é transformar para .bam. Não esqueça de ver o post neste repositório sobre o samtools.

samtools sort -o condition1.bam condition1.sam

Você então deve mapear cada biblioteca. Caso queira continuar com a análise juntamente com o StringTie2, olhe o nosso post AQUI.

As métricas de mapeamento são liberados pelo próprio Hisat2.