Aluna: Jéssica Luana Souza Cardoso
Desde a descoberta da estrutura do DNA em 1953, esforços tem sido direcionados para o desenvolvimento de abordagens que visam a obtenção da sequência de DNA. Essas metodologias tem evoluido continuamente nas últimas décadas, graças a por exemplo ao desenvolvimento da reação em cadeia da polimerase, ao aumento da disponibilidade de enzimas de alta qualidade que agem sob os ácidos nucleicos, entre outros (Levy and Myers, 2016).
Na primeira técnica de sequenciamento de DNA, sequenciamento de Sanger, conhecido como sequenciamento por síntese, a sequência de DNA era determinada, um nucleotideo por vez, em função de uma fita molde de DNA. Anos mais tarde, a Applied Biosystems, automatizou esse processo, surgindo o Projeto Genoma Humano logo após. Nesse projeto, foi necessário a contribuição de varios laboratórios ao redor do mundo, e demorou cerca de uma década para finalizá-lo (Kumar et al., 2019).
Com o desenvolvimento da performance da tecnologia do sequenciamento, emergiu o sequenciamento de nova geração (NGS), abordagem que tem dominado o cenário científico atualmente, pois tem reduzido o tempo e custo consideravelmente, e aumentado a quantidade de dados obtidos a partir do processo quando comparado com a metodologia de Sanger. Enquanto a metodologia de Sanger apresenta a capacidade de produzir uma sequência a partir de um molde por reção, o NGS promove de milhões a bilhões de reações individuais simultaneamente. Atualmente, o genoma humano pode ser sequenciado dentro de 3 dias apenas a um custo muito inferior (Kumar et al., 2019;Levy and Myers, 2016).
Posteriormente, surgiu a necessidade de identificar os elementos funcionais do genoma, o transcriptoma, que é definido como a soma de todos os transcritos de RNA. A informação de um organismo está contida no DNA do genoma, e esse é expresso por meio da transcrição. O transcriptoma captura um cenário instantaneo dos transcritos presentes em uma célula sob determinada condição. Embora a tecnologia de microarray seja também utilizada, ela tem perdido espaço para o sequenciamento de RNA - RNASeq, pois enquanto que a primeira abordagem quantifica apenas um conjunto de genes predeterminados, a segunda consegue capturar praticamente todas as sequencias presentes, sendo muito útil para mensurar a expressão gênica de um organismo sob condições, tecidos e tempos diferentes (Anamika et al., 2016;Lowe et al.,2017).
A análise de dados oriundos do processo de sequenciamento de RNA é realizada por meio da Bioinformática e inclui várias etapas: Avaliação da qualidade, processamento de dados, montagem do transcriptoma que pode ser guiado por uma referência ou não (montagem de novo), quantificação, análises estatisticas e anotação funcional (Figura 1)(Anamika et al.,2016).
Fonte: (Anamika et al.,2016)
Para o presente relatório, buscamos por mRNAs e genoma de referencia em banco de dados públicos, para a realização de uma simulação de dados de RNA-Seq e posterior análise de dados. A seguir serão descritas as etapas.
Primeiramente foi necessário a instalação do pacote E-Direct com as ferramentas E-utilities. Esse pacote fornece acesso ao banco de dados público NCBI -National Center for Biotechnology Information, a partir de comandos em um terminal UNIX. Para a instalação foi utilizado a seguinte linha de comando:
OBS: PATH é uma variável do sistema Linux que indica trajetória dos programas executaveis. Quando um programa é adicionado no PATH ele pode ser executado sem precisar indicar o caminho completo.
Para a simulação de dados desse relatório foi escolhido o organismo Arabidopsis thaliana, uma pequena planta herbácea, nativa da Europa, Ásia e África (Noroeste), pertencente a família das Brassicaceae. Trata-se de uma das espécies mais utilizadas na pesquisa científica atualmente, sendo um organismo modelo de plantas em pesquisas na área da genética (Delatorre et al., 2008).
Foi consultado no NCBI os genes pertencentes a espécie Arabidopsis thaliana e foram selecionados algums mRNAs (IDs-NM_) para montagem do transcriptoma utilizando as ferramentas esearch/efetch para fazer o download e construir o arquivo fasta contendo os transcritos referência para a simulação das análises transcriptômicas.
Os genes escolhidos foram:
Para isso o seguinte comando foi utilizado, onde a estrtura de repetição for foi utilizada, significando que para todos os ids colocados faça o seguinte comando para montagem do transciptoma.fa.
Os arquivos abundance_A.txt e abundance_B.txt foram criados manualmente utilizando o comando nano, respectivamente para a condição biológica A e condição biológica B. Os mesmos ids usados na construção do arquivo transcriptoma.fa foram utilizados na coluna 1. Na coluna 2 foi colocada a proporção de cada transcrito levando em consideração que é possível haver diferenças de abundância entre essas duas condições biológicas.
OBS: As duas colunas foram separadas por TAB, sem linhas adicionais e sem espaços.
Para cada réplica da simulação da corrida para a amostra A, levando em consideração a abundância contida no arquivo abundance_A.txt, foi utilizado o seguinte comando com o objetivo de gerar fragmentos aleatórios utilizando o transcriptoma montado anteriormente “transcriptoma.fa”. No comando o parâmetro -o significa o arquivo de saída, o -t quantos fragmentos aleatórios serão gerados, o -i o tamanho médio dos fragmentos gerados e -s o desvio padrão do tamanho dos fragmentos:
Em seguida as sequências foram renomeadas para “SAMPLEA” juntamente com um número hexadecimal sequencial começando por “0000000001” e as bases foram posicionadas em uma única linha (até 1000 pb). A linha de SED irá substituir a descrição adicional. Para isso foi utilizado o seguinte comando:
Posteriormente, foi realizada uma simulação considerando reads paired end de 151 bp , utilizando o comando simNGS:
Em seguida o comando abaixo foi utilizado a fim de desintercalar as reads em dois arquivos SAMPLEA_R1.fastq e SAMPLEA_R2.fastq:
Os arquivos desnecessários foram então removidos conforme comando abaixo, pois não os utilizaremos mais
rm -f ./tmp.frags.r1.1.fasta ./frags_A1.fa ./SAMPLEA1.fastq ./SAMPLEA1.err.txt
O mesmo processo foi repetido para réplica 2 da condição biológica A e para as réplicas 1 e 2 da condição biológica B, onde então foi utilizado o arquivo abundanceB.txt.
A fim de verificar o número de sequências geradas o comando
grep -c "@SAMPLE" foi utilizado para todas cada conjunto de reads geradas:
Resultado: O total de reads que foram enviadas para processamento foram: 200008
Foram baixadas as sequências no formato FASTA e anotações gênicas no formato GFF da espécies Arabidopsis thaliana. Para isso na página do NCBI em genoma da espécie se encontram os arquivos. O link de ambos os arquivos foram copiados e os seguintes comandos foram utilizados:
Os arquivos baixados foram descompactados utilizando o comando gunzip, onde o asterisco significa todos os arquivos que terminam com .gz
gunzip *.gz
O arquivo fasta contem em seu cabeçalho muitas informações que podem atrapalhar durante o processo de análise de dados, por isso uma limpeza do mesmo foi realizada, mantendo somente as informações necessárias: a identificação de cada sequencia:
O script cleanfasta.sh foi criado utilizando novamente a ferramenta nano.
OBS: Sempre após finalizar um script, devemos dar permissão para que esse possa ser executado. Isso é feito através do comando chmod + script:
chmod a+x cleanfasta.sh
Para o script ser executado basta adicionar um ./ na frente e dar um nome para o arquivo de saída:
./cleanfasta.sh GCF_000001735.4_TAIR10.1_genomic.fna > genome.fa
O mesmo foi realizado para o arquivo gff, entretanto utilizando o script fixNCBIgff.sh do repositório Github:
./fixNCBIgff.sh GCF_000001735.4_TAIR10.1_genomic.gff > genome.gff
Para a análise de dados foi utilizado o script rnaseq.sh. Segue o link para acesso rnaseq
As alterações foram realizadas com base na espécie selecionada.
O script rnaseq.sh realiza a chamada do script preprocess.sh, o qual realiza o pré-processamento. Para acessar esse script: preprocess
O script rnaseq.sh é referente a etapa de montagem do transcriptoma utilizando um genoma de referencia. Assim, contem as etapas de alinhamento e montagem; Além disso, o script finaliza realizando uma análise de expressão gênica diferecial.
Os sequenciadores de próxima geração utilizam um score de qualidade denonominao Phred, o qual é a probabilidade de uma chamada de base não ter sido realizada com acurácia. Baixos scores de qualidade, menores que 30, indicam bases de baixa qualidade. Isso, pode afetar a interpretação na analise de dados.
Para checar a qualidade dos dados foi utilizado o software FASTQC.
Uma vez que as reads foram checadas, elas foram processadas para remover bases de baixa qualidade, sequencias de adaptadores, e outras sequencias contaminantes.
O arquivo de entrada para o FASTQC pode ser nos formatos Fastq, SAM ou BAM, compactados ou não.
O FASTQC reporta em uma interface gráfica, estatisticas básicas das reads, qualidade das bases, sequencias super representadas, conteúdo de k-mers, conteúdo de adaptadores, duplicação das reads, entre outros. O controle de qualidade foi realizado antes e após o processamento das reads:
Exemplo: Para a amostra A1, read 1:
Pode-se observar que após o processamento de dados o número e o comprimento das sequências variou, devido a trimagem realizada.
Pode-se observar que as bases de baixa qualidade foram trimadas durante a etapa de processamento, melhorando o score de qualidade das reads.
Na etapa de processamento de dados é realizada a trimagem de sequências de adaptadores, sequências de baixa qualidade e contaminantes.
Há três tipos de softwares de trimagem (Didion et al., 2017):
A primeira etapa do processamento de dados foi realizada pelo softaware Atropos.
O Atropos é um software de trimagem de adaptadores e de sequencias de baixa qualidade de reads sequenciadas. O processo de trimagem é importante para atenuar os efeitos de contaminação por adaptadores e erros de sequenciamento nos dados obtidos do sequenciamento de nova geração (NGS). Contaminação por adaptadores e erros de sequenciamento podem levar ao aumento de taxas de leituras não alinhadas, ou alinhamento erroneo, resultando em erros de analise downstream (Didion et al., 2017).
O Atropos foi desenvolvido a partir de outro software de trimagem, o cutadapt, que possui licença MIT e portanto tem código fonte aberto que pode ser melhorado. Ele foi melhorado em 3 pontos comparado com o cutadapt (Didion et al., 2017):
São necessários 2 comandos de trimagem, relacionados aos dois tipos de trimagem que o algoritmo realiza: O primeiro de acordo com a correspondencia das reads (insert-match) e o segundo, as reads que não foram trimadas na primeira etapa são submetidas a essa segunda etapa e são trimadas de acordo a correspondencia entre os adaptadores. A figura 6 representa um esquema de como o Atropos funciona.
Ao final, as reads trimadas oriundas de ambos os algoritmos são concatenadas em um arquivo final.
Os parâmetros utilizados estão comentados no script preprocess.sh.
Figura 6. Detecção dos adaptadores para trimagem pelo Atropos. (A)Quando um fragmento é mais curto que a read, a sequencia da read irá conter sequencias de adaptadores (Sequencias azuis e roxas). (B,C)Algoritmos utilizados para detectar os adaptadores.(B) Algoritmo do tipo "adapter-match": Identifica o melhor alinhamento entre os adaptadores e o final, corresponde a read. Ou seja, é feito por correspondencia entre os adaptadores. © Algortimo do tipo "insert-match": Identifica o melhor alinhamento entre a read 1 e a fita reversa da read 2, o que sobrar são os adaptadores. (D)O alinhamento com a maior média de qualidade é escolhido. (E) Primeiramente é feito o algoritmo do tipo insert, as reads que não forem trimadas são então submetidas ao algoritmo do tipo adapter. As reads que forem muito pequenas são descartadas.
Fonte:(Didion et al., 2017)
A segunda etapa do processamento foi realizada pelo software PrinSeq.
Trata-se de uma ferramenta pública, que tem a finalidade de filtrar, reformatar e trimar sequencias, fornecendo um resumo estatistico sobre seus dados, similarmente ao fastqc.
No presente relatório o PrinSeq foi utilizado para filtrar e trimar as sequencias provenientes da etapa anterior, a fim de assegurar que as reads a serem utilizadas para a analise dados não apresenta sequencias de baixa qualidade ou artefatos que podem levar a conclusões errôneas.
Os parâmetros utilizados estão comentados no script preprocess.sh.
Para contabilizar o numero de sequencias que foram processadas:
Resultado: O número total de reads que foram processadas foi igual a: 190473
A montagem de transcriptomas é uma ferramenta poderosa para detecção de variações na expressão gênica e sequências entre condições, tecidos ou espécies. Entretanto a capacidade de se realizar tais analises com acurácia depende da qualidade da montagem. Por exemplo, para a detecção de isoformas e quantificação de transcritos, genes de interesses que não forem montados pode aumentar a taxa de falsos positivos e negativos (Voshall et al., 2018).
Dois dos maiores erros na montagem são fragmentação, onde um único transcrito é montado com um único ou contigs menores, e quimeras, conde um contig é montando utilizando partes de mais de um transcrito. A fragmentação geralmente ocorre por baixa cobertura da read ao longo do transcrito. Enquanto que quimeras ocorrem por sobreposições ambiguasentre as reads. Ambos os erros pode implicar na identicação de genes de maneira errônea (Voshall et al., 2018).
Além disso, transcritos podem ser colapsados em um único contig ou pode ocorrer alterações de nucleotídeos na sequência contig, devido a falta de reads sequenciadas, ou também a ambiguidade de reads apresentarem alta similaridade, por exemplo em genes heterozigotos e duplicados. Esses erros também podem levar a uma montagem incompleta (Voshall et al., 2018).
A montagem pode se dar de duas maneiras:Pode ser guiada por um genoma de referência, onde se realiza um alinhamento contra um genoma de referência para então posterior construção do transcriptoma, ou o transcriptoma pode ser montado sem ajuda de um genoma de referência, processo denominando montagem de novo.(Figura 7).
Figura 7. Montagem de transcriptomas.
Montadores de novo geram transcritos baseando-se somente nos dados de RNASeq, ou seja não utilizam um genoma de referência como guia no processo de montagem.
O montador mais popular atualmente, Trinity, realiza a montagem utilizando o grafo de Bruijn, gerados a partir de Kmers (subsequências) provenientes das reads dos dados de RNASeq. A reconstrução ocorre a partir da sobreposição dessas sequências de kmers. A limitação desse tipo de grafo, é a necessidade de um kmer para iniciar cada posição de uma sequencia original. E pode-se ter kmers muito pequenos que podem ser altamente ambiguos e serem correspondentes a mais de um transcrito, e kmers muito longos, que embora a ambiguidade seja evitada, eles não cobrem a sequencia inteira de alguns transcritos, resultando em fragmentação (Anamika et al., 2016; Voshall et al., 2018).
O montador Trinity usa 3 passos para a montagem referentes aos estágios de desenvolvimento de uma borboleta (lagarta,crisálida e borboleta) (Figura 8)(Anamika et al., 2016; Grabherr et al., 2011).
Figura 8. Montagem de novo utilizando Trinity. (a)Inchworm: constrói os conjuntos iniciais de contigs usando os kmers.
(b) Chrysalis: Agrupa esses contigs e constrói grafos de bruijn a partir desses componentes.
© Butterfly: Simplifica e resolve os grafos, gerando um conjunto final de transcritos contendo variantes de splicing e isoformas.
Fonte: (Grabherr et al., 2011).
Montadores que utilizam um genome de referência pra realizar a montagem evitam a ambiguidade de kmers, mapeando os dados de RNASeq ao genoma de referência. Assim, a complexidade da montagem dos transritos é reduzida por clusterização das reads de acordo com a localização genômica de sobreposição das reads com o genoma. Esse alinhamento é realizado por ferramentas como Bowtie2, TopHat, STAR, entre outros.
Nesse metodologias, também pode ocorrer ambiguidades como por exemplo, as reads podem mapear em mais de um lugar dentro do genoma. Como o algortimo de cada alinhador lida com a escolha de qual a melhor posição pode impactar o resultado final (Voshall et al., 2018).
Alguns exemplos de montadores que utilizam um genoma de referência incluem Cufflinks e StringTie.
Para se realizar um alinhamento das reads contra o genoma de referência com acurácia, deve-se considerar duas situações (Dobin et al., 2013):
O alinhador STAR funciona em 2 etapas (Dobin et al., 2013):
Resultado do alinhamento:
Segue os resultados estatisticos do alinhamento, resumidamente:
SAMPLEA2
SAMPLEB1
SAMPLEB2
Resultado:
Para quantificar a expressão gênica a partir de dados de RNA-Seq, é necessário, primeiramente, a identificação de quais isoformas de um dado gene foram produzidas por cada read. Para isso, é preciso identificar todas as isoformas daquele gene.
O software cufflinks realiza a montagem de transcritos individuais provenientes das reads dos dados de RNA-Seq, que apresentaram alinhamento contra o genoma de referência. Como uma amostra pode conter reads que são oriundas de variantes de splicing de um gene, o programa precisa inferir a estrutura de splicing de cada gene. Entretanto, os genes podem apresentar muitos eventos de splicing alternativo, resultando em diferentes reconstruções possiveis do gene. Sendo assim, o programa cufflinks realiza a montagem do transcriptoma utilizando a parcimonia. O algoritmo do programa relata o comprimento dos fragmentos dos transcritos (transfrags) com o objetivo de explicar os eventos de splicing nos dados (Trapnell, C. et al.2012).
Os outputs do programa são: genes.fpkm_tracking,isoforms.fpkm_tracking,skipped.gtf,transcripts.gtf para cada amostra.
Para testar outros montadores, também foi utilizado o programa StringTie, que utiliza um fluxograma como algortimo como passo de uma montagem opcional de novo, visando montar e quantificar transcritos completos, representando as variantes causadas por splicing de cada locus gênico. Como input também utiliza as reads processadas. Seu output foi utilizado pelo cuffdiff para realizar análise de expressão gênica diferencial.
Após a montagem dos transfrags de cada amostra, deve-se juntar os mesmo utilizando o programa Cuffmerge e Stringmerge, os quais podem utilizar uma anotação do genoma de referencia (formato gtf) na montagem final (Figura 9). Genes de baixa expressão pode apresentar baixa profundidade para sua reconstrução total, entretanto, ao se unir as montagens, pode-se recuperar o gene completo. O output é um unico arquivo de anotação no formato gtf que pode ser utilizado na analise de genes diferencialmente expressos.
Figura 9. Junção das montagens de cada amostra utilizando uma anotação de referência.
Fonte: (Trapnell, C. et al.2012)
A identificação de novos genes e transcritos pode ser dificil distinguir um transcrito novo completo de fragmentos parciais. Gaps do processo de sequenciamento pode causar falhas na reconstrução dos transcritos. Para ajudar, o programa cuffcompare realiza a comparação das montagens do cufflinks e arquivos de anotação do genoma de referência para ajudar a selecionar novos genes dos já anotados (Trapnell, C. et al.2012).
Cada uma das réplicas foram quantificadas utilizando o programa cuffquant. O output são arquivos de abundancia no formato cxb que são utilizados no programa cuffdiff para análise de expressão diferencial, e ao programa cuffnorm, visando a obtenção de tabelas de valores de expressão normalizados para que fiquem em uma mesma escala, nesse caso a normalização é feita pelo tamanho da biblioteca.
Em seguida, o nivel de expressão de cada transfag foi calculado utilizando o Cuffdiff, o qual calcula a expressão das amostras e testa a significancia estatistica de cada alteração observada entre elas.
O input utilizado no presente relatório foi o output do montador StringTie.
Para isso, é assumido que o número de reads produzidas por cada transcrito é proporcional a sua abundancia (Trapnell, C. et al.2012).
Quando se tem multpiplas réplicas, o programa aprende como a contagem de reads varia para cada gene e usa essa variância para calcular a significancia das alterações observadas na no perfil de expressão.
Como output do programa, tem-se vários arquivos contendo o resultado da análise de expressão genica diferencial. Em conjunto com os niveis de expressão dos transcritos e genes, tem-se estatisticas como fold change e p valor. o cuffdiff também reporta analise diferencial de splicing alternativo (genes), ou genes diferencialmente regulados por promotores.
Além disso, o programa agrupa isoformas de um gene que apresentem o mesmo TSS (sitio de inicio de transcrição), ou seja, isoformas derivadas de um mesmo pre-mRNA. Logo, alterações na abundancia de um reflete no splicing diferencial do seu pre-mRNA. É calculado também o nível de expressão do grupo TSS, adicionando os niveis de expressão das isoformas. Genes que apresentam mais de um TSS, é analisado a abundancia relativa entre eles, o que reflete em alterações da preferencia de TSS e promotores entre as condições analisadas. A figura 10 mostra como o Cuffdiff agrupa os TSS e os utiliza para inferir regulação gênica diferencial (Trapnell, C. et al.2012).
Figura 10. Inferência de regulação gênica diferencial a partir de agrupamentos de TSS. (a) Os genes produzem variantes a partir de splicing alternativo em diferentes quantidades por meio de diferentes TSSs. (b)As isoformas são então agrupadas de acordo com seu TSS e então é realizada uma análise para buscar abundancia relativa entre e dentro desses agrupamentos, que pode levar a pistas da diferença de regulação entre eles. © Nesse gene hipotético, diferentes abudancias entre as isoformas A e B dentro de um agrupamento TSS pode ser devido a splicing diferencial do transcrito primários. (d) A adição de seus níveis de expressão gera um
valor da expressão para este transcrição primário. (e) Alterações nesse nivel de expressão, por ex. isoforma C, indica possivel preferencia diferencial de promotores entre as condições. (f,g) Genes com multiplos CDS (f) também podem ser analisados para sequencias codificantes de proeina diferenciais (g).
Fonte: (Trapnell, C. et al.2012)
Como output tem-se também vários arquivos, entre eles tabelas que mostram a analise de expressão diferencial de genes e isoformas. O arquivo que contem a expressão diferencial de genes foi utilizada para verrificar a concordância dos genes diferencialmente expressos, com os genes que escolhemos no inicio para montar a simulação (Arquivos abundance A e B).
Para realizar a comparação, teve-se que buscar qual gene_ID do cuffdiff é referente a cada gene dos arquivos abundance, e em seguida avaliar o log fold change ver se são concordantes com os valores inicias. Foi costruída uma tabela com os respectivos IDS e Genes do arquivo de abundancia e os valores dados a cada um no arquivo, e por ultimo o valor de expressão log fold change a titulo de comparação:
Resposta: Comparando os resultados log2 com os valores dos arquivos abundance A e B, pode-se observar que os resultados estão de acordo com o esperado. A relação está concordante com o esperado, pois por exemplo, o gene NM_125091.4, era esperado que ele estivesse mais expresso na condição A, e analisando o log2 fold change, é isso o que acontece, com um valor de -13.2891. O reverso acontece com o gene NM_001337167.1, ele se encontra mais expresso na condição B, com um log2 igual a 13.1845, novamente concordando com os arquivos Abundance A e B. O valor log 2 se dá pela razão entre value_2(referente a amostra 2) w o value_1 (referente a amostra 1). Observa-se também que quando colocamos valores similares em ambos os arquivos de abundancia, o log2 resulta em torno de zero, comprovando a concordancia entre o resultado e a simulação proposta.
Em seguida, os dados oriundos do programa cuffdiff, mais especificamente, o arquivo gene_exp.diff foi juntado com descrições dos genes obtidos no banco de dados do NCBI. A fusão foi realizada baseando-se em uma coluna comum, que apresente um identificador comum entre os dois arquivos.
Foi utilizado o comando abaixo para obtenção do arquivo contendo os genes de arabdopsis thaliana no banco de dados do NCBI:
A seguir, foram selecionadas somente as colunas de interesse a partir do arquivo gene_result.txt, originando o arquivo gene_info.txt. As colunas selecionadas foram: GeneID, Symbol e description.
cut -f 3,6,8 ./refs/gene_result.txt > ./refs/gene_info.txt
Ocasionalmente pode ocorrer a fusão de genes que possuem ids distintos durante a montagem pelo cufflinks/cuffmerge, durante o seu processamento. Então os mesmos foram separados utilizando o comando abaixo:
Por fim, a fusão dos arquivos foi realizada utilizando o comando abaixo:
-all.x = todas as linhas do arquivo gene_exp.diff.spplitted.txt são mantidas no novo arquivo gene_exp.diff.spplitted.merged.txt.
x e y = arquivos que serão juntados.
by.x e by.y = colunas a serem juntadas.
Como resultado obtivemos uma tabela contendo todas as colunas do arquivo gene_exp.diff.spplitted.txt, mais as do arquivo gene_info.txt, sendo que as colunas gene e symbol são agora uma só, pois são idênticas.
O mesmo conjunto de reads utilizado para a análise transcriptômica, já processadas foi utilizado para realizar a montagem de novo utilizando o programa Trinity.
Para a realização da montagem de novo foi utilizado o script rnaseq-denovo.sh.
Para acessar o script: rnaseq-denovo
Para execução do script foi utilizada a linha de comando abaixo:
./rnaseq-denovo.sh ./output/processed/prinseq ./output
Nesse script inicialmente foi realizado um processo de renomeação das reads para que contenham o sufixo /1 e /2, para as reads 1 e 2 respectivamente, o que é uma exigência do software trinity.
O montador Trinity também apresenta uma segunda opção, de realizar a montagem guiada por genoma de referência. Para isso, são utilizados os alinhamentos das reads contra o genoma referência, arquivos no formato BAM, outputs do alinhador STAR. Para essa montagem foi utilizado o script
rnaseq-ref-trinity.sh. Para acessá-lo:rnaseq-ref-trinity
O script foi executado com a seguinte linha de comando:
./rnaseq-ref-trinity.sh ./output/star_out_final ./output
Primeiramente é realizado uma etapa de junção de todos os alinhamentos obtidos no programa STAR em um só arquivo: All.sorted.bam.
Os parametros de ambas as montagens estão comentados nos respectivos scripts.
Primeiramente foi realizada a indexação do transcriptoma utilizando o seguinte comando:
Indexação do transcriptoma utilizado para a simulação:
onde:
-title: Titulo do banco de dados que escolher;
-dbtype: tipo do banco de dados, aminoacidos ou nucleotideos.
-out:output;
-in: Arquivo de entrada, no caso o transcriptoma montado.
Como a indexação foi bem sucedida, apareceram os seguintes arquivos:
Em seguida foi realizado a comparação entre os arquivos utilizando blastn:
-max_hsps: Número maximo de HSPs(Segmentos de alto score de alinhamento) para manter para qualque query single - subject pair.
-max_target_seqs: Número de sequências alinhadas a se manter
-num_threads: número de processadores a serem utilizados paralelamente
-query: Sequencia de entrada
-task: Qual blast será realizado
-db: Nome do banco de dados
-out: arquivo de saída
-evalue: numero esperado de alinhamentos melhores ou iguais ao que é encontrado.
-outfmt: Opções de visualização do alinhamento. O 6 indica formato tabular. qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore > default, equivalente a std.
Para visualizar somente os nomes das sequências query (qseqid) e subject (sseqid) HSPs de todos HITs obtidos foi utilizado o comando abaixo:
cut -f 1,2 ./Trinity_x_RefTrans.txt
Resposta: total de HITs: 31
Em seguida foram contadas quantas ocorrências de sequências da base de dados (subject) foram encontradas:
cut -f 2 ./Trinity_x_RefTrans.txt | sort | uniq -c
**Resposta: Foram encontradas 6 ocorrências de sequencias na base dados, concordando com os genes escolhidos no inicio para criação do arquivo abundance A e B: **
Comparando com o arquivo abundanceA.txt:
Resposta: Pode-se observar que os genes montados são concordantes com os genes que se encontram nos arquivos abundance A e B.
Similarmente aos passos anteriores:
Novamente os genes são concordantes com o arquivo criado incialmente abundance A e B.
Com o objetivo de obter os valores de Log Fold-Change e os p-valores ajustados referentes às comparações pareadas entre SAMPLEA e SAMPLEB, foi utilizado o um script auxiliar do montador Trinity:
Primeiramente o caminho do diretório base do Trinity, ou seja, onde se encontra o programa e todas as suas dependencias foi buscado pr meio do comando abaixo:
echo ${TRINITY_HOME}
O caminho é : /usr/local/bioinfo/trinityrnaseq
Em seguida foi verificado os parâmetros referentes aos scripts auxiliares align_and_estimate_abundance.pl e abundance_estimates_to_matrix.pl:
${TRINITY_HOME}/util/align_and_estimate_abundance.pl
${TRINITY_HOME}/util/abundance_estimates_to_matrix.pl
Para realizar a análise de expressão gênica diferencial entre as condições A e B foi utilizado o script run-DESeq2.R
Para executar esse protocolo de análise de expressão gênica diferencial de uma forma automatizada, foi criado o script rnaseq-trinity-abundance.sh. Esse script está disponível aqui.
Para a análise foi utilizado comando de execução abaixo:
Para visualizar o resultado da anális com DESeq2 de modo alinhado:
cat ./output/abundance/DEG/SAMPLEA-SAMPLEB.txt | column -s$'\t' -t | less -S
A tabela abaixo foi aberta por meio do programa RStudio:
Os genes diferencialmente expressos novamente estão concordantes com o arquivo de abundancia gerado no inicio. Os genes TRINITY_DN1_C0_g1, TRINITY_DN5_c0_g1 e TRINITY_DN0_c0_g1 se encontram diferencilamente expressos, pois apresentam log Fold Change maior que 2/-2. O restante a diferença de expressão não é estatisticamente significativa.
Foi realizado uma etapa de visualição dos resultados no programa R. Primeiramente os programas as bibliotecas a serem utilizadas foram carregadas:
getwd()
/home/jcardoso
Para ver a dimensão do data.frame, onde o primeiro valor refere-se á quantidade de linhas e o segunda a quantidade de colunas:
dim(deg.df)
[1] 6 8
subset.deg.df <- subset(deg.df, (((logFC >= 2) | (logFC <= -2) ) & (FDR <=0.05)) )
Avaliando a dimensão desse subconjunto gerado:
dim(subset.deg.df)
[1] 3 8
O próximo passo foi a criação de um vetor de nomes de colunas selecionadas, essas colunas serão ordenadas depois de secionados utilizando a função "setdiff", a qual obtém um conjunto de valores (vetor) coma a diferença entre dois conjuntos de valores: o de todas as colunas ("colnames(subset.deg.df)") menos os nomes das colunas indesejadas:
expression_data <- as.matrix( subset.deg.df[,sel_columns] )
my_palette <- colorRampPalette(c("red", "purple", "blue"))(n = 299)
No heatmap gerado pode ser observado que o gene TRINITY_DN0_c0_g1 se encontra expresso igualmente em ambas as condições e réplicas.
Enquanto que o gene TRINITY_DN1_c0_g1 está sendo mais expresso na condição B do que na condição A.
Por último, o gene TRINITY_DN5_c0_g1 teve uma leve diferença entre as réplicas da condição B. Mais ele se encontra mais expresso na condição A do que na condição B.
A tecnologia de RNA-Seq tem provado ser uma ferramenta valiosa para realizar analises transcriptomicas, pois fornece novos *insights * sobre a expressão gênica, análise de expressão diferencial, eventos de splicing alternativo, alterações na expressão na progressão de doenças, edição de RNA, expressão diferencial de TSS, isoformas e regulação diferencial (preferencia por promotores dada uma condição).
No presente relatório, foi realizada uma análise transcriptômica, entretanto de apenas uma pequena simulação de dados, genes extraidos do banco de dados NCBI, que foram fragmentados, simulando dados do RNA-Seq. Entretanto, mesmo sendo apenas uma simulação, pode-se observar uma concordância entre os arquivos de abundancia gerados no inicio, com os resultados finais de expressão gênica diferencial. Sendo que as proporção escolhidas são equivalentes as diferenças da expressão.
Também foi observado concordância na montagem de novo, e na montagem guiada por um genoma do montador Trinity. Em ambas as situações os genes escolhidos foram identificados e montados.
A análise completa contribuiu para agregar conhecimento de cada etapa de uma análise de transcriptoma, de quais softwares utilizar para cada caso, e por que. Além do inicio de um aprendizado em montar scritps, em ferramentas da bioinformática e mesmo do sistema Linux. Contribui também para entender sobre quais parametros utilizar em cada situação e as possibilidades de análises que se pode submeter os dados de RNA-Seq. Concluindo a disciplina, principalmente as aulas práticas foram de extrema importância para minha formação, e agregou conhecimentos básicos úteis para análises de dados de sequenciamento.
Anamika K, Verma S, Jere A, Desai A. Transcriptomic Profiling Using Next Generation Sequencing - Advances, Advantages, and Challenges. Next Generation Sequencing - Advances, Applications and Challenges. 2016;9:7355–7365.
DELATORRE, Carla Andréa e SILVA, Adriano Alves da. Arabidopsis thaliana: uma pequena planta um grande papel. Rev. de Ciências Agrárias. 2008, vol.31, n.2 [citado 2019-11-23], pp.58-67.
Didion et al., Atropos: specific, sensitive, and speedy trimming of sequencing reads.2017. PeerJ 5:e3720.
Dobin A, Davis CA, Schlesinger F, Drenkow J, Zaleski C, Jha S, Batut P, Chaisson M, Gingeras TR: STAR: ultrafast universal RNA-seq aligner. Bioinformatics. 2013, 29: 15-21. 10.1093/bioinformatics/bts635.
Grabherr, M.G. et al. Full-length transcriptome assembly from RNA-seq data without a reference genome. Nat. Biotechnol.2011. 29, 644–652.
Kumar KR, Cowley MJ, Davis RL. Next generation sequencing and emerging technologies. Semin Thromb Hemost 2019; 45 (07) 661-673.
Levy S.E., Myers R.M. Advancements in next-generation sequencing. Annu. Rev. Genomics Hum. Genet. 2016; 17:95–115.
Lowe R, Shirley N, Bleackley M, Dolan S, Shafee T. Transcriptomics technologies. PLOS Comput Biol 2017;13(5).
PrinSeq.PrinSeq Manual. Disponível em: http://prinseq.sourceforge.net/manual.html. Acesso em 24 de nov de 2019.
Trapnell, C. et al. Differential gene and transcript expression analysis of RNA-seq experiments with TopHat and Cufflinks. Nat. Protoc. 2012.7, 562–578.
Voshall A, Moriyama EN: Next-generation transcriptome assembly: strategies and performance analysis. In Bioinformatics in the Era of Post Genomics and Big Data Edited by Abdurakhmonov I: IntechOpen; 2018.