Questão:
Encontrar a localização e o comprimento da unidade de sequências repetitivas em uma longa leitura
gringer
2017-06-02 07:48:05 UTC
view on stackexchange narkive permalink

Depois de descobrir algumas dificuldades com a montagem do genoma, me interessei em encontrar e categorizar sequências de DNA repetitivas, como esta de Nippostrongylus brasiliensis [cada base é codificada por cores como A: verde; C: azul; G: amarelo; T: red]:

Repeat sequence represented in a rectangular fashion Repeat sequence represented in a circular fashion

[O arquivo FASTA associado a esta sequência pode ser encontrado aqui]

Essas sequências com grandes tamanhos de unidade de repetição só são detectáveis ​​(e montáveis) usando leituras longas (por exemplo, PacBio, nanopore) porque qualquer subsequência menor que o comprimento da unidade não será capaz para distinguir entre erro de sequenciamento e acertar um local diferente dentro da estrutura de repetição. Tenho rastreado essas sequências em massa por dois métodos:

  1. Executar um mapeamento tudo-contra-tudo e procurar sequências que se mapeiam várias vezes
  2. Efetuando uma compressão da sequência (por exemplo, bzip2) e encontrando sequências que têm uma taxa de compressão substancialmente maior do que o normal

Depois de encontrar uma sequência suspeita, eu deseja ser capaz de categorizar a repetição (por exemplo, comprimento de repetição principal, número de repetições tandem, sequência repetitiva). É aqui que estou travando.

Para fazer uma demonstração "olhe, brilhante", atualmente tenho um processo muito manual de colocar essas sequências em um formato que eu possa visualizar. Meu processo é o seguinte:

  1. Use LAST para produzir um gráfico de pontos de auto-mapeamento para o mapeamento
  2. Identifique visualmente a região repetitiva e extraia a região do sequência
  3. Use uma combinação de fold -w <width> e less -S para inspecionar visualmente a sequência com várias larguras de unidade de repetição em potencial para encontrar o mais provável tamanho da unidade de repetição
  4. Exibir a sequência de forma retangular e circular usando meu próprio script, envolvendo no comprimento da unidade de repetição

Mas esse processo não é de forma alguma viável quando tenho milhares de sequências repetitivas em potencial para pescar.

Existe alguma maneira melhor de fazer isso? Dada uma sequência de DNA arbitrária de comprimento> 10 kb, como posso (de forma automatizada) encontrar a localização da região de repetição e também o comprimento da unidade (tendo em mente que pode haver várias estruturas de repetição, com comprimentos de unidade de 30 pb a 10kb)?

Um exemplo de sequência pode ser encontrado aqui, que tem uma região de repetição de ~ 21kb com unidades de repetição de ~ 171bp a cerca de 1/3 do caminho para a sequência.

Uma análise baseada em Kmer

Agora eu vi sequências humanas com regiões repetitivas acima de 10kb (ou seja, fora da faixa de leitura mais vinculada formulários). Minha ideia atual está centrada na criação de tabelas hash de sequências curtas (atualmente 13-mers) e rastreamento de sua localização:

  1. Processar a sequência, armazenando a localização de cada kmer
  2. Para cada kmer, descubra quantas vezes ele aparece na sequência
  3. Para kmers repetidos, descubra quanto de uma lacuna existe entre a próxima vez que o kmer ocorrer
  4. Relate o comprimento da lacuna mediana e modal de kmers repetidos e estatísticas associadas à sua frequência na sequência

Algumas regiões repetitivas locais podem ser perdidas nas estatísticas com esta abordagem, é difícil dizer se existem várias regiões repetitivas dentro de uma única sequência, e se as unidades de repetição são ligeiramente repetitivas (o suficiente para que um kmer seja duplicado dentro de uma unidade de repetição), então o algoritmo subestima a repetitividade (consulte a etapa 3 ).

O RepeatMasker o ajudaria aqui? Ou só encontra elementos repetitivos conhecidos e regiões de baixa complexidade? Nunca tentei usá-lo para identificar repetições simples.
Essas repetições têm unidades de repetição de alta complexidade; Não encontrei as regiões marcadas por tantan ou poeira, e suspeito que o RepeatMasker seja semelhante. O serviço da web pelo menos não consegue encontrar a região de repetição na sequência de teste que vinculei.
Eu sei sobre [esta postagem do blog] (https://dazzlerblog.wordpress.com/2016/04/01/detecting-and-soft-masking-repeats/) de Gene Myers, onde ele está usando a estratégia de mascarar repetições em leituras longas para acelerar a montagem do genoma. Não tenho certeza se é exatamente o que você deseja, mas achei que poderia ser útil.
Obrigado. O TANmask (no final da postagem) se parece muito com o tipo de algoritmo que estou procurando. Isso pelo menos resolverá o problema do limite, se não a estatística de comprimento da unidade de repetição. Você pode escrever isso como uma resposta?
Dois respostas:
#1
+2
Sergio Arredondo
2017-06-02 19:20:35 UTC
view on stackexchange narkive permalink

Pode ser uma ideia fragmentar as leituras longas em pequenas sequências, como simular leituras Illumina de 150 bp, e então mapear essas pequenas sequências contra as leituras longas originais e extrair regiões com uma cobertura alta?

#2
+2
gringer
2018-09-04 16:09:01 UTC
view on stackexchange narkive permalink

Eu resolvi a visualização. Aqui estão três representações alternativas de estruturas repetitivas para a mesma sequência:

Repeat patterns represented as a dotplot Repeat patterns represented as a linear "ripple" plot Repeat patterns represented as a semicircular "sunset" plot

Eles foram gerados usando o mesmo script R, que pode ser chamado da linha de comando:

  $ repaver.r -style dotplot -prefix dotplot MAOA_chrX_43645715-43756016.fa $ repaver. r -style profile -prefix profile MAOA_chrX_43645715-43756016.fa $ repaver.r -style semicircular -prefix semi MAOA_chrX_43645715-43756016.fa  

Mais detalhes sobre isso estão na apresentação Eu dei na Queenstown Research Week, 2018. Há também um capítulo de e-book revisado por especialistas que virá em breve.

Isso é rápido o suficiente para que eu possa executá-lo no genoma nanopore C. elegans em cerca de metade uma hora, produzindo esses gráficos para cada contig. Não tenho um método para iterar por meio desse gráfico e escolher o comprimento de repetição dominante em cada local, mas isso é uma extensão [relativamente] simples do que já fiz.



Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...