IMPérium vrací úder
Před více než rokem jsem zprovoznil Human IMPs, webovou aplikaci vytvořenou za účelem (popravdě řečeno) mít možnost ukázat nějaké svoje dílo při případných pohovorech při hledání IT-orientované práce. Sice mám nyní tu IT-orientovanou (druhou) práci, ale časem se ukázalo, že to dílko je trochu mdlé a potřebuje oživit.
Human IMPs je určená k rychlému vyhledání informace, zda je daný protein transmembránový. Tedy zda má transmembránový alfa helix, což je sekundární struktura proteinu v dané části sekvence, která prochází lipidickou dvouvrstvou v nějaké části buňky. Zjištění této informace je poněkud netriviální kvůli tomu, že tuto informaci nelze jednoznačně určit nějakou metodou přímého pozorování či měření, ostatně onen protein není v té membráně fyzicky ukotven ničím jiným než hydrofobní interakcí, což je v zásadě taková anti-interakce. Je možné tedy vycházet ze dvou zdrojů: anotace v databázi Uniprot (která čerpá z dat, které do ní vloží kurátoři a leckdy jí nejasně ozdrojují), a nebo z predikčního algoritmu. Predikční algoritmy predikují na základě proteinové sekvence a jejich výstupy se sice značně překrývají, ale neshodují. Abyste nemuseli zaměstnávat algoritmy, ať už na webu nějaké instituce, nebo na vlastní mašině, je tu pro vás Human IMPs.
Aplikace existuje ve dvou verzích, jako standalone pythonová aplikace Transmembrane Proteins 3000 založená na Flasku, která má datasoubory (= již hotové predikce mj. vytahané pomocí tohoto wrapperu) uložené jako csv, tsv a texťáky, a jako víceméně totožná webová aplikace integrovaná do tohoto webu (rovněž Flask) pomocí Blueprint.
Nyní přinášejí Human IMPs několik novinek:
- před pár měsíci jsem přidal grafický output (ano, předtím to opravdu vyplivlo jen čísla, a když jsem to prezentoval na pidikonferenci, lidem se to dost nelíbilo) a schopnost batch inputu
- nedávno jsem přidal další dva predikční algoritmy jménem TMBED a TOPCONS – u obou byl celkem problém dovést je do konce kvůli různému klekání běžících procesů z důvodů nedostatku paměti. A to dokonce i na cizí GPU přes Google Collab. Inu celý proteom je celý proteom. Ale nalezl jsem řešení.
- Human IMPs nyní tahají informace nikoli z tabulek a texťáků, ale z PostgreSQL databáze, což zaručuje bleskové fungování (a nutnost předvádět výsledky predikcí do databáze).
Do budoucna plánuju přidat další algoritmy a taky výpočet nějakého konsensu (ačkoli ten TOPCONS je sám o sobě konsensus asi osmi ještě dalších algoritmů, heh). Existují určité pochybnosti, že ten konsensus bude mít jakejkoli smysl, ale tak co jako, smysl je furt tak trochu i vůbec vytvořit dílo...