Håndter data for nukleotidsekventeringslæsning
For at lette de mange faser i Dazzler-assembleren, så bliver alle de
aflæste data organiseret i, hvad der reelt er en database over læsningerne
og deres metainformation. Designmålene for denne database er som følger:
* Databasen gemmer kildeinformationerne for Pacbiolæsninger på en sådan
måde, at de kan genskabe de oprindelige inddata, hvilket tillader,
at en bruger kan fjerne (reelt overflødige) kildefilerne. Dermed
undgås duplikering af de samme data, en gang i kildefilen, og en gang
i databasen.
* Databasen kan opbygges trinvist, der er ny sekvens
data kan tilføjes til databasen over tid.
* Databasen fleksibelt tillade en at gemme eventuelle alle metadata
for læsninger. Dette opnås med begrebet *spor*, som en der
implementerer kan tilføje efter behov.
* Dataene holdes i en komprimeret form svarende til .dexta- og
.dexqv-filer fra dataudtræksmodulet. Både .fasta- og
.quiva-oplysninger for hver læsning holdes i databasen og kan være
genskabt fra det. .quiva-oplysninger kan tilsættes separat og
senere, hvis det ønskes.
* For at lette parallelle job har databasen klyngedrift af faser for
assembleren for en *nuværende partitionering* hvori alle
læsninger, der er over en given længde og eventuelt
unik for en brønd, er delt op i *blokke* der indeholder cirka en
bestemt antal baser, undtagen måske den sidste blok, som kan have
et lille antal. Ofte kan programmer køre på blokke eller blokpar
og hver sådant job er rimeligt velafbalanceret da blokkene alle er
af samme størrelse. Man skal være forsigtig med at ændre partitionen
under en samling, da dette kan ugyldiggøre strukturel gyldighed
for eventuelle mellemliggende blokbaserede resultater.