Vraag:
Wat is het verschil tussen FASTA-, FASTQ- en SAM-bestandsindelingen?
kenorb
2017-05-16 23:37:28 UTC
view on stackexchange narkive permalink

Ik wil graag weten wat de verschillen zijn tussen drie veelgebruikte indelingen, zoals FASTA, FASTQ en SAM. Hoe verschillen ze? Zijn er voordelen aan het gebruik van de ene boven de andere?

Op basis van Wikipedia-pagina's kan ik de verschillen tussen beide niet zien.

Vier antwoorden:
#1
+42
Konrad Rudolph
2017-06-02 17:16:25 UTC
view on stackexchange narkive permalink

Laten we beginnen met wat ze gemeen hebben: alle drie de formaten slaan

  1. sequentiegegevens op, en
  2. sequentie-metadata.

Bovendien zijn alle drie de formaten op tekst gebaseerd.

Maar daarnaast zijn alle drie de formaten verschillend en dienen ze verschillende doeleinden.

Laten we beginnen met het eenvoudigste formaat:

FASTA

FASTA slaat een variabel aantal reeksrecords op, en voor elk record slaat het de reeks zelf op, en een reeks-ID. Elk record begint met een kopregel waarvan het eerste teken > is, gevolgd door de reeks-ID. De volgende regels van een record bevatten de feitelijke sequentie.

Het Wikipedia-artikel geeft verschillende voorbeelden van peptidesequenties, maar aangezien FASTQ en SAM uitsluitend (?) Worden gebruikt voor nucleotidesequenties, hier is een nucleotide voorbeeld:

  >Mus_musculus_tRNA-AlaAGC-1-1 (chr13.trna34-AlaAGC) GGGGGTGTAGCTCAGTGGTAGAGCGCGTGCTTAGCATGCACGAGGcCCTGGGTTCGATCCCCAGCACCTCCA>Mus_musculus_tRNA-AlaAGC-10-1 (chr13.trna457-AlaAGC) GGGGGATTAGCTCAAATGGTAGAGCGCTCGCTTAGCATGCAAGAGGtAGTGGGATCGATGCCCACATCCTCCA  

De ID kan elke willekeurige indeling hebben, hoewel er verschillende conventies bestaan ​​.

In de context van nucleotidesequenties wordt FASTA meestal gebruikt om referentie data; dat wil zeggen, gegevens die zijn geëxtraheerd uit een beheerde database; het bovenstaande is aangepast van GtRNAdb (een database met tRNA-sequenties).

FASTQ

FASTQ is bedacht om een ​​specifiek probleem op te lossen dat zich voordoet tijdens het sequencen: vanwege hoe verschillende sequentietechnologieën werken, varieert het vertrouwen in elke basisaanroep (dat wil zeggen, de geschatte waarschijnlijkheid dat een bepaald nucleotide correct is geïdentificeerd). Dit komt tot uiting in de Phred-kwaliteitsscore. FASTA had geen gestandaardiseerde manier om dit te coderen. Daarentegen bevat een FASTQ-record een reeks kwaliteitsscores voor elke nucleotide.

Een FASTQ-record heeft de volgende indeling:

  1. Een regel die begint met @ , die de reeks-ID bevat.
  2. Een of meer regels die de reeks bevatten.
  3. Een nieuwe regel die begint met de karakter + , en ofwel leeg zijn of de reeks-ID herhalen.
  4. Een of meer regels die de kwaliteitsscores bevatten.

Hier is een voorbeeld van een FASTQ map met twee platen:

  @ 071112_SLXA-EAS1_s_7: 5: 1: 817: 345GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC + IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC @ 071112_SLXA-EAS1_s_7: 5: 1: 801: 338GTTCAGGGATACGACGTTTGTATTTTAAGAATCTGA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII6IBI  

FASTQ-bestanden worden meestal gebruikt om korte-read-gegevens van high-throughput sequencing-experimenten op te slaan. De volgorde en kwaliteitsscores worden meestal elk op één regel gezet, en inderdaad gaan veel tools ervan uit dat elk record in een FASTQ-bestand precies vier regels lang is, ook al is dit niet gegarandeerd.

Net als bij FASTA is het formaat van de sequentie-ID niet gestandaardiseerd, maar verschillende producenten van FASTQ gebruiken vaste notaties die strikte conventies volgen.

SAM

SAM-bestanden zijn zo complex dat een volledige beschrijving [PDF] 15 pagina's in beslag neemt. Dus hier is de korte versie.

