HTML

Az élet kódjai

Csináld maga. Senki nem csinálja meg helyetted.

Friss topikok

Nirvana kimenet

2024.03.03. 22:37 Travis.CG

Bár egyre kevesebb szükség van a tudásomra, azért néha akkor is segítek, ha nem kérik. Legutóbb arra kértek, hogy egy R szkriptet futtassak a szerveren, mert a PC-n ahol eddig futott, túl lassú. Fél óráig dolgozott fel egy JSON fájlt. Eddig simán kivárták a fél órát, de amikor tíz fájlt kellett konvertálni, már elfogadhatatlan volt a sebesség, amit ráadásul csak szekvenciálisan futtattak.

Nem tudtam elképzelni, miért tart fél óráig egy JSON konvertálás, de biztos voltam benne, hogy nem a szerverre telepítés a megoldás. Mivel az R mindent memóriában tárol, a JSON nem lehet nagy, hiszen egy egyetemi tucat PC-n futott. Ebből arra következtettem, hogy a kóddal lehet gond. Gondoltam, át kellene írni másik programozási nyelvre a szkriptet, mert az R nem a legjobb szöveg feldolgozásra, másrészt még egy egyszerű ciklus is tetü lassan fut rajta.

Közben kiderült, hogy a JSON-t a Nirvana nevű program generálta. Az Illuminánál próbálták kiváltani a szószátyár VCF-t egy kompaktabb formára, ennek eredménye lett ez a JSON. Ez viszont nem Excel-barát, ami a kutatás No 1. szoftvere. Ezért írták az R szkriptet.

A doksi átböngészése után tudtam, hogy a Nirvana JSON fájlja három részre tagozódik a fájl: Az első egy fejléc, a második a variációkat írja le a genomon, a harmadik rész pedig a gén annotáció.

Megnéztem a szkriptet is. A szkript azért volt lassú, mert minden egyes genomi variáció esetén bejárta a gén annotációt is, ahelyett, hogy egy lookup table-t hozott volna létre. A saját implementációm Pythonban készült, semmi extrát nem tartalmazott, csak letároltam a géneket egy hash-be, és tadá! 3 perc alatt lefutott egy 140MB-os fájlon.

A kollégák annyira nem értékelték, továbbra is jól elvannak a szerveren futó R szkriptjükkel, ami hétvégére jó kis elfoglaltságot ad a szervernek. Ha valakinek még szüksége lenne Nirvana parszolásra, itt megtalálja.

Szólj hozzá!

Címkék: bioinformatika

A bejegyzés trackback címe:

https://cybernetic.blog.hu/api/trackback/id/tr2118339199

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása