Identificação de RNA não condantes (Long noncoding RNAs ou long ncRNAs ou lncRNA) (RNAsamba) - lmigueel/Bioinformatica GitHub Wiki
1. Sobre
Devido ao seu papel de transportadores de informações de síntese de proteínas, os mRNAs têm sido estudados há várias décadas e estão bem representados em bancos de dados genéticos. Em contraste, lncRNAs, que são definidos como transcritos > 200 nucleotídeos que não são traduzidos em proteínas, e são conhecidos há pouco tempo.
Um dos principais objetivos da anotação funcional de genomas e transcriptomas é a identificação de mRNAs e lncRNAs. Nas últimas duas décadas, um grande esforço foi realizado pelos projetos ENCODE e GENCODE para identificar e caracterizar todos os elementos funcionais dos genomas humanos e de camundongo, incluindo mRNAs e lncRNAs, usando uma gama de diferentes dados de sequenciamento e procedimentos de curadoria manual. Para organismos não-modelo, no entanto, a anotação de tais elementos geralmente depende exclusivamente de inferências computacionais.
Um dos mais precisos softwares de identificação de lncRNAs é o RNAsamba. RNAsamba é uma ferramenta para calcular o potencial de codificação de sequências de RNA usando um modelo de classificação de rede neural.
A entrada dele é simples, e depende de dois arquivos:
-
Arquivo de treinamento, que será utilizado para identificar o mesmo padrão nas suas sequências
-
Arquivo .fasta para identificação de sequências codantes.
O score final do RNAsamba vai de 0 até 1. Quanto mais próximo de 1, maior a chance daquela sequência ser codante, o useja, para valores próximos de zero, a chance dos seu transcrito não ser codante é alta. Se ele tiver > 200bp e expressão significativa, tu terás um lncRNA.
Acesse o site do RNAsamba AQUI. Online ele suporta um arquivo de até 5Mb ou 50.000 sequências.
Acesso o Github AQUI.
2. Algoritmo
A partir da sequência de nucleotídeos inicial, o RNAsamba calcula o potencial de codificação de uma determinada transcrição combinando informações provenientes de duas fontes diferentes: o Whole Sequence Branch (B1) e o Longest ORF Branch (B2). B1 contém representações de sequência inteira do transcrito e pode capturar assinaturas de codificação de proteína independentemente da identificação da ORF. Em contraste, B2 carrega informações extraídas da ORF mais longa identificada e da proteína putativa traduzida dela. Ao levar em consideração essas duas fontes de informação de sequência, o RNAsamba constrói uma representação completa da transcrição, melhorando o desempenho de classificação do algoritmo.
3. Instalação
Existem duas maneiras de instalar o RNAsamba:
Usando pip:
pip install rnasamba
Usando conda:
conda install -c conda-forge -c bioconda rnasamba
4. Dicas e exemplos
O RNAsamba já fornece um dataset treinado para humano. Ele pode ser acessado aqui. Caso você tenha um outro organismo, tipo um fungo, como levedura, você deve criar um novo dataset de treino.
Treinamento
Para realizar o treinamento, precisamos de dois arquivos: (i) arquivo de transcritos codantes e (ii) arquivo de transcritos não codantes. O ENSEMBL, por exemplo, disponibiliza arquivos .fasta de cDNA e lncRNA. Vamos supor que queremos criar um arquivo HDF5 de treinamento para levedura. Para isso, baixaremos no (Ensembl de levedura)[https://www.ensembl.org/Saccharomyces_cerevisiae/Info/Index], na pasta DOWNLOAD FASTA, os arquivos de codantes e não codantes.
Após extrair os arquivos, vamos criar nosso arquivo de treinamento chamado 'yeast_model'. Os argumentos, nesta ordem, são:
rnasamba-train output_file coding.fasta noncoding.fasta
Então, para nosso exemplo:
rnasamba-train yeast_model Saccharomyces_cerevisiae.R64-1-1.cdna.all.fa Saccharomyces_cerevisiae.R64-1-1.ncrna.fa
Testando
Vamos supor que você reconstruiu transcritos utilizando o HISAT2 + STRINGTIE ou até mesmo uma montagem denovo com o Trinity (para outro organismo sem referência) e gerou o arquivo all_transcripts.fasta. Nele temos 30mil transcritos, e desejamos verificar se algum deles é noncoding ou não. Geraremos um arquivo de saída chamado 'saida_classificacao_yeast.txt', que posui o ID do transcrito e um score. Esse score diz à respeito do transcrito ser codante ou não. Queremos valores próximos de zero, pois significa que ele tem grandes chances de ser noncoding.
rnasamba-classify saida_classificacao_yeast.txt all_transcripts.fa yeast_model.hdf5
A saída no arquivo 'saida_classificacao_yeast.txt' será algo assim:
sequence_name | coding_score | classification |
---|---|---|
transcript_1 | 0.99022 | coding |
transcript_2 | 0.84718 | coding |
transcript_3 | 0.99713 | coding |
transcript_4 | 0.02638 | noncoding |
transcript_5 | 0.03456 | noncoding |
Filtrando pelos noncoding, você tem seus candidatos.
Dicas
-
Você pode melhorar sua classificação passando para o
rnasamba-train
a opção -p com os arquivos de proteinas traduzidas (-p translated.fasta). -
Nas sequências codantes você deve deixar apenas as que possuem a opção detalhada, no GTF, por exemplo, do START ou STOP codon. Ajuda bastante os classificadores.
-
Você pode buscar dataset gerais de algumas classes, como plantas ou fungos. Deixo como exemplo o Ensembl Fungi.
Citação
Camargo, A. P., Sourkov, V., Pereira, G. A. G. & Carazzolle, M. F.. "RNAsamba: neural network-based assessment of the protein-coding potential of RNA sequences" NAR Genomics and Bioinformatics 2, lqz024 (2020).