Het oorspronkelijke doel van SAM-bestanden is om kaartinformatie op te slaan voor reeksen van reeksen met hoge doorvoer. Als gevolg hiervan moet een SAM-record meer opslaan dan alleen de reeks en de kwaliteit ervan, het moet ook informatie opslaan over waar en hoe een reeks in de referentie wordt toegewezen.

In tegenstelling tot de vorige formaten, is SAM tab-gebaseerd, en elk record, bestaande uit 11 of 12 velden, vult precies één regel. Hier is een voorbeeld (tabbladen vervangen door spatiëring met vaste breedte):

  r001 99 chr1 7 30 17M = 37 39 TTAGATAAAGGATACTG IIIIIIIIIIIIIIIIIIIr002 0 chrX 9 30 3S6M1P1I4M * 0 0 AAAAGATAAGGATA IIIIIIIIII6IBI NM: i: 1  

Raadpleeg de documentatie voor een beschrijving van de afzonderlijke velden. Het relevante bit is dit: SAM kan exact dezelfde informatie uitdrukken als FASTQ, plus, zoals vermeld, de mapping-informatie. SAM wordt echter ook gebruikt om gelezen gegevens zonder mapping-informatie op te slaan.

Naast sequentierecords kunnen SAM-bestanden ook een header bevatten, die slaat informatie op over de referentie waaraan de sequenties zijn toegewezen, en de tool die is gebruikt om het SAM-bestand te maken. Koptekstinformatie gaat vooraf aan de reeksrecords en bestaat uit regels die beginnen met @.

SAM zelf wordt bijna nooit gebruikt als opslagformaat; in plaats daarvan worden bestanden opgeslagen in BAM-formaat, wat een compacte binaire weergave is van SAM. Het slaat dezelfde informatie op, maar dan efficiënter en, in combinatie met een zoekindex, kunnen individuele records snel uit het midden van het bestand worden opgehaald (= snelle willekeurige toegang) . BAM-bestanden zijn ook veel compacter dan gecomprimeerde FASTQ- of FASTA-bestanden.


Het bovenstaande impliceert een hiërarchie in wat de formaten kunnen opslaan: FASTA ⊂ FASTQ ⊂ SAM.

In een typische analysewerkstroom met hoge doorvoer zul je alle drie de bestandstypen tegenkomen:

  1. FASTA om het referentiegenoom / transcriptoom op te slaan waarnaar de sequentiefragmenten zullen worden toegewezen.
  2. FASTQ om de sequentiefragmenten op te slaan voordat ze in kaart worden gebracht.
  3. SAM / BAM om de sequentiefragmenten op te slaan na het in kaart brengen.
Waarom is er een '+' teken in FASTQ-formaat?
@charlesdarwin Ik heb geen idee. De lijn met het plusteken is volledig overbodig. De oorspronkelijke ontwikkelaars van het FASTQ-formaat hadden het waarschijnlijk bedoeld als een redundantie om foutcontrole te vereenvoudigen (= om te zien of het record compleet was), maar het faalt daarbij. Achteraf gezien had het niet mogen worden opgenomen. Helaas zitten we er voorlopig aan vast.
@KonradRudolph voor zover ik weet is fastq een combinatie van fasta- en qual-bestanden, zie ook https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2847217/ Dit verklaart de header van het kwaliteitsgedeelte. Het is echter niet logisch dat we eraan vastzitten ...
#2
+16
eastafri
2017-05-16 23:57:28 UTC
view on stackexchange narkive permalink

In een notendop:

FASTA bestandsformaat is een DNA-sequentieformaat voor het specificeren of representeren van DNA-sequenties en werd voor het eerst beschreven door Pearson (Pearson, WR en Lipman , DJ (1988) Verbeterde tools voor biologische sequentievergelijking. Proc. Natl Acad. Sci. USA, 85, 2444–2448)

FASTQ is een andere DNA-sequentie bestandsformaat dat het FASTA-formaat uitbreidt met de mogelijkheid om de sequentiekwaliteit op te slaan. De kwaliteitsscores worden vaak weergegeven in ASCII-tekens die overeenkomen met een phred-score)

Zowel FASTA als FASTQ zijn veelgebruikte indelingen voor sequentierepresentatie en zijn naar voren gekomen als belangrijke gegevensuitwisselingsindelingen voor moleculaire biologie en bio-informatica.

SAM is een indeling voor het weergeven van sequentie-uitlijningsinformatie van een leesuitlijner. Het vertegenwoordigt sequentie-informatie met betrekking tot een gegeven referentiesequentie. De informatie wordt opgeslagen in een reeks door tabs gescheiden ascii-kolommen. De volledige SAM-formaatspecificatie is beschikbaar op http://samtools.sourceforge.net/SAM1.pdf

