Vannak jó bioinformatikai pipeline-ok. Vannak tűrhető bioinformatikai pipeline-ok. És van a FROGS.
A FROGS rettenetes, de ez valami miatt senkit nem gátolt meg abban, hogy a Galaxyba integrálják, mert így el lehet fedni az összes hiányosságát. De kezdjük az elején.
A FROGS-ban semmi egyedi ötlet nincs. Az összes funkció, amit nyújt, más programok végzik, de ezt nem látjuk az ezeket elfedő Python szkriptek halmazától. Adaptor eltávolítás? Van egy szkript, ami meghívja a cutadaptot. Szekvencia klaszterezés? Van egy szkript, ami meghívja a swarm-ot. Taxonómiai meghatározás? Van egy szkript, ami meghívja a BLAST-ot. Kérdem én, miért ne futtathatnám ezeket a programokat egy Snakemake-ben magam?
Azt gondolhatnánk, hogy talán van egy egységes telepítő, ami ezt a sok, mások által megírt programot feltelepíti, de nem. Bár a pearl kivételével mindegyik teljesen ingyenes, még akkor sem kerül fel a gépünkre, ha conda-n keresztük installáljuk a FROGS-ot (például a cutadapt benne van a conda-ban is, csak be kellett volna írni a függőségek közé). Ráadásul, ha kézzel telepítjük, még csak arra sem vették a fejlesztők a fáradságot, hogy legalább kiírja a program, ha egy komponens hiányzik.
Ha valami hiányzik, az futás időben derül ki. A program szép logokba írja őket, amiket a futás végeztével letöröl. Minek vannak ezek a logok, ha utána nem lehet elolvasni őket? Persze, ilyenkor kell a --debug opció, de miért kell kétszer lefuttatnom valamit?
Mondhatják nekem, hogy "talán a sok szkriptet összefogja egy mester szkript, és csak azt kell elindítani". Rossz hírem van. Minden egyes szkriptet a felhasználónak kell elindítania. Itt kerül elő a FROGS másik nagy hiányossága. Ugyanis nincs leírva, mi a nevük a nyomorult szkripteknek, és mi a javasolt futtatási sorrend. Az egyetlen fogódzkodó ez. Csupán elavult, más baja nincs. Például a tény, miszerint nincs filters.py egy GitHub-os issue-ból derül ki, amit lezártak, mert megoldották a problémát.
A program rengeteg adatbázist használ, ami csak itt van. Melyik mire való? Találd ki! Esetleg használd a Galaxyban, hogy ész nélkül lehessen klikkelgetni.
Esetleg úgy gondolod, hogy a program teljesítménye kárpótol mindenért? Nem. Tíz processzort használva három napig futott egy hibás szekvenálási soron (az egy külön sztori lenne, hogy mitől hibás, de elég az hozzá, hogy a gép áteresztő képességének csupán töredékét kaptuk vissza). Kíváncsiságból ugyan ezt az adatot beadtam a Kraken alapú helyi elemző apparátusomba, ami egy ősrégi HP szerveren fut 4 maggal. Kb. fél óra alatt megvolt minden eredmény.
Szóval, ha valaki arra kér, hogy elemezzünk metagenomot FROGS-al, csak egy válaszunk lehet.
Közben rájöttem a Docker és Conda alkalmazásának egy új lehetőségén. Ezek az eszközök nem abban segítenek, hogy könnyű legyen a telepítés, netán megismételhető legyen az elemzés. Ez úgysem érdekel senkit. Ezek az eszközök arra jók, hogy a FROGS-hoz hasonló förtelmeket nyom nélkül eltakaríthassuk, és azt is elfelejtsük, hogy valaha használtuk. Ne maradjon utánuk SEMMI.