1 / 83

Montagem de Sequências de Transcritos

Montagem de Sequências de Transcritos. Daniel Guariz Pinheiro, PhD. Laboratório de Genética Molecular e Bioinformática Departamento de Genética Faculdade de Medicina de Ribeirão Preto Universidade de São Paulo. Planejamento. Introdução Montagem de Sequências

kylar
Télécharger la présentation

Montagem de Sequências de Transcritos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Montagem de Sequências de Transcritos Daniel Guariz Pinheiro, PhD. Laboratório de Genética Molecular e Bioinformática Departamento de Genética Faculdade de Medicina de Ribeirão Preto Universidade de São Paulo

  2. Planejamento • Introdução • Montagem de Sequências • Algoritmos para Montagem de Sequências • Softwares para Montagem de Sequênciasde Transcritos • Newbler • Velvet • Prática • Newbler • Velvet

  3. Por quê sequenciar o transcritoma? • Mantém o focodapesquisanasregiõesgênicas do genoma; • Acelera o processo de anotaçãogenômica; • Descoberta de novos genes e modelosgênicos; • Visãogeraldaatividadegênicacelularemdeterminadomomento; • Obtençãodaexpressãogênicarelativaparadiferentescélulassob diferentescondições; • Podeauxiliarnaidentificação de eventos de processamentoalternativo de transcritos(e.g.Alternative Splicing) emtecidosoucondiçõesbiológicasespecíficas; • Detecção de mutaçõespontuais e/ouestruturais, taiscomofusão de genes;

  4. Introdução Montagem de sequências de transcritos

  5. Montagem • Definição • É umaestruturahierárquicaquemapeiaos dados de sequências de fragmentosparaumareconstruçãoaproximada do alvo(nestecasotranscritos) emsua forma original; • leituras (reads) => contigs => scaffolds • A montagemagrupasequênciasemcontigs e contigsemscaffolds (supercontigs); • A montagemsó é possívelquando o alvo (transcriptoma) é excessivamentesequenciado;

  6. Conceitos Básicos (1) • contig – alinhamentomúltiplo de leituras de onde é extraídaumasequênciaconsenso; • unitig – contigformadopelasobreposição de sequênciasúnicas das leituras, ouseja, semambiguidades; • scaffold – definem a ordem e orientação dos contigsalém do tamanho dos gaps entre oscontigs; • singlets – leiturasnãoagrupadasem um contig; • gap – espaço entre doiscontigs, ondenão se conhece a sequência; Gap

  7. Conceitos Básicos (2) • Cobertura (coverage) • Total de pares de bases sequenciadas [N*L] dividido pelo tamanho da região de interesse (genoma) [G] • ((N*L)/G) • Ex: Genoma de 1Mbp (G) • 5 milhões de reads (N) de 50bp (L) • Cobertura = (5.000.000 * 50) / 1.000.000 = 25X • Na prática, corresponde a quantas vezes, em média, cada base do genoma foi sequenciada; • Profundidade (depthofcoverage) • Requisitos para o sequenciamento de genomas: • Sanger: C. Venter (3Gb ~7.5x) • [Levyet al., 2007] • Roche 454: J. Watson (3Gb ~7.4x) • [Wheeleret al., 2008] • Illumina (52pb): Panda (Ailuropodamelanoleura) (2.4Gb ~73x) • [Li et al., 2010]

  8. Modelo Lander-Waterman Estimar parâmetros (número esperado de contigs, tamanho dos contigs) (Lander eWaterman, 1988) L = tamanho das leituras T = mínimo de sobrepsição entre leituras G = tamanho do genoma (pool de transcritos) N = número de leituras c = cobertura (NL / G) σ = 1 –T/L • E(#contigs) = Ne-cσ • E(tamanho do contig) = L((ecσ–1)/c+1–σ) Genoma 1Mb coverage 10x ~5 contigs * quanto maior a cobertura menos contigs são produzidos porém maiores; Modelo Lander-Waterman aplicado para estimar a cobertura no transcriptoma de arroz [Zhanget al., 2010]

  9. Montagem “de novo” • Reconstruçãodasequência (transcrito) emsua forma original, sem a consulta de sequênciaspreviamenteresolvidas de genomas, transcritos e proteínas. • A montagem é possívelquando o alvo é excessivamenteamostrado com leituras “shotgun” que se sobrepõem. • Montagemde novo de dados de Next-GenerationSequencing (NGS) • tamanho das leituras (menosinformaçãoporleitura) • necessidade de maiorcobertura – aumentodacomplexidade; • grande volume de dados • necessidade de algoritmosqueutilizem de forma racional e eficienteosrecursoscomputacionais (CPU/RAM);

  10. Cobertura – nova geração de sequenciadores • Tamanho esperado de contigs Panda e Cachorro genoma de ~2.4Gb [Schatzet al., 2010]

  11. Avaliação da Montagem • Montagensbemsucedidas: • Montagenssãomedidaspelotamanho e precisão dos contigs e scaffolds; • Tamanhos das sequênciasobtidas: • tamanhomáximo; • tamanhomédio; • tamanho total combinado; • N50 (tamanho do menorcontig no conjunto dos maiorescontigsquecombinadosrepresentam 50% damontagem) – contiguity; • Valoresmuito altos podemrepresentarerrosnamontageme valoresmuitopequenospodemrepresentarmontagemincompleta; • Precisão dos contigs • Medidas de satisfação e violações de restrições de montagem (Phillippyet al., 2008); • e.g.sequênciassobrepostas no contigdevemterconcordância entre si; • Se a referênciaexiste é útil e pode ser utilizadapara a comparação; • Comparações com proteomas de espéciespróximastambémpodem ser úteisparaavaliaçãodamontagem (Papanicolaou, et al. 2009);

  12. N50 • https://www.broad.harvard.edu/crd/wiki/index.php/N50 • N50 - representação do tamanhomédio (medianaponderada) de um conjunto de sequências; • Dado um conjunto de sequências de tamanhosvariáveis; • N50 = tamanho N ondeestão 50% das bases damontagemestãoemsequências de tamanho l < N; • L = {2,2,2,3,3,4,8,8} • tamanhocombinado 32 • L’ = {2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8} • 6 x (2); 6 x (3); 4 x (4); 16 x (8) • N50(L) = mediana(L’) = 6 50% < N50(L) = 6

  13. Desafios (1) • Contaminates nas amostras (e.g.Bacteria) • Ribosomal RNA (pequenas e grandes sub-unidades) • Artefatos gerados na etapa de PCR (e.g. Quimeras e mutações) • Erros de sequenciamento • e.g. Roche 454 - erros de homopolímeros (3 ou mais bases consecutivas); • Presença de primers/adaptadores (e.g. adaptadores SMART utilizados na síntese de cDNA); • Repetições e genomas poliplóides (sequências repetitivas no transcritoma torna a montagem mais difícil); • Necessidade de “spanners” – leituras que atravessam uma região de repetição e que possuem suficientes regiões únicas em ambos os lados; • Utilização de leituras paired-ends/mate-pairs e suas propriedades de tamanho e orientação, estando um dos pares ancorado em uma região única;

  14. Desafios (2) • Passos extras napreparação das amostras e síntese de cDNApodelevar a um maiorrisco de errosnaclonagemoucontaminação; • Transcritosmuitoabundantes (altacobertura), transcritospoucoabundantes (baixacobertura); • Processamentoalternativo do RNA • e.g.Alternative splicing • Genes parálogos • A falta de um genomareferênciatornadifícil o julgamentodaqualidadedamontagem

  15. Problemas recorrentes causados por repetições

  16. “k-mers” • Subsequências de tamanho k • Em uma sequência de tamanho (L) há (L-k+1) k-mers; • Exemplo: sequência de tamanho L=8 tem 5 k-mers com k=4 ACGTACGA ACGT CGTA GTAC TACG ACGA

  17. k-mersUniquenessratio k-mers – sequências de tamanho k k-mersuniquenessratio– número de k-mers distintas que ocorrem uma única vez no genoma número total de k-mers distintas que ocorrem no genoma Trichomonasvaginalis [Schatzet al., 2010]

  18. Introdução Algoritmos para montagem de sequências

  19. Algoritmos para montagem • Três categorias (baseadas em grafos) • Overlap/Layout/Consensus(OLC) • grafo de sobreposições; • de BruijnGraphs(DBG) • grafo de sobreposição de sufixo-prefixo de k-mers; • Greedygraphs • estrutura implícita de grafos de sobreposições;

  20. Grafo Grafo é uma estrutura G(V, A) onde V é um conjunto não vazio de objetos denominados nós ou vértices (nodes/vertices) e A é um conjunto de pares não ordenados de V, chamado arestas ou arcos (edges/arcs). Nós (vértices): V = {U, V, W, X, Y, Z} Arestas (arcos): A = {a, b, c, d, e, f, g, h, i, j} Representação simplificada de um grafo qualquer

  21. Overlap-Layout-Consensus (OLC) • Três passos: • 1º detecção de sobreposição; • Alinhamento pareado entre todas as leituras – identificação dos pares com melhor match (alinhamento global + heurísticas [e.g. seed & extend]); • 2ºlayout dos fragmentos (montagem do contig); • Construção e manipulação do grafo de sobreposição (Analisar/Simplificar/Limpar); • Caminho Hamiltoniano; • 3º decisão da sequência(montagem do consenso); • Alinhamento Múltiplo de Sequências – normalmente baseado na pontuação dos pares com sobreposição (sum-of-pairs ou SP); • Realiza ajustes no layout se necessário; • Normalmente a frequência de um nucleotídeo em determinada posição determina a base consenso; Grafo de sobreposição: nós - leituras; arestas - sobreposições; Caminho Hamiltoniano– caminho que permite passar uma única vez por todos os nós do grafo (contig) – caminho elementar; sobreposições não consideradas – ?caminhos alternativos?

  22. Softwares montadores (OLC) • Utilizam o paradigma OLC: • Phrap (http://www.phrap.org/) • genomas • Sanger, 454 • (Green, P., 1994 - unpublished) • CAP3 (http://seq.cs.iastate.edu/) • genomas, cDNAs • Sanger, 454 • (Huang, X. andMadan, A., 1999) • MIRA (http://sourceforge.net/projects/mira-assembler/) • genomas, cDNAs • Sanger, 454, Solexa • (Chevreux, B. et al., 1999) (Chevreux, B. et al., 2004) • Newbler (https://valicertext.roche.com/) • genomas, cDNAs • Sanger, 454 • Software Proprietário da Roche

  23. GreedyGraphs • Operação básica: dada alguma leitura ou contig, adiciona uma ou mais leituras ou contigs (mais similares uns aos outros) de forma progressiva até que não haja mais operações possíveis; • Estrutura implícita de grafo, em que somente são consideradas as arestas com alto score; • Deve ter mecanismos para lidar com sobreposições falsas. • Sobreposições de regiões repetitivas podem ter scorealto e levar a erros na montagem. I - reads 1 e 2 (score 200) II - reads 3 e 4 (score 150) III - reads 2 e 3 (score 50)

  24. Softwares montadores (Greedy) • Baseados em grafos do tipo Greedy: • SSAKE (http://www.bcgsc.ca/platform/bioinfo/software/ssake) • genomas • Solexa • (Warren, R.L.et al., 2007) • SHARCGS (http://sharcgs.molgen.mpg.de/) • genomas • Solexa • (Dohm, J.C. et al., 2007) • VCAKE (http://sourceforge.net/projects/vcake/) • genomas • Solexa • (Jeck, W.R.et al., 2007)

  25. grafos de-Bruijn • Grafos k-mer • nós – todas as subsequências de tamanho k; • arestas – todas as sobreposições (k-1 bases) entre essas subsequências que são consecutivas na sequênciaoriginal; • Pode representar as múltiplas sequências das leituras e implicitamente as sopreposições; aaccgg (k-mer 4): aacc accg ccgg ccggtt (k-mer 4): ccgg cggt ggtt Grafo de de-Bruijn: nó – subsequência (k-mer); arestas – sobreposições; Caminho Euleriano– caminho que atravessa cada aresta uma única vez (contig) – caminho simples; [Miller, et al. 2009]

  26. Características dos grafos k-mers • Em geral • A montagem é um problema de redução de grafos. • NP-difíceis, não há uma solução eficiente conhecida; • Utilização de heurísticas: reduzir a redundância, reparar erros, reduzir a complexidade, alargar caminhos simples e simplificar o grafo; • Vantagens • Desenvolvidos para lidar com a alta complexidade e o grande volume de dados dos NGS; • Rápida detecção de k-mers compartilhados - reduz custo computacional em relação à busca de sobreposições em alinhamentos pareados; • Não necessita comparações pareadas (todas x todas); • Desvantagens • Usam muita memória (tabela hashk-mers); • Mais sensível a repetições e a erros de sequenciamento; • baixa sensibilidade (perde algumas sobreposições verdadeiras), dependendo do: • tamanho de k • tamanho da sobreposição • taxa de erro nas leituras

  27. Tamanho de k • Tamanho de k :não pode ser nem muito grande, nem muito pequeno: • grande o suficiente para não pegar falsas sobreposições que compartilham k-mers por acaso; • pequeno o suficiente para que muitas sobreposições verdadeiras compartilhem k-mers;

  28. Características dos grafos de-Bruijn • O DNA é fita dupla, portanto a que se ter um mecanismo para identificar a correta orientação; • e.g. único nó (subsequência) com dois canais de entrada/saída – forward/reverse; • Repetições complexas (repetições em tandem, repetições invertidas, repetições imperfeitas, repetições inseridas em outras repetições). Repetições maiores ou iguais a k levam a grafos complicados, que não contêm por si só informações suficientes para resolver a ambiguidade; • e.g. recorrer às sequências originais e possivelmente a fragmentos mate-pairs/paired-ends; • Sequênciaspalíndromes (idêntica à reversa complementar) induz a caminhos que retornam a si (k=4; ACGT = ACGT); • e.g. utilização de um k ímpar (k=5; ACGTA ≠ TACGT) evita esse tipo de ocorrência; • Erros de sequenciamento; • e.g. pesar os vértices pelo número de leituras que lhes dão suporte auxilia na identificação de erros;

  29. Complexidades em k-mers “tips” • Ramificações – caminhos sem-saídas divergentes; • Induzidos por erros no sequenciamento nas extremidades das leituras; • Bolhas – caminhos que divergem e depois convergem; • Induzidos por erros no sequenciamento no meio das leituras; • Corda esfiapada – caminhos que convergem e divergem; • Induzidos por repetições; • Ciclos – caminhos que convergem neles mesmos; • Induzidos por repetições (e.g. repetições em tandem – pequenos ciclos); [Miller, J.R., et al., 2010]

  30. Exemplo AGTCGAG CTTTAGA CGATGAG CTTTAGA GTCGAGG TTAGATC ATGAGGC GAGACAG GAGGCTC ATCCGAT AGGCTTT GAGACAG AGTCGAG TAGATCC ATGAGGC TAGAGAA TAGTCGA CTTTAGA CCGATGA TTAGAGA CGAGGCT AGATCCG TGAGGCT AGAGACA TAGTCGA GCTTTAG TCCGATG GCTCTAG TCGACGC GATCCGA GAGGCTT AGAGACA TAGTCGA TTAGATC GATGAGG TTTAGAG GTCGAGG TCTAGAT ATGAGGC TAGAGAC AGGCTTT ATCCGAT AGGCTTT GAGACAG AGTCGAG TTAGATT ATGAGGC AGAGACA GGCTTTA TCCGATG TTTAGAG CGAGGCT TAGATCC TGAGGCT GAGACAG AGTCGAG TTTAGATC ATGAGGC TTAGAGA GAGGCTT GATCCGA GAGGCTT GAGACAG

  31. Exemplo • Grafo completo GATT (1x)‏ GATC (8x)‏ TGAG (9x)‏ ATGA (8x)‏ GATG (5x)‏ CGAT (6x)‏ CCGA (7x)‏ TCCG (7x)‏ ATCC (7x)‏ AGAT (8x)‏ AGAA (1x)‏ GCTC (2x)‏ CTCT (1x)‏ TCTA (2x)‏ CTAG (2x)‏ GGCT (11x)‏ AGAC (9x)‏ TAGA (16x)‏ TAGT (3x)‏ AGTC (7x)‏ GTCG (9x)‏ TCGA (10x)‏ CGAG (8x)‏ GAGG (16x)‏ AGGC (16x)‏ AGAG (9x)‏ GAGA (12x)‏ GACA (8x)‏ ACAG (5x)‏ TTAG (12x)‏ CTTT (8x)‏ TTTA (8x)‏ GCTT (8x)‏ ACGC (1x)‏ CGAC (1x)‏ GACG (1x)‏

  32. Exemplo • Após simplificação... GATT AGAT GATCCGATGAG AGAA GCTCTAG CGAG TAGTCGA TAGA GAGGCT AGAGA AGACAG GCTTTAG CGACGC

  33. Exemplo • Após remoção de tips... AGAT GATCCGATGAG GCTCTAG CGAG TAGTCGA TAGA GAGGCT AGAGA AGACAG GCTTTAG

  34. Exemplo • Após remoção de bolhas • Velvet (Tour bus) • breadth-firsttraversal • prioridade ao que tem maior cobertura (multiplicidade no vértice) AGAT GATCCGATGAG CGAG TAGTCGA TAGA GCTTTAG GAGGCT AGAGA AGACAG

  35. Exemplo • Simplificação final AGATCCGATGAG AGAGACAG TAGTCGAG GAGGCTTTAGA

  36. Softwares montadores (de-Bruijn) • Baseados em grafos de de-Bruijn: • VELVET /Oases (http://www.ebi.ac.uk/~zerbino/velvet/) • genomas, cDNAs • Solexa, SOLiD • (Zerbino, D.R. e Birney E., 2008) • ABySS/Trans-ABySS (http://www.bcgsc.ca/platform/bioinfo/software/abyss) • genomas, cDNAs • Solexa, SOLiD • (Simpson, J.T, et al., 2009) (Birol, I., et. al., 2009)

  37. Introdução ferramentas para montagem de transcritos

  38. Softwares Newbler

  39. Instalação (Newbler) • Registro para requisição de software • http://454.com/contact-us/software-request.asp • Download • DataAnalysis_2.5.3_101207_1209.tgz • Descompactar • tar -zxvf/origin/of/software/DataAnalysis_2.5.3_101207_1209.tgz-C /destiny/path/ • Ir para o diretório destino • cd /destiny/path/DataAnalysis_2.5.3/ • Executar setup.sh • ./setup.sh

  40. Funcionamento • Alinhamentospareadosentre as leituras (seed & extend); • ConstróiAlinhamentosmúltiplosde leituras com sobreposição e identificaregiões de com diferençasconsistentes entre osconjuntos de leituras e as divide emcontigs (unitigs); • Montagem “contigs” (unitigs) e criação do grafo de contigs, baseado no alinhamento das leiturasqueformamoscontigs; • Resolução de estruturas de ramificação no grafo; • Extensão dos “contigs” é realizada por meio da visita a cada um dos nós do grafo; • Montagemdasequênciaconsensousando a informaçãodaqualidade/sinalparacada base nosalinhamentosmúltiplos; Se há dados disponíveis de sequências paired-end incluiumaetapaadicional: • Organização dos contigsemscaffolds, usando a informação dos pares e dadistânciaaproximada dos pares entre oscontigs. nós – leituras alinhadas de forma contígua (contigs) arestas – leituras que alinham parte em um contig e parte em outro

  41. Exemplo • (1) Identificar as sobreposições entre as leituras; • seed & extend; • Identificação de unitigs(A,B,C e Repeat); • (2) Construção do grafo de sobreposições; • (3) Percorrendo o grafo para obter a sequência consenso; 2 1 3

  42. Princípios básicos Newbler Definições (-cdna): contig: Conjunto de leituras com regiões de sobreposiçãonãocontestáveis (“unitigs”) e com diferençasconsistentes entre osdemaisconjuntos de leituras. Um contigpoderepresentar um exonou parte dele. isogroup:É umacoleção de contigsquecontêmleiturasqueosconectam, podendorepresentaroscontigs de um mesmo locus (gene). isotig: Caminhosalternativos no grafo de contigsdentro de um isogroup. Um isotigpoderepresentar um transcrito individual, ouseja, umaisoforma do gene.

  43. isotigs • Conexões entre contigsem um isogrouprepresentadosporsequências (leituras) com alinhamentosdivergindo de forma consistenteemdoisoumaisdiferentescontigsouporavaliação de profundidade “depth spike”. “depth spike” Obs: cauda poly(A) - é ignorada portanto não é possível determinar a correta de orientação do transcrito. isotig a partir de um único contig

  44. Chamada básica do Montador runAssembly [parâmetros] seqs.fasta • Procurapeloarquivoseqs.fasta.qualno mesmodiretório • Cria o seguintediretório (porpadrão): • P_yyyy_mm_dd_hh_min_sec_runAssembly • P_ = Projeto, seguido de data e hora

  45. Parâmetros mais comuns (1) • -cdna • montagem em projetos transcritomas (cDNA); • -urt • “use readtips” (extremidades das leituras) para produzir isotigs mais longos a partir de únicas leituras; • -o output_directory • informar o diretório onde serão armazenados os resultados; • -force • força o reinicio da montagem, caso o diretório informado para os resultados já exista; • -vttrimmingFile.fasta • informar um arquivo fasta com as sequências de vetores, primers ou adaptadores , que devem ser excluídas das extremidades das leituras; • -vsscreeningFile.fasta • informar um arquivo fasta com as sequênciascujas regiões devem ser mascaradas nas leituras;

  46. Parâmetros mais comuns (2) • -a num • tamanhomínimopara o contigem 454AllContigs (default 100) – obs.: 0 se -cdna; • -l num • tamanhomínimopara o contigem 454LargeContigs/454Isotigs (default=500); • -m • mantémos dados de sequênciasnamemóriaparaaumentar a velocidade(necessita de RAM); • -cpunum • número de processadoresparauso (default=1); • -minlennum • tamanhomínimo de leiturasparaseremusadasnamontagem; • -het • habilita o modoparaconsiderarheterogizidade (e.g., organismosdiplóides). Esperarumamaiorvariabilidade.

  47. Outros Parâmetros (1) -cdna options • -ig • Isogroup Threshold (númeromáximo de contigsem um isogroup). Nãoserãoformadosisotigs e aparecerãocomocontigsnosarquivos de saída (default: 500 contigs); • -it • Isotig Threshold (númeromáximo de isotigsem um isogroup). O processo de percorrer o grafopara e aparecerãocomocontigsnosarquivos de saída (default: 100 isotigs); • -icc • IsotigContig Count Threshold (númeromáximo de contigsem um isotig). Isotignãoaparecenalista e seuscontigspoderãoounãoaparecernalista, dependendo se elepertenceounão a outroisotig (default: 100 contigs); • -icl • IsotigContig Length Threshold (tamanhomínimo de um contigpara o isotig). Isotignãoaparecenalista e seuscontigspoderãoounãoaparecernalista, dependendo se elepertenceounão a outroisotig (default: 3 bp);

  48. Outros parâmetros (2) • -notrim • desabilitartrimagem default de qualidade e primer; • -p • especificarque as leiturassãopaired-ends, casocontrárioserádetectadaautomaticamente; • -ud • trataleiturasseparadamente, nãoagrupamento de duplicatas; • -ss • especificar seed step parameter (default: 12); • -sl • especificar seed length parameter (default: 16); • -sc • especificar seed count parameter (default 1); • -ml • especificartamanhomínimodasobreposição (default: 40); • -mi • especificar a identidademínimadasobreposição (default: 90);

  49. Manual Roche Assembly manual (Part C)

  50. Arquivos de saída (1) • Arquivos de sequências e qualidades • Contigs • 454AllContigs.fna >contig00001 length=542 numreads=16 gene=isogroup00001 status=isotig >contig00002 length=2 numreads=43 gene=isogroup00001 status=it_thresh • 454AllContigs.qual • Isotigs • 454Isotigs.fna >contig00018 gene=isogroup00001 length=3413 >isotig00003 gene=isogroup00004 length=2675 numContigs=10 • 454Isotigs.qual • 454Isotigs.faa (ORFs traduzidas) >contig00018 1503 3236 -1 1734 577 19 >contig00018 1824 2369 +3 546 181 1 name/start/end/frame/nucleotidelength/proteinlength/numberofmethionines

More Related