Historisch gezien gebruikte het Sanger Institute voor het eerst het FASTQ-formaat.
SAM kan ook (en wordt er steeds meer voor gebruikt, zie PacBio) niet-uitgelijnde sequentie-informatie opslaan, en in dit opzicht gelijkwaardig aan FASTQ.
Merk op dat fasta ook vaak wordt gebruikt voor eiwitgegevens, niet alleen voor DNA.
#3
+7
BaCh
2017-05-16 23:53:39 UTC
view on stackexchange narkive permalink

Overigens is het eerste deel van je vraag iets dat je zelf had kunnen opzoeken, want de eerste hits op Google van "NAME-formaat" verwijzen je naar primers op Wikipedia, niet minder. Doe dat in de toekomst voordat u een vraag stelt.

  1. FASTA
  2. FASTQ
  3. SAM

FASTA slaat (officieel) alleen de naam van een reeks en de reeks op, onofficieel voegen mensen ook commentaarvelden toe na de naam van de reeks. FASTQ is uitgevonden om zowel sequentie- als bijbehorende kwaliteitswaarden op te slaan (bijv. Van sequencing-instrumenten). SAM is uitgevonden om uitlijningen van (kleine) sequenties (bijv. Gegenereerd door sequencing) met bijbehorende kwaliteitswaarden en wat verdere gegevens op te slaan op grotere sequenties, referentiesequenties genaamd, waarbij de laatste alles is van een kleine virussequentie tot ultragrote plantsequenties.

#4
+4
Alon Gelber
2017-05-17 00:50:21 UTC
view on stackexchange narkive permalink

FASTA- en FATSQ-indelingen zijn beide bestandsindelingen die sequencing-leesbewerkingen bevatten, terwijl SAM-bestanden deze leesbewerkingen zijn die zijn uitgelijnd met een referentiereeks. Met andere woorden, FASTA en FASTQ zijn de "ruwe data" van sequencing, terwijl SAM het product is van het uitlijnen van de sequencing-uitlezingen met een refseq.

Een FASTA-bestand bevat een gelezen naam gevolgd door de reeks. Een voorbeeld van een van deze reads voor RNASeq zou kunnen zijn:

  >Flow celnummer: rijstrooknummer: chipcoördinaten etc. ATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGSTCTA versie van deze read heeft nog twee regels, één + als spatiehouder en vervolgens een regel met kwaliteitsscores voor de basisoproepen. De kwaliteiten worden gegeven als karakters met '!' zijnde de laagste en '~' de hoogste, in toenemende ASCII-waarde. Het zou er ongeveer zo uitzien  
  @Flow celnummer: baannummer: chipcoördinaten etc.ATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTAATTGGCTA +! '' * (((((*** +)) %%% ++) ( %%). 1 *** - + * '')) ** 55CCF>>>>>>CCCCCCC65  

Een SAM-bestand heeft veel velden voor elke uitlijning, de koptekst begint met het @ -teken. De uitlijning bevat 11 verplichte velden en verschillende optionele velden. U kunt het specificatiebestand hier vinden: https://samtools.github.io/hts-specs/SAMv1.pdf.

Vaak ziet u BAM-bestanden die slechts gecomprimeerde binaire versies van SAM-bestanden. U kunt deze uitlijningsbestanden bekijken met verschillende tools, zoals SAMtools, IGV of USCS Genome-browser.

Wat de voordelen betreft: FASTA / FASTQ vs. SAM / BAM vergelijkt appels en peren. Ik doe veel RNASeq-werk, dus over het algemeen nemen we de FASTQ-bestanden en lijnen ze uit op een refseq met behulp van een aligner zoals STAR die SAM / BAM-bestanden uitvoert. Er is veel dat je kunt doen met alleen deze uitlijningsbestanden, kijkend naar expressie, maar meestal gebruik ik een tool zoals RSEM om de reads van verschillende genen te "tellen" om een ​​expressiematrix te maken, monsters als kolommen en genen als rijen. Of u FASTQ- of FASTA-bestanden krijgt, hangt af van uw sequencingplatform. Ik heb nog nooit gehoord dat iemand de kwaliteitsscores echt gebruikt.

Pas op, de beschrijving van het FASTQ-formaat is onjuist: een FASTQ-record kan meer dan vier regels beslaan; ook is '+' geen tijdelijke aanduiding, het is een scheidingsteken tussen de reeks en de kwaliteitsscore, met een optionele herhaling van de record-ID erna. Ten slotte moet de string van de kwaliteitsscore dezelfde lengte hebben als de reeks.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...