Les réseaux pair-à-pair
1.4 Pair-à-pair décentralisé non-structuré
Estando as reads processadas, o próximo passo é mapeá-las contra um genoma de referência. A maior parte dos programas de alinhamento disponíveis usam um dentre os seguintes algoritmos de mapeamento: baseado em hash ou na transformação de Burrows- Wheeler (BWT). Estes algoritmos irão construir um arquivo de alinhamento com base nos dados de single-end e em uma análise seguinte utilizarão os dados de paired-end para refinar os alinhamentos gerados.
Para fazer o alinhamento pode ser utilizado o BWA (Li & Durbin, 2009), o qual utiliza um algoritmo do tipo BWT, que tem como principal vantagem o menor consumo de memória. O BWA é um pacote de softwares, que consiste em três algoritmos, que são chamados por diferentes comandos: aln/samse/sampe para o BWA-backtrack, bwasw
para o BWA-SW e men para o BWA-MEM.
Antes de realizar o alinhamento, porém, é preciso indexar o genoma de referência por meio do índice FM (Ferragina, Manzini, Veli, & Navarro, 2004). Neste caso, utilizamos um genoma já indexado (Homo sapiens, UCSC, hg19), disponibilizado pela Illumina através do iGenomes em: https://support.illumina.com/sequencing/ sequencing_software/igenome.html. Pode-se também indexar localmente o genoma de interesse por meio de ferramentas específicas. Para tanto, é necessário gerar três
Anexos 165
6
diferentes arquivos, arquivo índice, arquivo fasta índice e um dicionário de sequência, os quais podem ser obtidos por meio dos programas BWA, Samtools e Picard, respectivamente.
O algoritmo utilizado para realizar o alinhamento é o BWA-MEM em função da sua especificidade para sequências com tamanho entre 70 e 1Mb e por ser mais rápido e acurado que o BWA-SW. A seguinte linha de comando deve ser utilizada (Tabela 2):
bwa mem -t 6 -R
'\@\R\G\\tID:sampleID\tLB:sampleLB\tSM:tag\tPL:illumina\tPU:samp leP' /path/to/reference/hg19.fa
sample.trimmed.r1.fastq sample.trimmed.r2.fastq > mapped.sample.sam
Tabela 2: Descrição dos componentes da linha de comando executada no BWA. Comandos utilizados no BWA Função do comando executado
-t number of threads (número de processos com
um endereço/espaço compartilhado no Linux). -R indica que o parâmetro a seguir se refere à linha
do cabeçalho de determinado grupo de reads. \t comando convertido em TAB no output SAM, a
fim de separar adequadamente os campos. \@\R\G\\ identifica o cabeçalho de cada grupo de reads.
Permite ainda que o arquivo BAM possa ser lido pelo GATK.
ID identifica a qual grupo de reads cada read pertence. O ID permite que ao invés de ter que lidar com múltiplos grupos de dados, se passe a lidar com apenas um. Assim, a informação sobre o grupo de reads permite a identificação dos dados de diferentes experimentos, ainda que eles estejam combinados em um arquivo único. Cada linha @RG deve conter um ID único. Logo, todas as reads de um mesmo grupo são consideradas como parte da mesma corrida de sequenciamento e indicam a linha que ocupam nessa corrida. Por exemplo: ID: FLOWCELL1. LANE2.
LB identificador da biblioteca de DNA.
SM nome da amostra sequenciada em determinado grupo de reads. Todo dado que tiver um mesmo valor SM será tratado como pertencendo a uma mesma amostra.
Anexos 166
7
Continuação Tabela 2: Descrição dos componentes da linha de comando executada no BWA. Comandos utilizados no BWA Função do comando executado
PL identifica a plataforma de sequenciamento utilizada.
PU denominação alternativa do grupo de reads. Mantém a informação sobre a linha onde a amostra se encontra na flow cell. Essa designação não é exigida pelo GATK, mas prevalece sobre o ID caso seja executada uma recalibração de base.
/path/to/reference/hg19.fa identifica o caminho a ser seguido para consulta ao genoma de referência
sample.trimmed.r1.fastq input para o mapeamento, contendo a primeira read do par
sample.trimmed.r2.fastq input para o mapeamento, contendo a segunda read do par
> mapped.sample.sam indica o redirecionamento do resultado do mapeamento para o arquivo SAM especificado.
Como output do comando acima é gerado um arquivo SAM (*.sam). Porém, uma vez que os arquivos SAM são arquivos de texto que ocupam muito espaço no disco rígido, e para que as informações sobre mapeamento pudessem ser visualizadas, esse arquivo pode ser convertido para o formato BAM (*.bam).
1.2.3.1. SAM
O formato SAM (Sequencing Alignment/Map) (Li et al., 2009) é um arquivo baseado em texto, utilizado como output por diversos programas de alinhamento. Cada linha no arquivo SAM armazena informações sobre uma read mapeada contra um genoma de referência.
Arquivos SAM possuem uma seção com o cabeçalho (que é opcional) e uma seção de alinhamento. As linhas no cabeçalho iniciam com “@” seguido por um código de duas letras. Por sua vez, cada read alinhada à referência é representada em uma linha da seção de alinhamento.
Podem estar presentes ainda linhas opcionais com marcações predefinidas (The SAM/BAM Format Specification Working Group, Sequence Alignment/Map Format
Anexos 167
8
Specification, 2015, http://samtools.github.io/hts-specs/SAMv1.pdf). Algumas destas marcações são geradas pelo BWA (aquelas começando com “X”).
1.2.3.2. BAM
O formato BAM (Binary Alignment/Map) é a versão binária compactada de um arquivo SAM, indexável e amplamente utilizado para representar as sequências após o alinhamento. A compactação em blocos (chamada BGZF) de um arquivo BAM permite além da diminuição do espaço de armazenamento o carregamento parcial do arquivo, o que é bastante utilizado em programas de visualização como o IGV ou o UCSC Genome Browser.
A conversão do arquivo SAM em BAM gera um arquivo com as mesmas
informações e pode ser realizada através do programa SAMtools
(http://samtools.sourceforge.net/), o qual fornece diversas ferramentas para manipulação desses arquivos.
Para visualizar o arquivo BAM e permitir sua utilização pelos softwares de determinação de variantes, é preciso ordenar os alinhamentos de acordo com a posição genômica. O comando a seguir é utilizado para realizar a conversão de SAM em BAM e a ordenação do arquivo BAM:
samtools sort mapped.sample.sam sorted.mapped.sample.bam
O nome do arquivo gerado pelo comando seguiu o formato a seguir, onde PIG0001 representa o nome da amostra e sorted indica que o arquivo BAM gerado se encontra ordenado:
PIG0001.sorted.bam
Arquivos BAM armazenam as mesmas informações que um arquivo SAM e possuem uma seção de cabeçalho, que contém informações gerais sobre o arquivo como nome, tamanho da amostra, método de alinhamento utilizado e uma seção com o
Anexos 168
9
alinhamento propriamente dito contendo nome, sequência e qualidade da read, além de marcações personalizadas.
Os arquivos BAM devem ainda ser indexados, permitindo uma pesquisa rápida no arquivo ordenado. Um índice de correspondência do arquivo BAM em questão em relação às coordenadas de referência será identificado pela terminação (*.bam.bai). O comando a seguir permitiu gerar um arquivo indexado:
samtools index sorted.mapped.sample.bam
O output do comando acima pode ser nomeado como a seguir:
PIG0001.sorted.bam.bai
Uma vez ordenados e indexados, os arquivos BAM puderam ser visualizados através de um visualizador externo. Neste trabalho utilizamos o Integrative Genomics Viewer (IGV) 2.3.67, um programa em java disponibilizado pelo Broad Institute (Robinson et al., 2011; Thorvaldsdottir, Robinson, & Mesirov, 2013).