Bevallom, a teljesen egyszerű ötletek, amelyekre önmagukon jóval túlmutató dolgok épülhetnek, lenyűgöznek. Ettől olyan érzésem lesz, hogy a világban némi rend is uralkodik.
Például vegyük a kmereket. A kmer egy hulla egyszerű ötlet. A DNS szekvenciát ugyan olyan hosszú darabokra vágjuk és megszámoljuk, melyikből mennyi van. Faék egyszerűségű ötlet. Mire lehet használni?
- Meghatározhatjuk, hogy van-e kontamináció a mintánkban.
- Két szekvenciát összehasonlíthatunk (pl. azonos fajból vannak-e)
- Referencia nélkül megmondhatjuk, hogy diploid vagy haploid a szekvencia
- Megnézhetjük, van-e adaptor szennyezés
- Metagenomikai taxonómia meghatározást végezhetünk
- Expressziós különbségeket számolhatunk
- Trió adatokban SNP-ket kereshetünk (referencia használata nélkül)
- Azonosíthatjuk a repeat elemeket
- Megbecsülhetjük a genom méretet
- Genomokat szerelhetünk össze
Izgalmasan hangzik? Meghiszem azt! Ráadásul van egy adatstruktúra, amit mintha pont erre a módszerre szabtak volna: a hasítótábla. Mintha csak azt akarta volna valaki, hogy a bioinformatikusoknak legyen egy jó napja.
A kmer alapú vizsgálódás annyira népszerű, hogy külön eszközök vannak rá. Az egyik a KAT. Segítségével készíthetünk hisztogrammot, amivel megtudhatjuk, hogy a különböző gyakoriságú kmerekből mennyi van. Ennek egy szebb módja, amikor a kmer gyakoriságot a GC arány függvényében ábrázolják (kat gcp parancs). Ennek segítségével megmondhatjuk, van-e kontamináció a mintánkban. Ez hasznos lehet egy de-novo összeszerelés előtt.
Minták összehasonlítására használható a kat comp parancs. Például a readek és a belőlük készült genom kmeres összehasonlítása megmutathatja, mennyire teljes az összeszerelés. Ha ugyanis a kettő különböző, akkor a genom építés során nem használtunk fel minden readet.
A program számos ábrát is el tud készíteni, erre nem térnék ki külön. Arra viszont igen, hogy a memória használat tetemes lehet. A program egyik gyengesége, hogy minden egyes alkalommal, ha elfogy a rendelkezésre álló memória, akkor a korábban használt memória mennyiség kétszeresét foglalja le. Ez egyrészt gyorsítja a programot, viszont elég hamar feléli a gép erőforrásait, akár csak a mesebeli sakktábla a király vagyonát.
Ha ilyesmivel van dolgunk, megpróbálkozhatunk a jellyfish használatával, ami szintén egy kmer alapú eszköz, a KAT is ezen alapul. Nem olyan gyors, viszont tapasztalatom alapján kevesebb memóriával is beéri, az általa elkészített kmer táblázatot pedig a KAT is képes olvasni.