NGS Next Generation Sequencing
NGS Le tecnologie di sequenziamento di DNA rappresentano uno strumento fondamentale per la ricerca nel campo della genetica e della biologia molecolare; Dal 2005, piattaforme capaci di sequenziare enormi quantità di dati a costi sostenibili, hanno dato inizio all era del Next Generation Sequencing; 2
NGS: I numeri Tecnologie per il sequenziamento di DNA 1977 Sequenziamento manuale (100bp/run) 1987 Metodo SANGER (800bp/run) 1999 Metodo SANGER parallelo (70kbp/run) 2005 NGS Progetto Genoma Umano Inizio Inizio del progetto 1990 Tempi Tempo stimato 15 anni Soggetti Mix di 4 soggetti scelti da un pool di 20 Fine 2003. Costo 2.7 Miliardi di dollari 3
NGS: La rivoluzione Piattaforma ABI3730 Hiseq2000 Metodo Sanger Illumina Throughput (bp/run) 76000 600.000.000.000 Durata di un run 1 h 7 d Costo (Euro/Gbp) 1.250.000 $ 500 $ Il metodo Sanger (first generation) produce reads di lunghezza di circa 800bp a costi molto alti e basso throughput; Metodi di NGS (Roche/454, Illumina/Solexa, etc.) producono reads di lunghezza di circa 100pb con costi molto bassi e alto throughout; I metodi di NGS producono la stessa quantità di dati prodotti dai vecchi metodi in 10 anni in solo un paio di settimane. 4
NGS: Produzione dei dati Il processo di sequenziamento consiste nel «rompere» fisicamente il DNA in milioni di piccoli frammenti; Affinché un singolo frammento possa essere «letto» dal sequenziatore, deve essere replicato diverse volte; I sequenziatori di NGS producono frammenti che vengono letti ad entrambe le estremità (paired-end reads) 5
NGS: Produzione dei dati I dati prodotti da un sequenziatore consistono in immagini, similmente ai microarray, in cui le luminosità indicano la presenza di un determinato nucleotide; Il sequenziatore possiede un software (base-caller) che permette di trasformare tali immagini in reads. A seconda delle intensità dei segnali vengono associate delle qualità ai singoli nucleotidi, producendo cosi dei file in formato FASTQ: @SEQ_ID GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT +!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65 6
NGS: Produzione dei dati Formato FASTQ: @SEQ_ID GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT +!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65 Phread Quality Score Q: Se ad esempio per una base Q=30, allora le possibilità che essa sia un errore è 1/1000 Phred Quality Score Probability of incorrect base call Base call accuracy 10 1 in 10 90% 20 1 in 100 99% 30 1 in 1000 99.9% 40 1 in 10000 99.99% 50 1 in 100000 99.999% 7 Esistono due metodi di codifica di Q. Phread33 e Phread64 che consistono nell assegnare un valore numerico in base al codice ascii a cui va aggiunto il valore 33 (o 64).
NGS: Allineamento??? Cosa si intende per allineare due sequenze? E possibile calcolare la distanza tra due stringhe utilizzando, per esempio, la distanza di editing; La distanza di editing è definita come il minimo numero di operazioni da eseguire (inserimenti, cancellazioni, sostituzioni) per trasformare una stringa in un altra. a - c c t g a a g c t t - a In questo caso per trasformare la prima stringa nella seconda dobbiamo inserire una g, sostituire una c con una t e cancellare una g. La distanza di editing tra le due stringhe è dunque 3. 8
NGS: Allineamento??? Cosa si intende per allineare due sequenze? Siano S e T due sequenze. Un allineamento A associa ad S e T le sequenze S e T, che possono contenere simboli di spazio -, in modo che S = T Rimuovendo gli spazi da S e T otteniamo S e T. Se l = S = T, lo score di un allineamento pairwise è definito da: l i= 1 σ ( S'[ i], T'[ i] ) L allineamento ottimale sarà quello che massimizza la similarità (lo score); 9
NGS: Allineamento??? 10 ESEMPIO: NEEDLEMAN-WUNSCH Lo score ottimale V(i,j) di due sequenze S 1.i T 1 j ha le seguenti proprietà: Algoritmo di programmazione dinamica per calcolare l allineamento + + + = = = = = ), ( 1), ( ), ( ) 1, ( ), ( 1) 1, ( max ), ( ), ( ) (0, ), (,0) ( 0 0 j i j i j k k i k k T j i V S j i V T S j i V j i V T j V S i V σ σ σ σ σ match/mismatch deletion insertion
NGS: Allineamento??? ESEMPIO: NEEDLEMAN-WUNSCH i - 1 2 3 4 5 6 A C B C D B S 1 j - 0-1 -2-3 -4-5 -6 1 C -1-1 1 0-1 -2-3 2 A -2 1 0 0-1 -2-3 3 D -3 0 0-1 -1 1 0 4 B -4-1 -1 2 1 0 3 5 D -5-2 -2 Allineamento ottimale V(6,5) = 2 1 1 3 2 S 2 V ( i, j) = V max S 1 = ACBCDB S 2 = CADBD ( i 1, V ( i 1, 2 σ ( a, b) = 1 j 1) + σ ( S, T j) + σ ( S, ) V ( i, j 1) + σ (, T ) Otteniamo tre allineamenti ottimali: ACBCDB- ACBCDB- -ACBCDB -C-ADBD -CA-DBD CADB-D- i i j a = b j ) otherwise 11
NGS: Allineamento INPUT: Una sequenza Q (generalmente piccola) e un reference G; OUPUT: Posizionamento di Q rispetto a G. Possiamo permettere qualche differenza (mismatch) tra Q e G. Si potrebbe usare BLAST o BLAT: Sono algoritmi di allineamento locale; Sono inefficienti quando si ha a che fare con allineamento di milioni di piccole sequenze; 12
NGS: Allineamento rispetto a un reference Caratteristiche di un buon algoritmo di allineamento: Veloce; Permette solo mismatch o al più qualche piccolo indel; Usa tutta la reads (Allineamento globale); Usa le qualità delle basi; Per ogni read siamo interessati a: Posizione nel genoma di riferimento e strand; Posizioni dei mismatch rispetto al reference; 13
NGS: Allineamento rispetto a un reference INPUT: Una sequenza conosciuta di genoma di riferimento e un insieme (milioni) di reads provenienti dal sequenziamento del genoma di un individuo; OUPUT: Posizionamento delle reads rispetto al genoma di riferimento; Un certo numero (piccolo) di mismatch è permesso. Il genoma deve essere conosciuto Generalmente la fase di allineamento vero e proprio è preceduta da un preprocessing (INDEXING) del Genoma allo scopo di velocizzare l allineamento stesso. 14
NGS: Allineamento rispetto a un reference METODI BASATI SU HASH TABLE SEED (K=5) VALORI AAAAA 34,100000, AAAAC 3120,440, AAAAG. AAAAT. AAACA.......... TTTTT 4591923,12 Si costruisce un dizionario del reference che permette di ricercare le reads. Si considerano le prime K basi di una read (seed o K-mer) e si cerca la posizione nel genoma di riferimento. Una volta trovata si verifica che la parte rimanente della reads si allinei ad esempio con l algoritmo di Smith- Watermann (seed-and-extends). Alcune volte si usano gli spaced-seed cioè seed di lunghezza L dove si richiede che ci sia un match con il reference solo in K posizioni (K<L). Bisogna fare attenzione alla dimensione k. Allineatori di prima generazione: MAQ, ELAND 15
NGS: Allineamento rispetto a un reference METODI BASATI SU SUFFIX ARRAY Vengono memorizzati in un indice tutti i suffissi del genoma. Lo spazio e il tempo richiesto è O( G ) I suffissi vengono ordinati. La ricerca di una read r può avvenire con una semplice procedura di ricerca binaria O( r log G ). Allineatori di seconda generazione: SOAP 16
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER Supponiamo dia vere la stringa: G = BANANA$ Consideriamo tutte le possibili rotazioni e ordiniamo (il simbolo $ può essere considerato come primo o ultimo indifferentemente nell ordinamento): 0 B A N A N A $ 1 A N A N A $ B 2 N A N A $ B A 3 A N A $ B A N 4 N A $ B A N A 5 A $ B A N A N 6 $ B A N A N A 1 A N A N A $ B 3 A N A $ B A N 5 A $ B A N A N 0 B A N A N A $ 2 N A N A $ B A 4 N A $ B A N A 6 $ B A N A N A SA BWT 17
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER La trasformata di BW è reversibile; B N N $ A A A BWT 18
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER Trasformata inversa: Input sort add sort add sort add sort B A B A A N B A N A N A B A N A A N A N N A N A A N N A N A N A N A N A A N A $ N A N A A $ N A $ A $ B N A $ B A $ B A $ B $ B B A $ B A B A N $ B A N B A N A A N A N N A A N A N A N A N A N N A N A A N A N N A A N A N A $ A N A $ N A $ B A $ A $ $ B A $ B $ B A A $ B A $ B A N 19
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER Trasformata inversa: sort A N A N add B A N A N sort A N A N A add B A N A N A sort A N A N A $ A N A $ A $ B A B A N A N A N A N A $ B $ B A N N A N A $ N A $ B A $ B A N A A N A N A A N A $ B A $ B A N A N A $ B A $ B A N B A N A N N A N A $ N A $ B A $ B A N A N A N A $ B N A $ B A N $ B A N A N A N A N A $ A N A $ B A A $ B A N A A N A $ B A A $ B A N A B A N A N A N A N A $ B N A $ B A N $ B A N A N 20
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER Trasformata inversa: sort A N A N A $ A N A $ B A A $ B A N A B A N A N A N A N A $ B N A $ B A N $ B A N A N add B A N A N A $ N A N A $ B A N A $ B A N A $ B A N A N A A N A N A $ B A N A $ B A N A $ B A N A N 21
NGS: Allineamento rispetto a un reference METODI BASATI SU TRASFORMATA DI BURROWS WHEELER Ancora più importante in NGS è che la stringa trasformata è facilmente comprimibile; Metodi basati sulla trasformata di BW (FM-index) permettono di ricercare efficientemente sottostringhe lavorando direttamente con la BWT compressa. Allineatori di terza generazione: BWA, Bowtie, SOAP2 22
NGS: Allineamento rispetto a un reference RISORSE: Il minimo necessario Sistema operativo Linux; 8 processori; 32GB RAM; 2TB disk storage; 23
NGS: Assembly de novo INPUT: Un insieme R di piccole sequenze sull alfabeto ={A,C,G,T} estratte dal genoma G; OTPUT: La sequenza del genoma G. 24
NGS: Assembly de novo PROBLEMATICHE: Coverage incompleto del genoma; Errori di sequenziamento; Overlap tra reads potrebbero avvenire per caso e non perché effettivamente presenti nel genoma; Una read può provenire da uno strand o dall altro; Repeats; 25
NGS: Assembly de novo Reads prodotte (anche diverse librerie con diversi insert size) Pulitura, filtraggio da contaminanti, Error Correction Coverage. Numero medio di reads che coprono una determinata posizione enll assembly Trovare le reads che si sovrappongono e costruire i contig Determinare ordine e distanze tra i contig (usando le paired-end reads Sequenza finita 26
NGS: Assembly de novo PULITURA DELLE READS E FILTRAGGIO DA CONTAMINANTI (es rna). La prima fase consiste nel fare un trimming delle reads con scarsa qualità. Spesso accade che i sequenziatori di nuova generazione producano delle reads con scarsa qualità all inizio e alla fine della sequenza; Queste vanno eliminate (in parte o totalmente) al fine di produrre assembly migliori; Nella fase di preparazione, spesso accade che il DNA da sequenziare sia contaminato: Escherichia Coli; Bacteria; Fungi; Mithocondrion; Cloroplast; 27
NGS: Assembly de novo ERROR CORRECTION (es QUAKE) Le piattaforme di NGS producono short reads con elevati tassi di errore; La maggior parte degli algoritmi di error correction sono basati sul fatto che ciascuna posizione (base) nel genoma in media è sequenziata molte volte; Sfruttando questa informazione si cerca di correggere le basi in accordo con specifiche euristiche (ad es. k-mer frequency); 28
NGS: Assembly de novo ERROR CORRECTION (es QUAKE) La qualità dei risultati ottenuti con i vari error correctors può essere messa in evidenza plottando il grafico dei dei k-mers; ESEMPIO: Se sequenziamo senza errori un frammento di 100bp a 20x, avremo 20 reads da 100bp. Ogni k-mer che compone una read avrà copertura 20x; Se ad esempio abbiamo 19 reads sequenziate perfettamente e 1 read con un errore su una base centrale (ad es. C al posto di T), si avrà il k-mer K che si trova a cavallo di tale errore presente solo in una read (e non in 20) mentre gli altri 19 k-mer che si trovano nella stessa regione delle altre reads saranno concordi tra di loro (19x di copertura) ma discordi con K. Quindi la maggior parte dei k-mer avrà copertura 20x, un k-mer avrà copertura 1x e 1 kmer avra' copertura 19x (1x+19x=20x). Il kmer a copertura 1x è dato da un errore di sequenziamento. Tanto più basso è il picco all inizio del grafico, tanto migliore è il risultato; Il secondo picco dà un idea di quale sia la copertura approssimativa delle reads; Picco degli errori 600 400 200 0 1 32 63 94 12 15 18 21 24 28 31 34 37 40 43 46 49 52 55 59 62 65 68 Coverage approssimativo 29
NGS: Assembly de novo METODI GREEDY. Partendo da una read a caso, estenderla finchè possibile; Problemi in NGS: Troppe reads da allineare; Zone ripetute provocano errori; Utili solo per piccoli genomi; 30
NGS: Assembly de novo METODI BASATI SU STRING GRAPHS (es SGA) OVERLAP GRAPH: E un grafo in cui ogni read è un nodo del grafo e due nodi sono collegati tra loro se le corrispondenti read si sovrappongono per k basi (k è un parametro); STRING GRAPH: Reads che sono contenute in un altra read sono considerate ridondanti e vengono escluse. I transitive edges vengono rimossi. R1 R2 R3 ACATACGATACA TACGATACAGTT GATACAGTTGCA R2 R1 GTTGCA ACATAC R3 Transitive edge Il path R1 > R2 > R3 è un possibile assembly uguale al path R1> R3. 31
NGS: Assembly de novo METODI BASATI SU GRAFI DI DE BRUIJN (ABySS, SOAPdenovo, ALLPATHS-LG) In un grafo di De Bruijn ogni nodo rapprersenta in k-mer e due nodi sono connessi tra di loro se i k- mer si sovrappongono per k-1 basi. READ AGATGATTCG AGA GAT ATG TGA GAT ATT TTC TCG Le reads vengono ridotte a k-mers. Il princpale vantaggio è che un k-mer è presente solo una volta. In una situazione ideale un assembly sarebbe un cammino che attraversa ogni arco / nodo solo una volta (cammino Hamiltoniano / Euleriano). AGA GAT ATG TGA ATT K=3 TTC TCG 32
NGS: Assembly de novo METODI BASATI SU GRAFI DI DE BRUIJN (ABySS, SOAPdenovo, ALLPATHS-LG) ERRORI: Un errore nelle reads provoca una biforcazione K=3 GTA ACG CGT GTC SNP: Uno SNP provoca una biforcazione che presto converge K=3 CGT GTC TCA ACG CAG CGA GAC ACA 33
NGS: Assembly de novo METODI BASATI SU GRAFI DI DE BRUIJN (ABySS, SOAPdenovo, ALLPATHS-LG) REPEATS: Una zona ripetuta provoca la convergenza di due o più path in uno solo K=3 ACG CGT GTC TCA CAG TCG CAT 34
NGS: Assembly de novo REPEATS E ASSEMBLY DENOVO Le zone ripetute causano grossi problemi agli assemblatori 35
NGS: Assembly de novo SCAFFOLDING Sfruttando le informazioni provenienti dalle paired-end reads (o mate pairs con insert size più grandi), i contig prodotti dagli assemblatori: Vengono ordinati; La distanza tra contig adiacenti viene stimata usando le paired-end reads; 36
NGS: Assembly de novo TOOL COMPLETI PER L ASSEMBLY DENOVO Abyss (parallelo): E basato sui grafi di de Bruijn. Si costruisce un grafo in cui i nodi sono k- mers. Due nodi sono legati da un arco se i due k-meri che essi rappresentano si sovrappongono per k-1 caratteri. SGA (multithread): Si costruisce un grafo in cui ogni read è un nodo e due nodi sono legati da un arco se le corrispondenti read si sovrappongono per k valori. Al fine di velocizzare la costruzione del grafo si fa uso di FM-index. ALLPATHS-LG (multithread): Basato anch esso su grafi richiede almeno due librerie: paired-end reads con piccolo (100bp) e alto (3kb, 20kb) insert size. Richiede moltissima RAM. SOAPdenovo (multithread): Basato sempre su Grafi di de Bruijn, richiede molta RAM. 37
NGS: Assembly de novo TOOL DEDICATI Quake: Tool per l individuazione e correzione di errori. SOPRA: Tool di scaffolding basato sulla programmazione dinamica. SSPACE: Tool di Scaffolding che sfrutta librerie multiple di paired-end reads. OPERA: Basato su grafi. 38
NGS: Assembly de novo TOOL PER LA VISUALIZZAZIONE E ANALISI Tablet: http://bioinf.scri.ac.uk/tablet/ IGV: http://www.broadinstitute.org/igv/v1.2 Gbrowse: http://www.gbrowse.org/index.html Savant: http://genomesavant.com/p/savant/index 39
NGS: Assembly de novo CRITERI DI VALUTAZIONE Error Correction: Plot dei k-mer; Testing dei vari software con diversi parametri; Lunghezza dell assembly. E possibile stimare la dimensione di un genoma; Lunghezza Max/Media di un contig; N50: La lunghezza del contig tale che la somma di tutti i contig più grandi di esso copra almeno il 50% del genoma (La dimensione N tale che almeno il 50% del genoma è contenuto in contig di size N o maggiore); Sfruttare genomi già esistenti; Mappare le reads sul genoma appena creato (paired-end reads che mappano solo per una delle reads indicano possibili misassembly); Coverage sufficientemente alti; 40
NGS: Assembly de novo CRITERI DI VALUTAZIONE Molti tool forniscono delle statistiche che aiutano a capire la qualità dell assembly prodotto. Ad esempio ABySS produce un file di dati che contiene due colonne: La prima colonna contiene la distanza; La seconda colonna contiene il numero di reads allineate a quella distanza; Il picco da informazioni in merito all insert size delle reads; L ampiezza della campana fornisce invece la deviazione standard; 900 800 700 600 500 400 300 200 100 0 file 3- hist di abyss 132 158 182 206 230 254 278 302 326 350 374 398 422 446 470 494 518 542 566 590 614 638 662 687 712 749 41
NGS: Assembly de novo Esempio ABySS (su genoma di Olea chloroplast) CONTIGS k trim Total Length Average Max Sequences N50 L50 31 tutte 153740 10249,3 50775 15 2 40889 31 200 153102 25517 50775 6 2 40889 31 500 153102 25517 50775 6 2 40889 41 tutte 153484 17053,8 58491 9 2 50772 41 200 153085 30617 58491 5 2 50772 41 500 153085 30617 58491 5 2 50772 51 tutte 182551 12170,1 69275 15 2 50773 51 200 181552 30258,7 69275 6 2 50773 51 500 181552 30258,7 69275 6 2 50773 61 tutte 182324 22790,5 109272 8 1 109272 61 200 181659 60553 109272 3 1 109272 61 500 181659 60553 109272 3 1 109272 71 tutte 282086 35260,8 169057 8 1 169057 71 200 281307 93769 169057 3 1 169057 71 500 281307 93769 169057 3 1 169057 81 tutte 146920 18365 93179 8 1 93179 81 200 146134 48711,3 93179 3 1 93179 81 500 146134 48711,3 93179 3 1 93179 SCAFFOLDS k trim Total Length Average Max Sequences N50 L50 31 tutte 153890 12824,2 61588 12 2 50775 31 200 153252 51084 61588 3 2 50775 31 500 153252 51084 61588 3 2 50775 41 tutte 153584 21940,6 61504 7 2 50772 41 200 153185 51061,7 61504 3 2 50772 41 500 153185 51061,7 61504 3 2 50772 51 tutte 182701 15225,1 69275 12 2 61654 51 200 181702 60567,3 69275 3 2 61654 51 500 181702 60567,3 69275 3 2 61654 61 tutte 182374 26053,4 112434 7 1 112434 61 200 181709 90854,5 112434 2 1 112434 61 500 181709 90854,5 112434 2 1 112434 71 tutte 71 200 71 500 81 tutte 146970 20995,7 96207 7 1 96207 81 200 146184 73092 96207 2 1 96207 81 500 146184 73092 96207 2 1 96207 42
NGS: Assembly de novo Esempio ABySS (su genoma di Olea chloroplast) Quando è disponibile un genoma di riferimento si può considerare il dotplot (nei casi in cui il genoma sia abbastanza piccolo) 43
NGS: Files e Tools SAM/BAM: Il formato testuale SAM (e corrispondente binario conpresso BAM) permette di memorizzare gli allineamenti prodotti dagli assemblatori. SAMTOOLS permettono di manipolare allineamenti e dati di NGS (samtools.sourceforge.net) 44
NGS: Dopo L allineamento Analisi a livello di singola base 45
NGS: Dopo L allineamento } 46 SNP Calling
NGS: Dopo L allineamento Varianti Strutturali: DELEZIONE Si ossono sfruttano le paired-end reads allineate con il genoma di riferimento e quello prodotto reference Individuo (assembly denovo) 47
NGS: Dopo L allineamento Varianti Strutturali: INSERZIONE Si sfruttano le paired-end reads allineate con il genoma di riferimento e quello prodotto (cluster of singletons) 48
NGS: Dopo L allineamento IDENTIFICAZIONE DI DUPLICAZIONI Si identificano le zone con copertura inattesa delle reads. 49
NGS: Dopo L allineamento ALLINEAMENTO RISPETTO A UN REFERENCE Frazione di genoma di P. Trichocarpa non coperta dalle reads di P. Nigra Populus Trichocarpa reference Populus Nigra reads Abbiamo a che fare con una regione specifica di P. Trichocarpa??? 50
NGS: RNA-SEQ E possibile produrre reads provenienti da RNA piuttosto che da DNA al fine di ricostruire il trascrittoma (coding ma anche non coding rna); Genome guided: Le reads relative a mrna vengono allineate a un genoma di riferimento (con o senza annotazioni). Genome Independent: viene fatto un assembly denovo delle reads; Il conteggio delle reads che mappano negli esoni di un gene danno una informazione sul suo livello di espressione; Le reads mappate possono dare indicazioni anche rispetto a nuove strutture (nuovi geni???). 51
NGS: Referenze http://soap.genomics.org.cn http://bowtie-bio.sourceforge.net http://bio-bwa.sourceforge.net http://seqanswers.com/wiki/software/list http://en.wikipedia.org/wiki/list_of_sequence_alignment_software Li H., Handsaker B., Wysoker A., Fennell T., Ruan J., Homer N., Marth G., Abecasis G., Durbin R. and 1000 Genome Project Data Processing Subgroup, The Sequence alignment/map (SAM) format and SAMtools, Bioinformatics, 2010, 25, 2078-9. David R Kelley, Michael C Schatz, Steven L Salzberg, Quake: quality-aware detection and correction of sequencing errors, Genome Biology 2010, 11:R116 doi:10.1186/gb-2010-11-11-r116, software: http://www.cbcb.umd.edu/software/quake/ Jared T. Simpson, Richard Durbin, Efficient construction of an assembly string graph using the FMindex (and supplemental materials), Bioinformatics, vo. 26 ISMB 2010, pages 1367-1373, doi:10.1093/ bioinformatics/btq217, software: https://github.com/jts/sga Li H. and Durbin R., Fast and accurate long-read alignment with Burrows-Wheeler Transform. Bioinformatics, 2010. Paolo Ferragina and Giovanni Manzini, "Opportunistic Data Structures with Applications", Proceedings of the 41st Annual Symposium on Foundations of Computer Science. p.390, 2000. Eugene Myers, The fragment Assembly String Graph, Bioinformatics,2005, 21,ii79-ii85 52
NGS: Referenze The SGA google group: https://groups.google.com/forum/?fromgroups#!forum/sga-users The SGA on line wiki: https://github.com/jts/sga/wiki Butler J, MacCallum I, Kleber M, Shlyakhter IA, Belmonte MK, Lander ES, Nusbaum C, Jaffe DB. 2008. ALLPATHS: de novo assembly of whole-genome shotgun microreads. Genome Research 18: 810 20, software: http://www.broadinstitute.org/software/allpaths-lg/blog/ MacCallum I, Przybylski D, Gnerre S, Burton J, Shlyakhter I, Gnirke A, Malek J, McKernan K, Ranade S, Shea TP, Williams L, Young S, Nusbaum C, Jaffe DB. 2009. ALLPATHS 2: small genomes assembled accurately and with high continuity from short paired reads. Genome Biology 10: R103. ABySS: A parallel assembler for short read sequence data. Simpson JT, Wong K, Jackman SD, Schein JE, Jones SJ, Birol I. Genome Research, 2009-June. (Genome Research, PubMed), software: http://www.bcgsc.ca/platform/bioinfo/software/abyss/ Luo et al.: SOAPdenovo2: an empirically improved memory-efficient short-read de novo assembler. GigaScience 2012 1:18, software: http://soap.genomics.org.cn/soapdenovo.html Adel Dayarian, Todd P Michael, Anirvan M Sengupta, SOPRA: Scaffolding algorithm for paired reads via statistical optimization, BMC bioinformatics, 2010, 11:345 doi:10.1186/1471-2105-11-345, software: http://www.physics.rutgers.edu/~anirvans/sopra/ Boetzer M, Henkel CV, Jansen HJ, Butler D, Pirovano W, Scaffolding pre-assembled contigs using SSPACE, Bioinformatics. 2011 Feb 15;27(4):578-9. doi: 10.1093/bioinformatics/btq683, software: http://www.baseclear.com/landingpages/basetools-a-wide-range-of-bioinformatics-solutions/sspacev12/ 53
NGS: Referenze Gao S, Sung WK, Nagarajan N, Opera: reconstructing optimal genomic scaffolds with high-throughput paired-end sequences, J Comput Biol. 2011 Nov;18(11):1681-91. doi: 10.1089/cmb.2011.0170, software: http://sourceforge.net/projects/operasf/files/version%201.0/ Ben Langmead, Cole Trapnell, Mihai Pop and Steven L Salzberg, Ultrafast and memory-efficient alignment of short DNA sequences to the human genome, Genome Biology 2009, 10:R25, doi:10.1186/gb-2009-10-3- r25 Trapnell C, Pachter L, Salzberg SL. TopHat: discovering slice junctions with RNA-seq. Bioinformatics doi: 10.1093/bioinformatics/btp120, software: http://tophat.cbcb.umd.edu/ Trapnell C, Williams BA, Pertea G, Mortazavi AM, Kwan G, van Baren MJ, Salzberg SL, Wold B, Pachter L., Transcript assembly and quantification by RNA-Seq reveals unannotated transcripts and isoform switching during cell differentiation, Nature Biotechnology doi:10.1038/nbt.1621, software: http://cufflinks.cbcb.umd.edu/ 54