HTML

Az élet kódjai

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

Friss topikok

  • sdani: Sajnos nekem is hasonló érzéseim vannak az R kiszorulásával kapcsolatban. Remélem jobban fogja tar... (2024.04.29. 10:48) R meetup
  • sdani: Nagyon jók ezek a bejegyzések! Feszültséggel teli, fordulatos, mint egy jobb krimi. :D Abba ne hag... (2024.04.29. 10:35) Wgel CTF
  • sdani: @Travis.CG: Egy kis szerencse sosem árt. :D (2024.03.01. 13:19) A bioinformatika helyzete 2024-ben
  • Travis.CG: Szóval az akadémiai szféra mazochistává tett, amit a Pinephone-al élek ki? Hmm, érdekes összefüggé... (2023.10.05. 18:23) Új barátom az Informatikai titkárságról
  • Travis.CG: Túl nagy a hype körülötte, ezért túlzó elvárások vannak vele szembe. Ha a korábbi chatbotokhoz kép... (2023.02.28. 06:28) chatGPT, a bioinformatikus

Rejtett bioinformatikusok

2016.10.19. 01:25 Travis.CG

Aki álláshirdetések útján akar bioinformatikust találni, nem jár sikerrel. Azzal a furcsa érzéssel ér véget a keresés, hogy talán nincs is Magyarországon bioinformatikus. De ez nem igaz. Egyszerűen csak rossz a módszer. A Hidegháború idején sem úgy keresték az alvó KGB (vagy a másik oldalon a CIA) ügynököket, hogy feladtak egy hirdetést. A macsó filmekből ismert módszer sem válik be:

- Hogyan találjam meg?
- Sehogy, majd ő talál meg téged.

De ez nem jelenti azt, hogy nem lehet megtalálni őket. Mint ahogy a lámpa fénye is odavonzza az éjjeli rovarokat, úgy egy megfelelő csali kivetése után azt vesszük észre, hogy bioinformatikusok özönlenek minden felől. De mi lehet megfelelő csali egy bioinformatikusnak? Egy meetup!

Az internetnek hála máris tobzódhatunk a bioinformatikusok között, mint kisgyerek a labdamedencében. A tagok profilját átnézve senki ne lepődjön meg, ha nem talál kapcsolatot szekvencia feldolgozással, proteomikával vagy bármilyen olyasmivel, ami például ebben a blogban is előfordul. Ezek az emberek értik a dolgukat, hogyan maradjanak rejtve. Néhány embert akár még egy Excelt használó managerrel is össze lehetne keverni. Micsoda álca!

De most lefüleltük őket! Vége a játéknak!

1 komment

Címkék: filozofálás

Cseppet sem objektíven: Function 2016

2016.10.02. 02:15 Travis.CG

Már a második Function-t hagyom ki. Lassan már elvonási tüneteim lesznek. A kommentek nagyon visszafogottak voltak. Korábban bármilyen jó is volt a party, egyre-másra jelentek meg a negatív kritikák olyan egetrengetően fontos dolgokról, mint például a szponzorok megtapsolása. Idén semmi ilyet nem olvastam, aminek két oka lehet: vagy tényleg annyira jó volt a szervezés, hogy még a finnyás látogatók sem találtak semmi kifogásolni valót, vagy egyszerűen felnőtt a közönség. De nézzük meg, a látogatók mivel járultak hozzá a party színvonalához.

Zene

A zenék közül az Acid Blast vitte nálam a prímet. A szerzőről úgy rémlik még soha nem hallottam. Remélem a hetedik hely nem vette el a kedvét a további komponálástól/mixeléstől. Ha már a pörgős számoknál tartunk, Teo szerzeményét is meg kell említeni. A jól ismert stílust és tempót hamar felismertem, ötödik helyezése meglepett.

Grafikák

Ismét egy party alibi produkciók nélkül. Még a rangsor végére jutott képek esetén is az volt az érzésem, hogy az alkotók dolgoztak vele. Elárulok egy titkot. Amikor végignézem egy party anyagát, nem nézem ki készítette a képet, sőt a címét sem. Ha nem értem, mit látok, megnézem a címét és csak legvégül, mikor már az összes képet megnéztem, akkor rendelem hozzá a szerzőt. Persze, csak ha tetszik a kép. Néha már a kidolgozottság vagy a téma alapján felismerem az alkotót, de idén nagyon melléfogtam. Dorcy képéről simán azt gondoltam, hogy Unreal készítette. Unreal alkotása viszont enyhe deja-vu érzést keltett bennem, noha máig nem sikerült megfejtenem ennek okát.

Wild/Animáció

A két animáció szerintem gyenge volt. Az volt a - vélhetően túlságosan is magabiztos - érzésem, hogy ha nagyon felszívom maga, megcsinálom valós időben mindkettőt. A nyertes Raspberry Pi demó viszont fenomenális volt. Klasszikus elemekből építkezett, mégsem volt unalmas. Blueghost úgy tűnik megtalálta a neki leginkább fekvő platformot és minden tudásával azon van, hogy a végletekig kiaknázza annak lehetőségeit.

256b intró

Ezt a kategóriát külön tárgyalom a többi intrótól, mert egyrészt igen népes volt, másreszt elég kevés partyn fordul elő. Panaszra nem lehet ok. Volt szimulátor, attraktor, raytrace is. Rrola nyertes intrója a régi Linuxos képernyő pihentetőket idézi, természetesen jóval kisebb méretben. A második és harmadik, de még a negyedik helyezettnek sem kell szégyenkeznie, azok is legalább annyira jók voltak.

Intrók

Csak egy 64k intró volt, a Conspiracytól. A másik induló a kategóriában annyira gyenge volt, hogy nem is érdemes szót vesztegetni rá. Musk ennél sokkal jobbat tud. De visszatérve a nyertes alkotásra, a 2006-ban debütált és ikonikussá vált Chaos theory egyfajta újragondolása volt. Szándékosan nem használtam a remix szót, mert a jelenetek nem koppintásai voltak az elődnek. Körülbelül olyan kapcsolatban lehetnek, mint amilyen kapcsolatban az Unforgiven és az Unforgiven 2 a Metallicatól. Filmes témában nem tudok jó hasonlatot. Habár elismerem a Chaos theory érdemeit, a stílus nem az én világom. A Function-ös kiadás szép emléket állít a nagy elődnek.

A 4k vonalon viszonlag széles volt a spektrum. Voltak egyszerűbbek és kevésbé egyszerűek. A no xxit a Menger szivacsaival rögtön belopta magát a szívembe. Teljesen korrekt munka, megérdemelten nyert.

Demók

A nyertes demó egy vicces produkció aktuálpolitikai szatíra, de a lamer demóknál komolyabb technikai háttérrel. Személy szerint nekem nem jött be. Véleményem szerint a The experiment volt a legjobban kivitelezett alkotás. Volt egy kis történet is, amit könnyen lehetett értelmezni, az effektek csodaszépek voltak, kerek egészet alkotott minden. Végezetül ott volt a Gargaj Alternatív Demócsapat (The Adjective) alkotása. Kétszer néztem meg egymás után, ami elég ritkán esik meg velem. Azt hiszem, értem, miről szól, vagy legalábbis érteni vélem. A külső és belső világ konfliktusáról szól, ahol az egyén igyekszik megteremteni a belső békét, magában, mélyen, miközben a külvilág fokozatosan igyekszik behatolni és lerombolni mindent. De a végén a kamerák és mikrofonok mintha azt sugallnák, hogy mindezt egy médiaszereplő éli meg. Hmm, nagyon érdekes. Ennek kellett volna nyernie, még akkor is, ha a látványvilág nem olyan kiforrott.

Meg kell még említeni az utolsó helyezettet, ami a cseppet sem vidám Sosincs vége után egy kicsit megnyugtatja az embert. A Superior mind pozitív üzeneteket hordoz, kicsit propaganda-szerű, de nem bántó mértékben. Nálam kifagyott a vége, de talán lesz egy végső változat.

Szólj hozzá!

Címkék: demoscene

Úttörő munka

2016.09.26. 01:11 Travis.CG

Legfrissebb megjelent publikációnk igazi fejes ugrás az ismeretlenbe, mert a plazmidok és azok funkcionális elemeinek a keresése közben olyan módszerrel dolgoztunk, ami nem csak, hogy kiforratlan, de azon kívül, hogy "tök baró", nem is tudtunk semmit. Igen, a MinION szekvenálóról van szó.

Mint arról már beszámoltam, két csoport is csatlakozott a MinION Access Programhoz (MAP), aminek keretében kütyüket kaptunk. A csoport azt remélte, hogy egy transzpozon elemekkel átitatott megaplazmidot a hosszú readekkel megszekvenálnak és feljavítják az Illumina readekkel összerakott scaffoldokat.

Nem volt sok probléma, leszámítva a könyvtár előkészítési protokolt, a flowcell-t, a szekvenálót, a DNS-t, a basecall szoftvert, az Oxford Nanopore ügyfélszolgálatot és a tényt, hogy a munka kezdetén egyetlen olyan alkalmazás sem volt, amit MinION-ra terveztek volna. Ennek ellenére belevágtunk és a többi MAP taggal együtt próbáltuk használni a szerkezetet.

Tényleg élveztem a MinION-al való munkát, annak ellenére, hogy igazából egyetlen innovatív fejlesztéssel sem járultam hozzá a közösség munkájához, sőt az igazi szekvenálási sikereket is akkor érte el a csoport, miután eljöttem. (Nehogy messzemenő következtetéseket vonjon le bárki is!) Talán abban mérhető az én szerepem, hogy igyekeztem meggyőzni mindenkit, hogy ne lépjen ki a programból és a sorozatos kudarcok ellenére is fizessék ki az újabb flowcelleket.

De ezekből a kudarcokból tanultuk meg például, hogy a flowcellek nem tárolhatóak hónapokon át. Erről az igen fontos tényről például egyetlen blogbejegyzés vagy dokumentáció sem volt.

Ami viszont nagyon jó volt a projektben (a kütyüvel való játszadozás mellett), hogy bioinformatikusként úgy éreztem, a kutatás része vagyok, nem csupán egy gomba. Nem csak én adtam eredményeket nekik, ők is megosztották velem, amit találtak. Folyamatosan ment a kommunikáció, mindig tisztában voltam a projekt alakulásával.

Igyekeztünk meglovagolni a MinION hype-ot, amikor minden cikk magas impaktú lapban jelent meg, még akkor is, ha semmi értelmesről nem szólt, de sajnos a folyamatos kudarcok ezt nem tették lehetővé. De azért akkor is örülök neki, hogy van bizonyíték, hogy dolgoztam a szerkezettel.

Szólj hozzá!

Címkék: publikáció nanopore

Rendszer építés

2016.09.24. 07:51 Travis.CG

Majd három évvel az előző verzió megjelenése után itt az új Slackware. El is határoztam, hogy frissítem a rendszert. Ez egyáltalán nem volt egyszerű. Először is az optikai meghajtóm SATA kábele nem működik valami jól, valószínű a számítógép külföldre költöztetése során megsérült. Mivel nem egy komoly tétel, ezért a "majd később szerzek egyet" kategóriába esett, vagyis mindig találtam valami indokot, amivel elodáztam a beszerzést.

A másik probléma, hogy van egy csomó olyan fájl a gépemen, ami arra nem érdemes, hogy letöröljem, de annyira nem is fontos, hogy biztonsági mentést csináljak. Sehova nem tudtam őket átmásolni. Végezetül a Slackware rendszerem egy RAID 0-án csücsül (a boot meg egy RAID 1-n), ami teszi a dolgát, nem kellene bolygatni.

Először csináltam a gyökérbe egy biztonsági másolatot a HOME könyvtárról és még néhány configurációs állományról, bemásoltam a Slackware ISO-t is, majd ezeket kivéve letöröltem mindent. Most már nem volt visszaút. A telepítő lemezen volt egy telepítő boot fájl, azt USB meghajtóra másoltam, majd elindítottam róla a rendszert.

A telepítő gond nélkül elindult. Mivel a partícionálás már megvolt, ezért rögtön a rendszer telepítésére ugrottam. Mivel a csomagok az ISO-n voltak, azt felcsatoltam:

mount slackware.iso /mnt/dvd -o loop -t iso9660

Megadtam a RAID 0-t gyökér partíciónak, a RAID 1-t bootnak (utóbbit formáztam is), majd jött a csomagok kijelölése. Erre számtalan opció van. Le lehet tölteni netről, kereshetem pendrive-n, vagy előre felcsatolt könyvtárban. Itt volt néhány felesleges köröm, mert a doksi szerint elég a csatolási pontot megadni (/mnt/dvd az én esetemben), de ez nem igaz, a könyvtár helye kell. (/mnt/dvd/slackware64) A rendszer persze nem ad semmilyen hibaüzenetet, de gyanús volt, hogy a csomagok felmásolása kb. 4 másodpercet vett igénybe.

Miután erre rájöttem, a rendszer szépen települt. Még a Lilo felpakolása sem volt gond, bár automatikusan nem ment, kézzel kellett megadni a Linux és a boot loader helyét.

A telepítő nem piszkálta a félretett fájlokat, azokat az első indítás után visszamásoltam a HOME-ba, és kész is voltam.

Eddig az NVidia meghajtó telepítése sem okozott gondot, de az új Slackware is beállt a sorba és a nouveau driverrel érkezik. Ez a két meghajtó program nagyon nem szereti egymást. Szerencsére az NVidia telepítője szépen kikapcsolta.

Az egyetlen dolog, amivel gondom volt, a CUDA SDK telepítése. Kiderült, hogy a C++ fordító túl új, vissza kellene mennem a 4.9-es verzióra. Ahol ugye csomagkezelő van, ott ez nem probléma, de Slackware alatt egy kezdetleges van, függőség kezelés nélkül. Ezért úgy döntöttem, kézzel fordítok egy GCC-t. Olyat még úgysem csináltam.

Egy fordító fordítása érdekes folyamat. Három lépésből áll. Először kell fordítani egy GCC-t (a rendszeren található GCC-vel), majd az a GCC lefordítja önmagát, és ez a másodszor fordított GCC ismét lefordítja önmagát. Közben összehasonlítja, hogy a másodszor és harmadszor fordított fordító ugyan az-e. Végül lefordítja a könyvtárakat.

Először a 4.7-el próbálkoztam, de az hibával elszállt. Végül egy 4.9-t fordítottam, mert gondoltam az verzió számban közelebb van a telepített GCC-hez. Jó másfél órát izmolt a gép, mire mindent lefordított. Az új GCC-t az /usr/local/gcc-4.9 könyvtárba pakoltam, és a verziószámot beállítottam suffixként, hogy meg tudjam különböztetni ezt a sok fordítót. A PATH környezeti változót pedig úgy állítottam be, hogy először ebben a könyvtárban keresse a binárisokat. Ezzel az egyszerű trükkel az nvcc előbb találja meg a neki megfelelő fordítóprogramot. Utána már a CUDA példaprogramok lefordítása sem okozott problémát.

Eddig egyszerűen megúsztam, hogy konfigurálnom kelljen a wi-fit, mert minden telepítőt leszedtem a munkahelyemen és hazavittem. Amire viszont most készültem, ahhoz a net elengedhetetlen volt.

A kernel szerencsére felismerte az USB-s wi-fi adaptert, a megfelelő modult is betöltötte. Az /etc/wpa_supplicant.conf fájlba fel kell vinni a kívánt hálózat adatait, az itt leírtak szerint. El kell indítani a wpa_supplicant programot, hogy csatlakozni tudjon. El kell indítani a dhcpcd wlan0, hogy kapjunk IP-t és már netezhetünk is.

Meg kell jegyezni, hogy igazán felemelő olyan környezetben dolgozni, ahol nem telefonál haza minden kis hülye alkalmazás, hogy adatokat gyűjtsön a felhasználói élmény növelése céljából. Mivel 1 Mb-es netem van, érezhető a különbség az Ubuntu és Slackware között (a Windows 10-ről inkább nem is beszélek).

Így már nekiláthatok a Torch telepítésének. A GitHubról leszedett kód igyekszik telepíteni a függőségeket. Van is egy szkript, ami Ubuntu, Fedora, ArchLinux, CentOS, elementary OS alatt fel is tesz mindent. Slackware persze nem támogatott, de ez nem is baj. Személy szerint ezért kedvelem ezt a disztribúciót, mert alapból benne van minden, ami egy fejlesztőnek kell. Megnéztem a szkriptet és két olyan függőségre volt csak szükség, ami nincs telepítve. Az egyik az OpenBLAS, a másik az iPython. Az OpenBLAS a Torch lelke, abban vannak a mátrix műveletekhez szükséges optimalizált könyvtárak. GitHubról simán felment. Az iPython viszont nem értettem, miért kell. Rövid gondolkodás után úgy döntöttem, az bizonyára csak akkor kell, ha valaki Pythonból akarja használni a programot, ezért azt nem telepítettem.

A Torch gond nélkül lefordult. Mivel ez is egyfajta programozói környezet, számtalan csomag van hozzá, amit külön kell telepíteni. A luarocks install fel is pakolt mindent, amit akartam, kivéve a cutorch csomagot, ami a CUDA támogatás lett volna. Valami oknál fogva megtalálta az új GCC-t, és nem a 4.9-t, ami a CUDA fordítónak kell. Böngésztem a netet megodás után kutatva, de mindenki csak azt javasolta, hogy szimlinkek kusza halmazával oldjam meg a problémát. Az nem jó. Aztán egy kósza gondolattól vezérelve létrehoztam két környezeti változót: CC és CPP, amit megfeleltettem a régi GCC-nek:

export CC=gcc-4.9.0; export CPP=g++-4.9.0

A telepítőt újra futtatva már nem volt több gond. Ha minden jól megy, egy új tematikával fog bővülni a blog...

Szólj hozzá!

Címkék: rendszergazda

Én megmondtam

2016.09.15. 00:18 Travis.CG

A blog lassan hat éve megy és eddig egyetlen konstans, mit sem változó üzenete van. Mégsem fogadjátok meg. Fogadjunk, hogy most is ott van a gépeteken. Megbújik, mint egy vírus, egy parazita. Talán azt gondoljátok, ezt, vagy azt a fájlt igazán megnyithatom vele, abból nem lesz baj.

Tévedtek! Soha nem szabad elindítani. Gondolni sem szabad rá, hogy elindítjátok. Sőt, arra sem szabad gondolni, hogy arra gondoltok, elindítjátok. Ez csak ahhoz vezet, hogy végül elindítjátok.

Most azt hiszitek viccelek. Szinte hallom, ahogy felsóhajtotok: már megint jön az Excel utálat. Hát már soha nem lesz vége? A válaszom: nem. Nem lesz vége, amíg meg nem szabadul az emberiség ettől a ragálytól.

Talán valami viccesre vártok, de csak szomorú dolgokat tudok írni. Ha arra a sok nyomorúságra gondolok, ami mind ennek a programnak köszönhető, sírni tudnék.

Még mindig nem hisztek nekem, de talán másoknak hinni fogtok. Például nekik. Ők is azt hitték, megnyitni egy táblázatos fájlt Excellel nem okoz galibát. Aztán a sok génnév átalakult dátummá. Sajnos ők még a cikk megírása idején a megvilágosodás korai szakaszában jártak és egy Linux shell szkripttel akarták orvosolni a problémát, ami elég furcsa megoldás. Hiszen ki fog átmenni Linuxra, csak azért, hogy Excel kompatibilissá alakítson egy táblázatot. A megoldás jóval egyszerűbb: Uninstall Excel.

Talán arra gondoltok, számolgatni még lehet vele. Tényleg? Ez a program még arra is alkalmatlan. Ez semmi más, mint a négyzetrácsos papír digitális megfelelője. De egy négyzetrácsos papíron legalább tudni lehet, mi van. Egy Excel táblában soha nem tudhatod, mi van. Semmi nem kényszerít rá, hogy egy munkalapon egy táblázat legyen és az emberek tudják ezt. Táblázat-szörnyetegeket alkotnak, amire a színezés teszi rá a koronát.

A színezés nem csak a színtévesztők és színvakok legnagyobb ellensége, hanem minden olyan embernek, aki adatokkal dolgozik. A színezésnek nincs értéke, nem adattípus, csak egy vizuális nyalóka, amire semmi további analízis nem építhető.

De nem csak a színezés, hanem a használhatatlan diagram típusok tömkelege is ott csücsül, értékes erőforrásokat elvonva a géptől. Évek óta köztudott, hogy a kördiagram rossz. Mégsem tud eltűnni az Excelből. Igaz, az Excel sem tud eltűnni.

De most ennek a cikknek hála talán egyre többen fognak ráeszmélni, hogy azokat a szoftvereket kell használni, amik az adott feladatra készültek, nem a hasznavehetetlen vackokat, amiket a merevlemez bugyraiból előbányászunk.

Szólj hozzá!

Címkék: bioinformatika

Mutáció keresés rákos mintákban

2016.09.10. 00:10 Travis.CG

SNP-k és más variációk keresése rákos szekvenciákban egy kicsit eltér a "hagyományos" variációk keresésétől. Először is, a ráksejtek genetikai anyaga más, mint a gazdaszervezeté, másrészt egyes ráktípusok, még ha fenotípusosan homogénnek tűnnek is, poliklonálisak lehetnek. Kicsit olyan, mintha egy populációt szekvenálnánk, de az egyedek DNS-e nem ekvimoláris mennyiségben lenne összekeverve.

Szerencsére számtalan eszköz áll rendelkezésünkre, hogy megtaláljuk ezeket az eltéréseket. A bemutatásra kerülő programokat használtam, vagy legalábbis megpróbáltam használni, de ezen a folyamatosan fejlődő területen akadnak még más kincsek is. Az összes bemutatásra kerülő alkalmazásnak van egy közös pontja, hogy bemenetnek nem csak a tumort, hanem az egészséges, úgynevezett normál mintát is kérik.

SNP-k, indelek

Crisp

A program korábbi verzióját gond nélkül használtam populációs minták vizsgálatára. A fordítása nem volt nehéz, de utána folyton sig faultolt. Nem kutattam a hiba okát, csak letöröltem.

LoFreq

Ezzel a programmal sem volt szerencsém. Már a fordításnál elakadtam. Itt sem jártam a dolgok végére, az rm parancs fájdalommentesen orvosolta a problémát.

deepSNV

Ez az R program fordult és futott. Viszont pontosan nulla variációt talált. Mivel a fejlesztő a szomszédban csoportvezető (EBI), elmentem hozzá konzultációra. A program akkor a leghatásosabb, ha legalább 100-as coverage van. Nekem egy kicsit kevesebb van. Egy másik potenciális gyengesége a programnak, hogy kis számú target esetén működik. Legalábbis minél nagyobb a vizsgált régió, a többszörös teszt korrekció annál alacsonyabb p-értéknél vág. Moritz szerint ennek ellenére exome adatokon is működnie kellene, nekem nem működött. És a cikk is csak egy kis régión teszteli. A program a nagy mélységgel szekvenált mintákban akkor is képes megtalálni a mutációkat, ha azok poliklonálisak. Ezen eltérések könnyen összetéveszthetőek a szekvenálási hibákkal, ezért a normál mintát használja annak megállapítására, milyen gyakran téveszt a szekvenáló.

Caveman

A programot házon belül fejlesztették. Egy TCGA konferencián, ahol a nagy intézetek algoritmusait hasonlították össze, ez a program találta a legkevesebb fals pozitív variációt. Sajnos nem is talál meg mindent, ebben a Broad Institute alkalmazása ebben jobb. Az erőforrás éhsége pedig óriási. A pipelinunk 32 szálon futtatja a mintákon, hogy időben legyen eredmény. (Szálanként 3GB memória kell neki.) Egy külsős partner megpróbálta saját gépre telepíteni, két hétig ment a levelezés, mert mindig volt valami gubanc. (Helpdeskesként pont belecsúsztam én is a beszélgetésbe. Végül kiderült, hogy egy 250 GB-os BAM fájlon akarta futtatni.) Szóval nem rossz a cucc, de parancssorból nem akarom futtatni.

Pindel

A Caveman csak SNP-ket keres. Indel keresésre a Pindelt használjuk. Ezt sem futtattam még parancssorból. Nálunk a kutatók nagyon óvatosan kezelik az általa nyújtott eredményeket, mert elég magas a fals pozitív találati aránya, de ez a legtöbb indel kereső alkalmazásra igaz.

Mutect

Ez a program nagyon szimpatikus volt. Először is működött, ami a sok frusztráció után igazán üdítő volt. Viszonylag gyors, nem kell neki sok erőforrás, megtalál mindent, de a fent említett konferencián azt találták, hogy nagyon sok téves találatot is visszaad. Egy másik negatívum, hogy az általa produkált kimenet egy táblázat, nem VCF, mint amit egy variáció kereső programnál elvárnánk.

Struktúrális variációk

Delly2

Ezt a programot is nagyon kedvelem. Telepítése elég egyszerű, futtatása egyértelmű. Bemenete BAM fájl, kimenete VCF, nem kényes a bemeneti fájlra A fórumok szerint transzlokációk keresése kegyetlenül lassú rajta, én ilyet nem tapasztaltam. Mindegyik variáció típusra közel azonos sebességgel futott. Az első futás eredményét minden esetben érdemes szűrni (a programban van erre beépített opció), mert azokat a variációkat is visszaadja, ami a normál mintában is előfordul. Nem teljesen világos számomra, miért kell külön futtatni a szűrést, mert így egy genomon 10-szer kell lefuttatni. Az összes variáció típushoz külön kapcsoló van, plusz a szűrés.

Brass

Ez is része a pipeline-nak. Webes felület ide vagy oda, nekem ezt a programot még nem sikerült futtatni. Ha épp nem a bemeneti adat volt alkalmatlan a programnak, akkor a farm nem fogadott új kérést, vagy új release volt, amitől kinyírták az épp futó elemzéseket. De az ötlet egészen jó benne. Először a read párok méret eltérését veszi alapul, majd a nem illeszkedő readek alapján a Velvet segítségével új kontigokat gyárt és azokat teszteli, mint lehetséges inszerciókat. A futási ideje ennek megfelelően hosszú.

Szólj hozzá!

Címkék: bioinformatika

Cseppet sem objektíven: Assembly 2016

2016.09.02. 00:10 Travis.CG

A digitális szubkultúra Mekkájában ismét izzottak a GPU-k, villogtak a pixelek és a elektronikus zene a Földet is megrengette. De a padlót mindenképp. Idén a nagy nevek nem képviseltették magukat. Nem volt Fairlight, Panda Cube, Conspiracy. Vajon ez hogyan befolyásolta a party színvonalát? Rövidesen megtudjátok.

Zene

Idén is voltak remek zenék minden kategóriában. Egyeseknek még a 90 perces alkotási korlát sem volt akadály, hogy tempós zenét készítsen. Rayjan lehet, hogy új kedvenc lesz Almost című száma alapján. Aikapallo már régi motorosnak számít az Assembly történetében, követem is munkásságát. Ha a party közönsége idén nem is díjazta erőfeszítéseit, ezen blog szerény keretei között megkapja az elismerést. A szokásos rockos alapot most japános hangzással dobta fel.

Grafikák

Ebben a kategóriában is elég színvonalas munkák kerültek bemutatásra. Szerencsére elég kevés compo filler volt, így szerintem még a hátul végzettek is megéremlik, hogy legalább egy pillantást vessünk a képeikre. A posztba a fotó kompó nyertes képét linkelem.

Játékok

Ennyi pihent agyú játékot már régen láttam. A szimulátor láz már lecsengett a nagyvilágban, amikor értelmetlen küldetéseket kell végigjátszani kecskével, kenyérrel vagy más pihent agyú objektummal, demoscener fronton még továbbra sem unják a témát. De két szauna szimulátor egy compón? Ez azért sok, még akkor is, ha Finnországban vagyunk.

Videók

Fájdalom, de az idei film felhozatal gyenge volt. A HBC csupán egy tech-demót adott le, nem release-t. A szellemes videó számomra nem volt vicces. A 20 éves korosztály valószínűleg nem is érti a Superman-poént benne, legalábbis a kommentek alapján erre következtetek. A fenébe, öregszem.

Oldschool demók

Itt megint éreztem az idő vas fogát. A releasek többsége PC volt, nem Amiga, C64 vagy más 8 bites gép. A nyertes demó nagyon szépen kivitelezett alkotás, le a kalappal előtte. A többiek, még a két Amigas entry sem hagyott mély nyomot bennem.

Intrók

Két kategória is volt, ahol a csökkenő méretkorlát egyre nagyobb kihívást jelentett a résztvevőknek. A 64k valami miatt hiányzott. A 4k sem volt annyira erős, mint máskor. Persze az Outcast a maga egyszerűségével igazán látványos volt, de nem volt meg az igazi 4k érzés. Az 1k már más tészta volt, ettől az ember nem vár sokat, ezért bármit kap, elcsodálkozik. A Fulcrum intrója azért tetszett, mert ha nem is volt története, nagyon közel állt valamihez, amit akár sztorinak is felfoghatok. Más szavakkal szólva ebbe bele tudnék magyarázni valami összefüggést.

Amit még szeretnék kiemelni, hogy voltak Linuxos intrók. Ez külön öröm volt számomra. Még az 1k-k között is akadt!

Demók

Kicsit felemás érzésem volt a helyezéseket és a pouet.net kommenteket olvasva. Esztétikailag az első négy helyezett szerintem nem szégyenkezhet. A Pyrotech demót sokan leszólták, hogy random jelenetek vannak egymás után, ami igaz. De szerintem az első helyezett sem sokkal jobb. Két jelenet váltakozik, majd a végén egy laza kapcsolattal összehozzák őket, amitől mindenki elalél. Technikai szempontból viszont a Pyrotech igenis magasabban áll, az Unreal Engine-t használó első helyezett, még akkor is, ha valószínűleg semmit nem módosítottak a kódon az eltelt évek során. Érdekes, máskor mindig mekkora probléma volt, ha játék engine-el készítenek el valamit. Most meg a saját fejlesztésű motort szólta le a közönség. Változik a világ, kérem. Én bátorításnak azért is a Pyrotech demót linkelem be. Az Unreal maszatot meg keresse meg, aki akarja :-)

Összegzés

Azt hiszem, amit itt láttunk, egy átalakulási folyamat köztes állapota. Egyfelől az igazán profik már a saját üzletükkel foglalkoznak, nem érnek rá demókat kódolni. Akik eddig a második vonalban voltak, most előrébb kerültek. A kódolás szerepe háttérbe szorult, még azt is csak kevesen kifogásolták, hogy a második helyezett csapat egy fél Qt keretrendszert pakolt a demó mellé. Harmadrészt a nagy nevekkel együtt a nagy multú platformok is visszavonultak, hiszen a fiatalabbak gyerekkorát nem az Amiga határozta meg, hanem a korai PC-k.

Végezetül itt a link a teljes anyagra.

Szólj hozzá!

Címkék: demoscene

Villany Leó

2016.08.31. 00:52 Travis.CG

Vannak eszközök, amiket nem arra terveztek, hogy kikapcsolják. Ilyen a hűtőszekrény, a nukleáris meghajtású tengeralattjáró vagy egy 20 ezer processzoros szuperszámítógép.

Ezen a hétvégén mégis pont ezt tették. Az egész hóbelevancot lekapcsolták a Sanger teljes infrastruktúrájával egyetemben. Egy számítógép kikapcsolása a virtuális memória megjelenése óta bonyolultabb lett a kávéfőző lekapcsolásánál, egy computer farm lekapcsolása pedig még ennél is bonyolultabb.

Miért is? A nagy gép sokkal több áramot vesz fel. Annyit, hogy a vezetékek eltávolítása egymástól (ami minden kapcsoló alapja) ívet képezne, vagyis a levegő is vezetővé válna és szépen világítana egy Hold nélküli estén. Vészleállításhoz van egy ilyen kapcsoló és állítólag egy tábla is, amin az áll: Soha ne használd!

Nem is ezzel kapcsolják le a rendszert. A lekapcsolás előkészítése fél évvel ezelőtt kezdődött. Az intézeti infrastruktúra elég bonyolult, számtalan adatbázis, nyilvántartási rendszer fut, de manapság már a PCR vagy a mikroszkóp is netre van kötve, a rendszerek különböző alá- és felérendeltségben vannak.

És végezetül ott van az egész tetején a legkényesebb, leglogikátlanabb, legkevésbé dokumentált, legkezelhetetlenebb, legidegesítőbb eleme az egésznek: a felhasználó.

Mikor februárban az IT bejelentette, hogy leállás lesz, ahol MINDENT lekapcsolnak, állítólag megkérdezték, fog-e menni a levelezés? Nem - jött a válasz. Fog-e menni a szekvenálás? Nem. Lehet távolról dolgozni? Nem. Ekkor érezhetően pánik kezdett eluralkodni, ami semmivé foszlott, amint kiderült, hogy mindez augusztusban lesz.

Egy hónap múlva mindezt megismételték. Már nem volt pánik, de állítólag szóról szóra ugyan azokat a kérdéseket tették fel. Aztuán hónap elején a managerek végigjárták a csoportokat és akivel csak találkoztak, elmesélték nekik, mire számítsanak.

Elkezdtek megszaporodni a levelek, ahol arra figyelmeztettek, hogy bizony itt mindent lekapcsolnak, ne sok jóra számítsanak. Először csak a havi összefoglaló levelek egy fejezete szólt csak a nagy áramtalanításról, azután jöttek az IT levelei. Egy héttel a nagy esemény előtt már napi szinten kaptuk az információt. Egyes háttér intézmények külön levelet is küldtek, amiben arra figyelmeztettek, hogy a nagy lekapcsolás alkalmával ők sem tudnak egyetlen kérést sem teljesíteni.

A bioinformatikusok is kidolgozták saját ütemtervüket. Először a szekvenálást figyelő szolgáltatásokat kapcsolták ki. Utána letiltották az új analízis kérését, de a futó elemzéseket még hagyták. A farmon is leállították azokat a feldolgozási sorokat, amelyek hosszú ideig is futni engedték a programokat. Bejelentkezéskor figyelmeztető üzenet fogadott minden felhaszálót, mire számítsanak a jövő héten. Végül kézzel nyírták ki azokat a folyamatokat, amelyek úgysem fognak befejeződni.

Ekkor kiderült, hogy egy csoport masszív PCR kísérletet tervez. Nem foglalkoztak semmivel, mert ők úgysem használnak számítógépet. Csakhogy a plate leolvasó A laborban volt, a PCR B laborban, a kettő között meg egy UTP kábel néhány routerrel, switchel, amik szintén nem fognak működni.

Öt nappal a leállás előtt még volt olyan kutató, aki meglepődve vette tudomásul, hogy "valami leállításról beszélnek. Ez érint engem?" Biztos nem volt egyedül a problémával, mert másnap egy két méteres táblát raktak a tudományos élet központjába, a kávézóba, rajta a legtöbbet ismételt kérdésekkel.

Végül leállították az összes szolgáltatást és eljött a hétvége.

De az igazán nagy kihívás nem ez volt. Hiszen van vészleállító, ha nagyon akarják, pár perc alatt lekapcsolhatnak mindent. Mint említettem, ezeket a gépeket nem azért készítették, hogy lekapcsolják. Az igazi ok az, hogy baromi nehéz úgy visszakapcsolni mindent, hogy úgy működjön, mint kikapcsolás előtt. Ezért nem volt még ilyen akció a kampusz történelme során. Ezt mindenki tudja és nincs senki, aki arra számítana, hogy ez zökkenőmentes lesz.

Az IT már reggel hatra bement dolgozni. Áram alá helyezték a gépeket és reménykedtek benne, hogy nem lesz sok hardver hiba. A számítógépek ugyanis jó ideig egy bizonyos hőfokon működtek, de most lehültek. Előfordulhat, hogy nem fognak újra elindulni. De felkészültek tartalék hardverrel.

Azután ott vannak a szoftverek. Mindenki találkozott már olyan helyzettel, hogy egy program egy újra indítás után nem működött. (Ekkor persze újra indítunk valamit, de egy Sanger méretű infrastruktúránál nem mondhatjuk azt: Bocsi, valamit elírtam a konfig fájlban. Nem indítanátok újra mindent a kedvemért? Na, ne legyetek már ilyen izék!) De talán négy óra elég lesz, hogy minden zűrt elhárítsanak.

Reggel 9-re a net helyreállt, 10-kor már egyes weboldalak is működtek, 11-re már e-mailezni is lehetett. A farmra 14.00-kor tudtam először belépni. Mint kiderült a virtualizációs környezet indító szkriptje 10 másodpercet vár a számítógépek indítása között. Ezért tartott 6 órán át az indítás. Ezt leszámítva nem hallottam egyetlen komoly fennakadásról sem.

Ettől függetlenül elgondolkodtatott, mennyire a nettől függünk. Nem csak mi, bioinformatikusok, és nem is csak a tudományos élet szereplői, hanem a mindannyian. Pár hónapja volt egy nagy vita arról, szükség van-e a kézírásra, vagy nincs. A régi iskola képviselői bőszen hangoztatták, hogy milyen hasznos a kézírás, mert ha valami miatt nem működnek a számítógépek, akkor kénytelenek vagyunk visszatérni a kézíráshoz.

A leállás alkalmával mindenki tudott írni, mégsem tudtunk csinálni semmit. Ezzel nem azt akarom mondani, hogy nincs szükség a kézírásra, csupán azt, hogy jelenleg a számítógépek nem helyettesíthetőek papírral és tollal.

Szólj hozzá!

Címkék: filozofálás rendszergazda

Nincs megállás

2016.08.25. 08:01 Travis.CG

Következő bejegyzés olvasása közben javaslom ennek a hallgatását. Végtelenítve, ha lehet.

Szerencsés vagyok olyan szempontból, hogy mindig épp időben kapcsolódok bele egy-egy munkába. Ez volt a mangalica cikknél is és ez történt itt, a Sangerben is. A munka nehezét, vagyis az egerek felnevelését, a sejtek mikroszkópos nyomon követést már megcsinálták, mielőtt megérkeztem volna. Az expressziós vizsgálatok egy része is megvolt, így nekem elég könnyű dolgom volt.

Olyan szempontból is könnyebb volt a dolgom, hogy nem kellett több százszor megcsinálni ugyan azt az ábrát, mert a PhD hallgatók különböző grafikai programokkal addig szerkesztik a képeket, ameddig a csoportvezető azt nem mondja, rendben. Természetesen, ha programozással egyszerűbb átalakítani a képet, akkor azt továbbra is nekem kell, de 10-20 probálkozás után valahogy mindig konszenzusra jutottunk, nem volt túl sok felesleges iteráció.

Eddig nem sokat írtam a főnökömről, de most ideje megtenni. Érdekes keveréke egy bohém művésznek és egy offenzívát vezénylő tábornoknak. Egyfelől, ha beszélgetünk, sokszor terelődik a beszélgetés a ködös jövőre, ahol oxigénmentes környezetben akar szöveteket vizsgálni vagy gamma sugarakkal bombázna állatokat (ez utóbbi terve egyébként kiverte a biztosítékot a managereknél, mert a cézium izotópot tartalmazó berendezésnek 24 órás fegyveres őrzést kell biztosítani.) De ha a kísérletekről van szó, valahogy minden egy irányba mutat. Már a kísérlet tervezése során arra gondol, vajon a reviewer mibe akar belekötni. És mindig szem előtt tartja az időt. Most is volt egy olyan gond, hogy az exome elemzések nem voltak elégségesek az egyik hipotézis alátámasztására, ezért azt javasoltam, csináljunk teljes genom szekvenálást is. Julia aggódott, hogy akkor soha nem fog elkészülni a cikk, mert mire kész lesz a szekvenálás, elemzés, utána küldjük csak be a kéziratot, stb. A főnök erre csak annyit mondott, a teljes genomot biztosan kérni fogják, mert ha ő lenne a reviewer, akkor ő is kérné. De attól még a kéziratot beküldjük, közben elindítjuk a szekvenálást, mire átnézik a cikket, az is lesz egy pár hónap. Az alatt meglesznek az eredmények. Csak álltam és néztem.

Végül az editor azt mondta, hagyjuk ki az exome eredményeket, de Phil már tervezte a következő cikket, amiben viszont benne lesznek. Semmi nem vész kárba. Máshol is jó lenne ilyen hozzáállást látni.

A kirtikához való hozzáállása is más az itteni kutatóknak. Korábban, ha valami baj volt a kézirattal, akkor egyes szerzők sok esetben (tisztelet a kivételnek, mert ilyen is volt) lehülyézték a reviewert: Minek akarja ezt? Nem tud olvasni? Ott van két bekezdéssel előbb leírva. Mit arcoskodik itt?

Itt ennek nyoma sem volt. Úgy tekintettek a kritikára, mint egy véleményre, amitől jobb lesz a cikk. Én egyébként úgy éreztem, az egyik reviewer nem kedvelhette a főnökömet, mert az esszé-szerűen megfogalmazott véleményében oda-oda szólogatott, de mielőtt felkaphatta volna az ember a vizet, mindig tompította valamivel az élét. Példának okáért kifogásolta, hogy megint az asszimmetrikus sejtosztódás két állapota a témája a cikknek, amit már egyszer megjelentettek ebben az újságban. Ha pedig egyszer már megjelent, akkor utána a csoportvezetők az összes ebből származó cikket ugyan abban az újságban jelentetik meg. Ez pedig milyen veszélyes a minőségre, bla bla bla. Majd a következő mondata: de ez nem a szerzők hibája, hogy ilyen a rendszer.

El is mondtam aggodalmaimat, de Phil csak mosolygott egyet és azt mondta: nem kell vele foglalkozni, nekünk az editort kell boldoggá tenni, nem a reviewert. Idézetnek is beillő félmondat. De meg kell jegyezni, a többiek azért rendesen megszenvedtek a cikkel. Emlékszem, hányszor láttam Juliát a gép előtt ebédelni, mert időre le akarta adni a javításokat, amiből azért rengeteg volt.

Végül minden összejött. Majdnem egy éve vagyok itt és már megvan az első cikk az itteni munkák egy részéből. Ez azért nem rossz. Az, hogy a Nature Cell-ben jelent meg, csak ráadás.

Szólj hozzá!

Címkék: publikáció

Sziszüphosz-cikk

2016.08.22. 00:06 Travis.CG

Végre megjelent a Science Nature Genome Biology BMC Genomics cikk. Az egész úgy kezdődött, mint egy mese: Egy PhD hallgató töménytelen mennyiségű chip-seq illesztés nézegetése után furcsa anomáliára lett figyelmes: A CTCF kötőhelyek orientációja bizonyos szabályszerűséget mutat. Nem volt terabyte-os memória a gépében, nem használt agyonbonyolított matematikai modelleket, mégis valami olyasmit vett észre, ami a nagyok figyelmét elkerülte.

Többen is csatlakoztak a munkához, dolgozgattak és kezdett egyfajta kép kialakulni, amire eddig senki nem gondolt. De ha csak ennyi történt volna, a posztnak vége is lehetne. Magasabb szinten kisebb konfliktus kezdett kialakulni arról, hogyan is folytatódjon a munka. Egyik oldalon a még több kísérletet pártolták, míg a másik oldal elégségesnek érezte a bioinformatikai munkát a publikáláshoz. A pontos részletek nem voltak világosak előttem, mert mindez Debrecenben történt, de valahogy így képzelem el:

Amíg ment a civakodás, megjelent egy cikk, ami jó időre lehűtötte a kedélyeket. Ezt az időszakot a depresszió jellemezte.

Már nem emlékszem pontosan, mennyi idő telt el, de lassan kezdett feltámadni a remény, hogy bár sok mindent leírtak, talán még maradtak hiányzó részletek, amit érdemes lenne leközölni. Az önbizalom is visszatért, mert nem kevesebbet tűztek ki maguk elé, mint hogy a Nature-be közlik le az eredményeket.

Ami eddig történt, azt csak a kispadról követtem nyomon. Akkor kerültem játékba, amikor a volt főnököm megkért, írjak egy szimulációs progit, amivel azt néznék meg, hogy ha véletlenszerűen összekeverik a kötőhelyek sorrendjét, akkor is ugyan azt az eredményt kapjuk-e. A szerzők száma is emelkedett, mert ha a Nature-be közlünk valamit, nem árt, ha van valaki, aki már publikált oda és csinált már ilyen szimulációt.

A program maga nem volt egy nagy csoda, összekeverte az adatokat, majd megszámolta, hányszor jön ki a hipotézisnek megfelelő sorrend. C-ben írtam, így a Matlabhoz szokott emberek igencsak meglepődtek, amikor egy hónap helyett pár nap alatt lefutott. Ez persze lehetőséget teremtett rá, hogy a különféle - sokszor ad-hoc - ötleteket kipróbáljanak. Néha már nem is tudtam, kinek, mi a kívánsága, csak létrehoztam mindegyiknek egy branch-et és azon dolgoztam. GitHub elbírta.

A másik sarkallatos pont a modellt reprezentáló ábra volt. Itt is ment a vita, kinek melyik ábrázolás és színösszetétel tetszik.

A sok megfeszített munka után a kézirat eljutott a Nature-ig, ahonnan csont nélkül visszapattant. Ekkor kezdődött a görög mitológiát megszégyenítő huza-vona. Cikk bement valahova, majd visszajött, átdolgozták a szöveget, új kísérleteket elemeztek, az nem tetszett a rewiewernek, kivették az eredményeket, ismét beküldték. Komolyan nem tudnám felsorolni az összes állomást, de a kézirat valamelyik állapotában megjárta a Science-t, Genome Biology-t, végül a itt kötött ki. Ezt én újra a kispadról figyeltem, mert közben munkahelyet váltottam.

Végül Sziszüphosz köve felért a hegyre. Vicces, hogy mivel a szerzők között vagyok, a Sanger heti cikk ajánlójában, mint "Staff paper" szerepel, pedig minden, amit csináltam, Magyarországon történt.

Szólj hozzá!

Címkék: publikáció

Így elemeztek exomot Ti

2016.08.15. 01:18 Travis.CG

Legutolsó Titines kalandom után a főnökség úgy döntött, keresnek valakit, aki megtaníthat rendesen exomot elemezni. Patrickre esett a választás, mert az ő eredményeire még a nagyfőnök Peter Campbell is elismerően füttyent.

Én az elején nem értettem, miért van erre az egészre szükség, különösen azt nem értettem, miért most és miért csak egy bizonyos projektnél jött ez elő, de úgy gondoltam, azért jöttem a Sangerbe, hogy tanuljak, ha pedig tanítani akarnak, nem szabad elzárkózni. Patrick sem értette pontosan, mit kívánnak tőle, de annak rendje és módja szerint eljött a megbeszélésre. Megjelent az egyik principális bioinformatikus is a csoportból, plusz két manager, akik az egészet kitalálták.

Arra kérték Patrick-et, mutassa meg, hogyan szokta elemezni az exomot, és lépésről-lépésre mutassa be az én adatszettemen. Patrick kinyitotta a laptopját és kivetített milliónyi titokzatosnak tűnő ábrát. Úgy éreztem, hogy itt valami valami olyat tanulok, hogy ha nem tapasztom be a fülem, a sok tudás azon fog kifolyni.

Patrick eltűntette az ábrákat és elkezdte bemutatni a lépéseket. Az első hasznos dolog egy előre megírt script volt, ami egy szekvenálási projekt összes VCF-jéből egy hatalmas táblázatot csinál, amiben minden minta minden adata szerepel. A VCF kriptografikus bejegyzései dekódolva külön oszlopba kerültek, amitől az egész sokkal átláthatóbb lett.

Ezt követően mindent betöltött egy Excelbe, amitől az arcomon megrándult egy izom, valahogy úgy, mint amikor Winnetou-t egy cölöphöz kötve kínozták ahol ez jelezte kínjai netovábbját. A táblázatot először a mutációt tartalmazó gének neve szerint sorba rendezte, megszámolta, hogy egy gén mennyi mutációt tartalmaz az összes szekvenált mintát egybe számolva. Csökkenő sorba rendezte a géneket a mutációk száma szerint, majd az első sort egy laza mozdulattal kitörölte, mert az volt a Titin, és mindig a Titin jön fel elsőre.

Patrick még beletekert a táblázatba, majd számomra teljesen ismeretlen géneket kijelölt és mielőtt megjegyezhettem volna a nevüket, kitörölte őket a táblázatból, mert azok hosszú gének és statisztikusan a hosszú gének több mutációt tartalmaznak. Végül összegyűjtötte a lista első 15-20 génjét és voila! Megvannak a driver gének! Én lopva a managerekre sandítottam, hátha valaki elröhögi magát, de nem tették. Őszintén szólva elkezdtem kényelmetlenül érezni magamat. Még mindig be akartam tapasztani a fülemet, de már nem azért, hogy a tudás ne távozzon, hanem, hogy ez a sok hülyeség be ne fészkelje magát oda.

Mi a gond a fenti módszerrel? Először is nem objektív. Akinek a zsebébe nincs egy mini-Patrick, az nem tudja mely géneket kell kitörölni. Ebből adódik a második probléma is: nem megismételhető. Ezt csak ez a kutató tudja megismételni. Ha publikáció lesz ebből, mit írok az Anyag és Módszerbe?

Ha ezt egy PhD hallgató adja elő, összecsavarok egy újságot és a fejére verek: "rossz, rossz, rossz". Ő viszont egy szenior kutató. Itt van már időtlen idők óta, én meg csak egy jött-ment kelet-európai vagyok. Végül is egy kutató intézetben vagyunk, talán észérvekkel rá tudok világítani a módszer hiányosságaira. Megkérdeztem, mi lenne, ha a találatok számát a gén hosszával normalizálnánk. Nem, az nem jó, mert elvesznek a rövid gének. Nem, mintha így nem vesznének el, de ráhagytam. Akkor azt kérdeztem, mi lenne, ha a szinoním-misszensz mutációk arányával kezdenénk valamit. Hiszen ahol több aminosav módosulással járó mutáció van, mint semleges, az nyilván fontosabb gén. Igen, ez így van, ezen Inigo dolgozik.

Ekkor két dolgot döntöttem el: szerzek szentelt vizet meg egy feszületet, hogy Patrickot távol tartsam magamtól és beszélnem kell Inigoval.

Egy labor megbeszélés után próbáltam beszélni vele. Sietett vissza a laborba dolgozni, de azt el tudta mondani, hogy a módszer lényege, hogy nem csak a gén hosszát nézni, hanem a kromatin állapotot, repeateket, meg még néhány paramétert. A szinoním mutációkkal egy negatív binomiális modelt készít és nézi, mennyire térnek el tőle a misszensz mutációk. Megkérdeztem néhány dolgot, amiből szerintem látta, hogy tök hülye vagyok, sietett is, ezért fogta a tollamat, a jegyzet füzetemet és a folyosón kb. 10 másodperc alatt odafirkantott egy fél R programot nyilakkal és matematikai jelzésekkel. Miközben írt, én éreztem, hogyan megyek össze. Mondta, hogy első sorban humánra készíti a programot, de kíváncsi, mit hozok ki egérre. Szabadkozott, hogy amit leírt nekem, az nem a teljes model, mert hiányzik belőle pár faktor. Mondtam, hogy szerintem még így is fényévekkel jobb, mint Patrick módszere. Ezzel egyet értett, majd otthagyott.

Három napig Wikipédiáztam, mire felfogtam a felét.

Szólj hozzá!

Címkék: bioinformatika

A tekintély elve

2016.08.07. 23:57 Travis.CG

Észre sem vettem, hogy még egy cikkem megjelent. Őszintén szólva teljesen megfeledkeztem erről a munkáról, csak a mindent behálózó internetnek köszönhető, hogy ez az apró sziporka feledésbe nem merült.

Ez egy elég marginális projekt volt, régen is történt, ezért elképzelhető, hogy nem minden részletre emlékszem pontosan.

Valamikor 2014-ben kaptam egy bakteriális szekvenciát, hogy rakjam össze. Elég kevés információ volt róla és a legfontosabb jellemzője az volt: nem tudjuk, mi ez. Ráengedtem a Mirát, ami több ezer kontigba összes is fűzte. Játszottam egy keveset a paraméterekkel, de nem sikerült ezt a hatalmas számot lecsökkenteni. A GC tartalom viszonylag szélsőséges volt, feltételeztem ez állhat a probléma hátterében.

A Blast sem nagyon tudott rokon fajokat találni, de az egyik kontigban egy kizárólag Thermophilus fajokra jellemző enzimhez igen hasonló ORF bukkant fel és jobb híjján kijelentettük, hogy ez bizonyára egy Thermobifida faj. Közben a bioinformatikai csapat új taggal bővült és ez lett az egyik projektje,  így nekem nem is kellett tovább foglalkoznom ezzel.

Ezután jött az első meglepő fordulat. Egy Szeged melletti szekvenáló cég már előttünk összerakta a genomot 5 kontigba, beannotálták és rányomták a Kész pecsétet. Nem értettem, miért kellett nekünk időt és energiát pazarolni az összeszerelésre, ha az már készen volt ( ráadásul pénzért ), de majd látjuk, nem ez lesz az egyetlen meghökkentő ebben a projektben.

Azért annyi eredménye volt a Mira-s játszadozásnak, hogy kiderült, a cég agyondícsért összeszerelő módszere hosszú kontigokat hagyott ki a végleges eredményből, többek között a fent említett ORF-t. Ezt a cég is elismerte és gőzerővel nekiláttak a rendszer javításának. A kommunikáció ismét elhalt, nem hallottam új híreket. Csak a bioinformatikus kollega dolgozott az annotációval.

A gondok akkor kezdtek jelentkezni, amikor az új munkatárs egy posztert akart készíteni az eredményeiből. A PhD jelentkezéséhez kellett volna, mint publikáció. Ekkor tűnt fel a színen a kooperációs partnereink főnöke, a mikrobiológia koronázatlan királya. De ha ez mind nem is igaz, valószínűleg ezzel a gondolattal szokott aludni menni. Rögtön meg is mutatta, milyen nagy ember. Nem egy vele egy súlycsoportban lévő embert hívott fel, hanem a szegény PhD hallgató jelöltet és leordította a fejét, hogy hogyan merészeli az ő szekvenciáit leközölni.

A beszélgetésnek az indokolatlan én-vagyok-a-jani attitüd mellet volt egy másik nagyon hasznos hozanata. Kiderült, hogy az elemzést, szekvenálást a prof már leközölte (illetve valami posztert alkotott). Hurrá! Nincs is jobb munka a felesleges munkánál. A párbeszéd valószínűleg felsőbb szinten folytatódott, mert legközelebb már arról volt szó, hogy kapunk egy új szekvenciát, amit összerakhatunk és az csak a miénk lesz. Itt már kezdtem elveszíteni a fonalat, hogy most mi kooperáló partnerek vagyunk, vagy ellenségek?

Az utolsó fejezet a történetben, amihez még közöm volt, egy megbeszélés, amikor tőlünk le akarták küldeni a PhD hallgatót, hogy tárgyaljon ezzel a proffal és a szegediekkel a munkáról. Ilyen elavult technikák, mint Skype, GoToMeeting szóba sem jöhettek. Amolyan lelki támogatásnak én is mentem, mert ha telefonban ilyen kedves ez az ember, vajon mit csinálhat egy személyes találkozó alkalmával? Élve boncol?

Ezt már soha nem fogom megtudni, mert a megbeszélésen, amit ő kezdeményezett, nem volt jelen. A másik oldalon is hasonló kompetenciával és döntéshozó felelősséggel felruházott emberek voltak, mint mi. Ennek az lett a vége, hogy nagyon jól megértettük egymást, de érdemi lépések nem születtek, mondván, mindent meg kell beszélni a főnökkel.

Végül létrejött ez a cikk, de egy kéziratot nem kaptam, se olyan úri huncuttságot, mint köszönő levél. Végiggondolva, tényleg ezért ment a harc, hogy megjelenjen egy újságban, ahol a kutya sem fogja látni? Tényleg egyeseknek így kell érvényesülni a tudományban? Remélem ez volt az utolsó ilyen "kooperációs partnerem".

Szólj hozzá!

Címkék: publikáció

Az utolsó dobás

2016.08.03. 23:51 Travis.CG

A csoportvezető hevesen dobogó szívvel nyitotta meg az e-mailt. Most végre kiderül, hogy elfogadták-e a cikket! A válasz rövid és lényegre törő volt. Bár nagyon udvariasan fogalmaztak, a cikket elutasították. A csoportvezető megnyitott egy új ablakot a gépén és elkezdte fogalmazni a levelet a többi szerzőnek.

Zsinórban a harmadik - gondolta, miközben ujjai automatikusan fogalmazták a szöveget. Ez a harmadik újság, ami képtelen megérteni az eredmény súlyát. Az idő pedig kevés. Most kell valami nagyot felfedezni, amíg kitart a pályázat és lelkesek a doktoranduszok. És amíg elég fiatal vagyok - szólalt meg váratlanul egy hang a koponyája hátsó szegeletében. Igen, közeledve az ötven felé, egyre kétségesebb, hogy hatalmas felfedezést tegyen, mert a növekvő adminisztráció, a pénz utáni hajsza minden kutatóból irodistát csinál. Irodisták nem tesznek felfedezéseket, csak aktákat tologatnak, aláírnak, iktatnak, mellékleteket töltenek ki, iratokat csatolnak más iratokhoz és próbálnak eleget tenni a többi irodista papír éhségének.

Nem, most kell feltenni életművére a koronát, amivel akár még akadémiai tagságot is nyerhet. A levél, amit a társzerzőknek írt, sokkal optimistább volt, mint a tények. Talán ő maga is elhitte a lelkesítő szavakat. Észre sem vette, hogy ugyan azokat a közhelyeket használja, mint két elutasítással ezelőtt.

Épp, hogy elküldte a levelet, amikor kopogtattak az ajtaján. Az egyik PhD hallgató volt, a csapat gerince. Az ő munkáján alapult az egész kutatás, ő fektette be a legtöbb energiát. A csoportvezető minden kérését teljesítette, méghozzá időben.

- Kaptam egy ajánlatot. A Baumann-csoportban kellene mutációkat elemezni - mondta az udvariassági formulák után.

- Még itt is rengeted munka van. Kicsit át kellene dolgozni a kéziratot, megtámogatnánk az eredményeket még több vizsgálattal, akkor biztosan el fogják fogadni. Nagyon jó lapba tudnánk leközölni. A legtöbb kutató teljesen rosszul közelíti meg ezt a kérdést. A mi hipotézisünk a jó.

- De az új kísérletek ellentmondanak neki. Most, hogy a módszerek pontosabb értékeket adnak, már nem látjuk olyan tisztán az eredményeket. Fél éve még megállta volna a helyét a hipotézis, de ma már nem.

- Azok teljesen rossz kísérletek, nem kell őket figyelembe venni. Az sem igaz, hogy pontosabbak a mostani eredmények. A régebbi adatokat kell keresni, azok a jók.

A PhD hallgató bágyadtan bólogatott. Nem vitatkozott tovább. Majd hozzátette:

- Két hónap múlva kezdek.

- Addig még rengeteg idő van. Összeszedem a gondolataimat, leírom, mit kell csinálni és ha meglesznek az eredmények, ismét beküldjük a kéziratot. Azt már nélküled is meg tudjuk csinálni, csak a vizsgálatok legyenek lezárva.

- Rendben.

Miután hallgatója elhagyta az irodát, a csoport vezető csak kicsit csüggedt. Nem baj - gondolta. Még van két másik ember, majd azok megcsinálják a szükséges elemzéseket. Közben újabb levele érkezett. A legutolsó pályázathoz csatolt B melléklet nem felelt meg a formai követelményeknek. Az új határidő péntek éjfél. Már majdnem felkereste a pályázat weboldalát, hogy elolvassa az új formai követelményeket, amikor megcsörrent a telefon. Az egyik professzor volt, akit eredetileg csak azért vettek be, mert megjelent egy cikke egy igen fajsúlyos lapban.

- Olvastam a leveledet. Úgy tűnik az összes magas impaktú laptól elutasítottak. Melyik újságot célzod meg?

- Még nem döntöttem, számtalan lehetőség van. Új vizsgálatokat fogok tervezni. Ez hihetetlenül nagy ötlet, két hónapja, mikor beszéltem Morrisonnal egy konferencián, ő is nagyon lelkes volt. Azt mondta, az eddigi eredményeink fele is elég lenne egy jó cikkhez.

- De az egészet elutasították. Háromszor.

- Sok nagyon jó cikket elutasítanak.

- Jó - zárta le a meddő vitát a professzor. Azért hívlak, hogy vegyél le a szerző listáról.

- Miért?

- Szerintem a leglogikusabb lépés az lenne, ha valami alacsonyabb impakt faktorú újságban közölnétek le. Én viszont nem akarok szerzőként szerepelni egy ilyen lapban. Egyébként sem érzem, hogy a hipotézis annyira jó. Minél többet gondolkodom rajta, annál több ellentmondást találok benne. Az új cikkek is egyre több részletet cáfolnak.

- Ezeket megbeszélhetnénk. Leírod az észrevételeidet és lépésről-lépésre átvesszük valamennyit...

- Már háromszor megtettük - vágott a szavába a prof - , de te makacsul kitartasz az eredeti elképzelésed mellett.

- Mert úgy van, látszik az eredményeken. Az az igazság.

- Ennek ellenére szeretném, ha levennél a szerző listáról.

Egy ideig még győzöködte a professzort, de az hajthatatlan volt. Udvariasan válltak el, de a csoportvezető mérges volt. Miért fordul mindenki ellene? Olyan sokat kér? Csak egy kis felfedezést akar tenni! Emlékezett mit érzett az első kísérletek kiértékelése után. Örömöt, mámort, mert minden érték összevágott, egy irányba mutatott. A hipotézis szinte kínálta magát. Akkor kellett volna megírni a cikket. Már nem is emlékezett rá, miért késlekedtek, de mire rászánták magukat, hogy leírják az észrevételeket, más kutatók teljesen ellentmondó képet kezdtek mutatni a jelenségről.

Lehet, hogy nekik van igazuk? Az anyagosztályról közben benézett egy nő.

- A rendeléseden a tételek összeget nagyobb, mint a havi kereted. Ki tudnál belőle venni pár dolgot?

- Mi a határidő?

- Háromkor el kell mennem, és még ma szeretném az összeset elküldeni.

- Jó, meglesz.

Rendelés és a pályázat formai követelményei. - gondolta. Mit is kéne csinálni a hipotézissel? A laborasszisztens kopogtatott.

- A szakdolgozók beszennyezték a puffert. Már háromszor csinálom meg a kísérletet és a pozitív kontrol sem működik.

- Biztos, hogy a szakdolgozók voltak?

- Csakis ők lehettek. Arra a vörös képűre gyanakszom.

- Ő két hete nincs itt.

Az asszisztens nem szólt semmit. A hallgatásával tartott ki hazugsága mellett. A csoportvezető túl jól ismerte már ahhoz, hogy tudja, észérvekkel nem megy semmire.

- Beszélek a szakdolgozókkal - ennyi elég is volt beosztottjának. Fölényes képpel távozott. A csoportvezető újra megpróbálta összeszedni gondolatait. Mit is kellene csinálni a kézirattal? Á, biztos, hogy jó a hipotézise! Nem kell azon semmit sem változtatni. Majd mások is meg fogják érteni a nagyszerűségét. Ismét megcsörrent a telefon. Gondolatának fonala újból megszakadt.

A nap végén, fáradtan ült a számítógép előtt, agyában próbálta összeszedegetni a gondolta-morzsákat, hogy elméletté ragassza őket össze. De minden próbálkozásra széthullottak. Ekkor mantra szerűen megismételte: cserben hagytak. Újra és újra nekilátott, hogy valami egységet teremtsen. Sikertelenül. Végül feladta a próbálkozást, csak a mantrát ismételte: cserben hagytak, cserben hagytak.

Szólj hozzá!

Címkék: irodalom

Túl szép, hogy igaz legyen

2016.07.24. 00:05 Travis.CG

Bárcsak így kezdhetném ezt a bejegyzést: Ez is egy munka, amit valakinek el kell végezni. Van benne valami vagány és törvényen kívüli. Sajnos csak azt írhatom: Ez is egy munka, mindenki utálja, mégis mindenkinek el kell végezni. Ez nem más, mint a hivatalos ügyek bonyolítása Magyarországon.

Történt ugyanis, hogy a nulla forintba kerülő számlavezetési díj (ami már régóta nem nulla, de ezt ne firtassuk), hirtelen megugrott, többre, mint amit én hajlandó vagyok egy banknak fizetni, ezért a számlatípus módosítása miatt bementem a bankba.

Az egészet a családlátogatás idejére terveztem, ezért nem a lakóhelyem szerinti fiókot látogattam, hanem egy 200km-re lévőt. Számot húztam és utána vettem észre, hogy egy ismerős, Géza is a fiókban van. Ő nem húzott számot, mert ha bankba megy, csak és kizárólag Kriszta segítségét kéri és képes háromnegyed órát is várni, csakhogy Kriszta szólítsa. Ezért is történhetett meg, hogy én hamarabb sorra kerültem, mint ő.

Maga a hivatalos rész gyorsan ment. Odaadtam a lakcím kártyát, amiből látták, hogy nem sok közöm van a városhoz. Megnézték a tranzakciókat, ahol látták, hogy fizetés bizony nem jön a számlára, amiből egy kedves, udvariassági beszélgetés kezdődött.

- Látom nem jön a számlájára fizetés - kezdte a hölgy.

- Igen, mert külföldön dolgozom.

- Mit dolgozik?

- Kutató vagyok.

- Mit kutat?

- Rákkutatással foglalkozom.

Még kérdezett pár dolgot a kinti élettel kapcsolatban, majd elbúcsúztunk. Végig mosolygott, nagyon kedves volt. Én nagyon örültem, hogy végre nem egy olyan embert fogtam ki, aki utálattal végzi a munkáját és aki számára az ostoba és az ügyfél nem rokon értelmű szavak.

Géza, este a feleségével még meglátogatott minket. Elmesélte, mi történt a távozásom után. Az ügyintéző átment Krisztához és megkérdezte, hogy ismer-e engem, mert én nem is ebben a városban élek, előadtam valami mesét arról, hogy külföldön dolgozom, meg tudományos munkát végzek. Csakis ellenőr lehettem, semmi más.

Szólj hozzá!

Címkék: életmód

Sundown party riport 3. rész

2016.07.18. 06:48 Travis.CG

A közönség már nagyon bemelegedett. Megkezdődtek a bekiabálások, ment a látottak folyamatos kommentálása. A Wild compó már ennek fényében zajlott. A Remember the 80s, ami a nyolcvanas évek slágereit hozte el Sinclairre már folyamatos éneklésre késztetett egyeseket. A Road to Sundown egy természetfilm képi világával készült, miközben Priester KindBarend biciklivel jött Hollandiából Angliába.

A blokk záróakkordja egy igazi csapatépítő játék volt. Egy Super Mario klónnal kellett játszani két játékosnak. Az egyik csak ugrani tudott, a másik csak menni, de a játék kezdetén még senki nem tudta, mi lesz a feladata. Amint kudarcot vallottak, jött a következő két játékos. A közönség folyamatos kiabálással adta az instrukciókat, gyakran nyomdafestéket nem tűrő stílusban.

Négy intró volt. Az i feel tran to you-ban egy vonat szemszögéből láthattunk egy 8 alakú pályát. Amikor a vonat a másik vágányra kanyarodott, az maga volt a gyönyörűség a nézők számára, pedig a grafika nem volt egy nagy eresztés.

Elérkeztek a demók! Először egy pénisszel felszerelt robot szerelmi életét ismerhettük meg, majd jött a mi alkotásunk. Minden simán ment. Az egész pont úgy nézett ki, mint a gépemen. Igaz, teszteltem is eleget. Még Aha-t is megkértem a party előtt, nézze meg nekem a release-t Ati kártyán, mert eddig az volt a nagy mumus nekem. Már csak arra vagyok kíváncsi, utolsók vagy utolsó előttiek leszünk.

A régi platformok demói már nem voltak olyan jók. Sok scroller, újra felhasznált effekt. Némelyiken el is bóbiskoltam. De a vidámság kitartott, egyetlen fujjogás sem volt, mindennek nagyon tudtak örülni.

Volt egy fél órás csúszás, ami a Deathboy zenei előadásán csapódott le. Személy szerint nem bántam, hogy csak ennyi ideig hallgathattam a tuc-tuc zenét. Percre pontosan éjfélkor lekapcsoltak minden hangot és az emberek felkerekedtek, hogy lemenjenek a tengerpartra.

A Hold fényesen világított, nem volt szükség lámpára sem. Csak a partra verődő hullámok hangja tompította a lábunk alatt a kavicsok csikorgását. Tüzet raktak, ketten megmártóztak a habokban. Egy akkumulátor, egy háromlábú hangszóró-szerűség és egy laptop együttese zenét varázsolt körénk. Színes lézert vetítettek a triászi időkből származó homokfalra.

A party átalakult. A Variform és az 1995 zenéje szólt, az emberek legalább egy okos-kütyüvel voltak felszerelve, mégis, mintha egy pogány ünnep részese lettem volna. Egy lelki idő utazás volt, feltártunk valami ősit az agyunkban és meghívtuk a jelenbe.

A szervezők kis camping grillen szalonnát sütöttek és két szelet zsemle közé fogva osztogatták mindenkinek. Mi meg ettük, mintha semmit sem tudnánk a koleszterinről és a késői vacsora káros hatásairól. Volt aki aludt, volt aki csak nézte a tüzet. Mások édeskés illatú cigit szívtak. A fejünk felett, a tábortűz füstbe, zöld pókháló fonalakat rajzoltak a lézer sugarak.

Egy rakás technokrata voltunk, mégsem beszélt senki JavaScript keret rendszerekről, kliens-szerver architektúráról vagy bármiről, minek köze van a számítógépekhez. Egyszerűen csak élvezték a pillanatot. Éjjel kettőkor hagytam ott őket.

Másnap már pakolt mindenki. Volt még egy játék, ahol a feltett kérdésre hazudni kellett és a lehetséges válaszokból kitalálni, melyik az igazi. Akit több embert vert át, az nyert, ha az igazságot is megtalálta, plusz pontot kapott.

Az eredmény hirdetés rövid volt, mert a megrendelt nyeremények nem érkeztek meg. Másodikak lettünk, de a legfontosabb, hogy láttam egy ilyen partyt is.

Szólj hozzá!

Címkék: demoscene

Sundown party riport 2. rész

2016.07.17. 01:07 Travis.CG

Tegnap még nem élt a party szerver, ezért úgy mentem aludni, hogy nem adtam le release-t. Éjfélkor lelőtték a zenét és kis beszélgetés után ment mindenki aludni.

Délelőtt úgy döntöttem, megnézem a várost. Vettem valami reggelit, kiültem a tengerpartra, és próbáltam betelni a végtelen víz látványával. A hely szépségét az ragadhatná meg legjobban, hogy még a helyiek is, akik minden nap láthatják, ahogy a víz mossa a gömbölyű kavicsokat, még ők is megállnak kutyasétáltatás közben és csak nézik a határtalan kékséget.

A rutinosabbak még fürödtek is. Nekik ez a reggeli rutin része.

Tíz óra körül értem vissza. A rendszer addigra felállt és velem együtt hárman már regisztráltak is. Ismét nem volt semmi ellenőrzés, akár egy szervező nevét is beírhattam volna. Release-t mégsem töltöttem még fel, mert eszembe jutott, Grass javasolt egy effektet, amit tegnap elfelejtettem implementálni. Azt még megcsinálom. A leadási határidő délután négy óra, még van idő.

Negyed egykor kész volt a release. Közben a nagy kivetítőn a QuiPlash ment, amire mobilon lehetett jelentkezni. A lényege az volt, hogy feltettek valami ostoba kérdést (mi a legidegesítőbb dolog, ami ráeshet egy ember fejére, mi az, amit nem akarsz látni a születésnapi tortából előurgani, stb.), majd erre szavazás útján kiválasztották a legostobább választ. Aki a legtöbb szavazatot kapta, az nyert. Mivel sok kérdésre aktuálpolitikai vonatkozású válaszokat adtak, sokat nem értettem belőlük. Na, jó, egyet értettem: Mi lenne a Titanic 2 film alcíme: Brexit. Maximális szavazattal nyert.

Négy óráig még sok idő van, ezért visszamentem a tengerpartra. Ezzel tényleg nem lehet megunni. Rengeteg ember sétált a parton és nagyon kevesen fürödtek, amiből arra következtettem, most a turistáké volt a terep. Egy kis táblából azt is megtudtam, hogy a Triász idején ez a terület sivatag volt és az akkor ott élt növények gyökere megőrizte a homokban található anyagokat. Ettől vörös színű a homok. Most meg egy tenger partján van.

Indultam a floppy lemez hajító bajnokságon is. Mindenki kapott egy lemezt, elhajította a fákkal szegélyezett parkban, majd szemmel meghatározták, kié ment a legmesszebb. Jól éreztük magunkat. Talán hatodik lettem.

A fotó és egyéb grafikai kompók kellemesek voltak. Nem volt egyetlen kiemelkedő alkotás sem, de mentes volt a QBParty alibi produkcióitól. Illetve a 4k grafikák esetén a Coming Up hozta a színvonalat.

Egyetlen chipzene és egyetlen futtatható zene volt, tracked zenéből ellenben volt épp elég és elég hosszúak voltak. Nekem legjobban a Low tetszett. Streaming kategóriában pedig semmi olyan nem született, ami csengőhang lehetne a mobilomon.

A Shadertoy compó két indulója igen jó volt. Az egyik egy egyszerűbb naplementét mutatott be, a másik viszont egy igen összetett jelenet volt, ajtókkal, amelyek folyamatosan nyílottak és csukódtak. A kamera mozgása nem volt teljesen szinkronizálva az ajtók mozgásával, amitől előfordult, hogy a kamera átment rajtuk. Ilyenkor a közönség fájdalmasan felkiáltott és azon izgultak, a következő ajtón mi fog történni.

Szólj hozzá!

Címkék: demoscene

Sundown party riport 1. rész

2016.07.16. 00:38 Travis.CG

Két óra lement az öt órás vonatútból. Az intézet nyugodt, csendes világából belerohantam a londoni őrület közepébe. A képzeletbeli lista a városokkal, ahol nem akarok élni, most egy újabb taggal bővült. A metró full contact mérkőzését kiütés nélkül megúsztam és nem tévedtem el a Waterloo állomáson sem.

Aki azt építette, biztosan túl sok időt töltött Scooby-Doo nézéssel, mert az állomáson van egy középső folyosó, ahonnan oldal irányba, újabb, merőleges folyosókon lehet feljutni a peronokra. Az emberek meg hol itt, hol ott tűnnek fel, illetve el. Pont úgy, ahogy a rajzfilmekben is csinálják. Őrület.

De most már itt vagyok a vonaton, és ez az út elég hosszú, hogy néhány jeleneten még csiszoljak kicsit.

Egy korábbi shader hibát sikerült kijavítani. Illetve egy olyan hibát, amit én shader hibának gondoltam. Talán nem árulok el nagy titkot, ha elmondom, hogy a legtöbb jelenetben 2D textúrákat mozgatok. A textúrák ismétlése be volt kapcsolva, ami annyit jelent, hogy ha a kép véget ér, akkor újra kezdődik, mintha egy végtelenített film. (Vagy mint a tejeszacskó-korlát a régi rally versenyeken)

Amikor megjelenítettem a textúrákat, észrevettem, hogy a kép szélén 1 pixel fehér csík van, ami nagyon rondán mutatott. Mivel Gimp alatt a kép szélén nem láttam semmit, shader hibára gyanakodtam. Debuggoltam is ezerrel, keresve a hibát.

Semmit nem találtam. A hiba konzisztens volt Intelen, Nvidian is. Végül egy másik kép nézegetővel is megnéztem a textúrát és ott is ott volt a csík, de csak a kép bal szélén és tetején. Ah, Grass újabb design eleme! Szépen eltűntettem és a shader „hiba” is megszűnt. Később derült csak ki, hogy a design elem nem volt más, mint Grass Corel Draw-jának élsimítása, ami valami megmagyarázhatatlan okból kifolyólag a kép szépét is kisimította. A Gimp miért nem jelenítette meg, továbbra is rejtély. Nem baj.

A vonatról leszállva nem várt senki. Korábban az UK demoscene fórumon még fuvart ígértek a távolról érkezőknek. De ez csak ígéret maradt. Este tíz órakor egy tök ismeretlen városból kellett volna eljutnom egy másik tök ismeretlenbe. Végül kénytelen voltam taxit fogni.

Egy indiai fickót fogtam ki, aki még nálam is bénábban beszélt angolul. Egyikünk sem értette a másik akcentusát. A telefon képernyőjére írtam ki a város nevét, de még így sem tudta a taxis, hova akarok menni. Még szerencse, hogy volt a gépkocsiban GPS. Meg egy másik telefon. Meg egy harmadik kütyü, amit nem tudtam beazonosítani. Valahogy átkeveregtünk a célállomásra és még a party helyszínét is megtaláltuk, mert természetesen azt sem tudtam megmondani, azt is az okoscuccok segítségével próbáltuk meg kitalálni.

Szerencse, hogy nem vártam fogadóbizottságot, mert úgy jöttem be a partyra, hogy senki ember fia meg nem kérdezte, ugyan mit keresek itt. Se karperec, se kis papír a szavazókulccsal, semmi. Senki nem kérdezte, ugyan kifizettem-e a belépőt. A szervezőket semmi nem különbözteti meg a vendégektől. Bár gondolom az egyik arc az lehet, mert olyan számítógép előtt ül, aminek a képernyőjén a nagy kivetítő képe látszik. Ja, és van mellette egy böszme projektor.

Magyar partik után állandóan megy a kritika, hogy mit csináltak a szervezők rosszul. Mennek a nagy okoskodások pro és kontra. Itt meg senki nem foglalkozik még a legalapvetőbb szervezési feladatokkal sem, mégis mindenki jól érzi magát. Ki érti ezt? De tényleg. Most épp egy szemetest keresek. Sikertelenül.

Itt bent már minden olyan, mint egy demópartyn. Techno, VJ, effektek a képernyőkön, Amiga. Már csak a release-t kéne leadni és aludni, aludni, aludni.

Szólj hozzá!

Címkék: demoscene

Készülődés Sundownra

2016.07.11. 00:33 Travis.CG

Volt egy visszamaradt demó kezdeményem QBPartyról, amit elkezdtem formálni, hogy a következő Sundownra release-é alakuljon. Az első érdekes akadály egy bug formájában érkezett. A shader betöltő modul, ami hosszú ideje tette a dolgát, hirtelen nem működött Windows 10 alatt. A kód végén nem olvasható karakterek voltak, hiába zártam le a sztringet nullal. Végül a memória foglalást malloc-ról calloc-ra cseréltem és minden gondnak vége szakadt. A hiba oka nem hagy nyugodni, de most nem ez a prioritás.

Sokat szerencsétlenkedtem olyan rutinok megírásával is, amikre nem vagyok képes. Az egyik egy teljesen shader alapú részecske rendszer lett volna, ami egy pányva tulajdonságait igyekezett szimulálni. Miután rájöttem, hogy ebből sem lesz semmi és eltávolítottam a tervekből, máris könnyebben ment a munka.

Csak egy olyan effekt lesz benne, amit még nem programoztam le, mégsem nehéz: a bloom. Alapvetően arról van szó, hogy a fényes részeket egy külön textúrába renderelik, nyomnak rá egy Gaussian blurt, majd összemossák az eredeti képpel. A tutorial kódok legtöbbje 4 menetben állította elő. Először lerenderelik a normál képet, aztán vízszintesen elmossák a fényes részeket, majd ugyan ezt függőlegesen is elmossák, végül az egészet kirakják a képernyőre.

De én még post processinget is szeretnék! Az lesz az ötödik renderelés? Több problémám is volt a tutorialokkal. Először is, mindenki csak fehér fényt változtatott tündöklővé, amit az első menet végén egy határértékkel állapítottak meg. Csakhogy ez nekem nem jó, mert én egy narancssárga dolgot akartam felvillanyozni, ráadásul ez a szín olyan tárgyakon is megtalálható, amelyek nem fénylenek. Ezért a fix érték helyett én egy maszkot használtam. A maszk egy külön textúra volt, tehát egy renderelést megspóroltam.

Maradt három: vízszintes Gauss, függőleges Gauss, post processing. A vízszintes Gausst beraktam az első renderelésbe, mert hála az OpenGL 3.3-nak, egy pixel shaderből akár két kimenetre is tudok írni. A második Gauss elmosást pedig betettem a post processzingbe. Úgyis ott kell összemosni a két végső textúrát. Nem tudom, mennyit javít a teljesítményen (elképzelhető, hogy semmit), de a kód átláthatóbb. Legalábbis nekem.

Írtam Shamennek, hogy kell zene. Röviden vázoltam a kocepciót: szomorú, monoton demó a reménytelenségről. Nagyon ráérzett a témára, mert mindjárt 8 zenét is kaptam két nap elteltével. Ezzel már lehet dolgozni! Miután kiválasztottam a megfelelő zenét, a jelenetek szinte maguktól kezdtek a megfelelő helyre vánszorogni. Már tudtam, hogy mit hova szeretnék tenni.

Mivel 2D demó lesz, Gimp segítségével összedobtam néhány textúrát, majd összeállítottam, hogyan is képzelem el a jeleneteket egymás után. A vázlatot elküldtem Grassnak, aki kicsit aggódott, hogy csak egy héttel a határidő előtt szóltam neki (úgy látszik túl jól ismer), mégis hamar elkészítette a végleges textúrákat. Illetve a textúrák egy részét, mert két jelenethez még nincs semmi.

Most, kevesebb, mint egy héttel a határidő előtt, úgy gondolom, 80%-on állunk. Ez optimizmusra ad okot. Nagy effektek nincsenek benne, akár be is tudom fejezni az elkövetkező pár napban.

Szólj hozzá!

Címkék: demoscene

Demók a fiatalabb korosztálynak

2016.07.04. 21:38 Travis.CG

Őszinte leszek. A kislányom lassan három éves lesz. A szobatisztaság nem megy. Ha kanállal eszünk, több falat landol a földön, mint a szájába. Elég nehezen megy a szocializáció.

Ezért ahelyett, hogy ezekre gyúrnánk, inkább demókat kezdtem mutatni neki.

Az egész elég spontán jött. Egy délutáni alvás során, mikor a Revision releaseit nézegettem, arra lettem figyelmes, hogy a lányom felébredt és az ölembe ült, kíváncsian, hogy mit is nézek én a YouTube-on. (Tudom, tudom! Eredeti vason kellett volna néznem minden release-t. De az eredeti vason a GPU hűtője úgy zúg, hogy mellette nincs délutáni szunyóka.)

Arra gondolva, hogy ezek a releasek talán nem neki valók, egy hirtelen ötlettől vezérelve lejátszottam a .the .productot. Érdemes tudni erről az intróról, hogy nem a mostani türelmetlen nézőknek készült, akik 3 perc felett már nyavajognak, hogy "túl hosszú". Ez kérem kemény 11 perc.

Végignézte, még a végső feliratokat is, ahol a készítők arról panaszkodnak, hogy nem tudják mivel kitölteni a helyet. Utána csak ennyit mondott: Még egyszer. A következő fél órában párszor visszanéztük. A kezdeti sikereken felbuzdulva elkeztem vadászni a gyerekbarát alkotásokat. Második próbálkozás a Circus Extreme volt. Igyekeztem még a biztonságos zónán belül maradni. A release ugyanis gyerekrajzokból készült, számítottam rá, hogy tetszeni fog neki. Így is történt.

Aztán itt megszakadt a sikersorozat. A hasonló egyszerűséggel felépített Sandbox Punks már nem tetszett. Próbálkoztam néhány United Force demóval, mert ezek dallamosak, színesek, de ezek sem tetszettek. Az Ix talán túl absztrakt volt. A Rove-ot végignézte, de nem került bele a "még egyszer" kategóriába. A Masagin mosolygó csillagocskái tetszettek, de más nem. A Popular Demo nem lett népszerű.

Már kezdtem feladni a reményt, hogy találok mást is, amikor egy olyan naphoz érkeztünk, amikor a gondolatolvasó képességem épp csődöt mondott. A lányom ugyanis el tudja mondani, mit szeretne, de csak azokat a jellemzőket tudja megragadni, amik felkeltették az érdeklődését. Nekem meg a mondat töredékekből kell kitalálni, mit is szeretne. Az esetek többségében ez működik is, de néha kudarcot vallok.

Ez történt a "nagy hold" esetén is. Ugyanis mutattam neki régebben pár time-lapse videót a teliholdról, és ez megint eszébe jutott. Végig is mentünk a kedvenceken, de mindegyikre csak azt mondta: Nem ezt, a nagy holdat. Mikor már a teleszkópos felvételeknél tartottunk, ahol az egész képernyőt a Hold töltötte be, elfogyott a türelme, nekiállt ordítani és csak ezt hajtogatta: a nagy holdat, nagy holdat.

Mivel a racionális megoldásokból kifogytam, jöhettek az irracionálisak. Mercury: Fermi Paradox. A sírás rögtön megszűnt.

Ezt is megnéztük pár százszor. A végére azt hiszem rájöttem, miről is szól: Egy civilizáció jelet küldött a világűrbe, de mire az űrhajó megtalálja őket, addigra elpusztulnak, sőt a bolygó is lakhatatlanná vált.

Szólj hozzá!

Címkék: demoscene

Murphy oktat

2016.07.01. 07:53 Travis.CG

Mindig lenyűgöztek Frederick Forsyth regényei, ahol a főhős aprólékos és gondos tervezéssel félelmetes tetteket hajtott végre. Ahogy olvasta az ember a történeteket, olyan érzése támadt, hogy ezeknek az embereknek semmi nem állhat útjába. Ha csak a Sakál napjára gondolok, ott is csak az akadályozta meg a merényletet, hogy a másik oldalon is egy hasonlóan felkészült ember volt.

Micsoda szemenszedett hazugság.

Mikor felkértek, hogy oktassak az RNA-seq kurzuson, azt is a nagy előd nyomdokait követve terveztem meg. Felmértem, milyen számítógépes erőforrásokat használhatnak majd a tanulók. A szervezők azt mondták, kb. egy laptop erejével gazdálkodhatok, ezért ennek megfelelően kezdtem el a munkát. A második lépés a gyakorlat felépítése volt. Tudtam, hogy egy differenciál expressziót és egy fúziós gén keresést akarok megcsináltatni velük, ezért olyan eszközöket választottam, amelyek elég sok közös lépést tartalmaznak, hogy ezzel is időt spóroljak meg. Így esett a választás a STAR-ra és a STAR-Fusion-re. Mivel a legtöbb expressziót feldolgozó Bioconductor csomag nyers readszámokat tartalmazó táblázatot vár, ezért a BAM fájlokat HTSeq-el terveztem átalakítani.

Az első bökkenő a STAR memória igénye volt. Lefuttattam a teljes adatszetten a programot, kiválasztottam a legmarkánsabb fúziós gént, majd a készítettem egy kisebb adatszettet, ami csak két kromoszómát tartalmazott a rájuk illeszkedő readekkel együtt. Ez vígan elfért 6GB-ban, a tárhely szükséglete 4GB volt.

Az EBI-osok egy hónappal a kurzus előtt bekérték a szükséges programok listáját, amit egy VMWare virtuális gépre telepitettek, klónoztak, hogy minden résztvevő ugyan azokat a beállításokat lássa. Én az elsők között töltöttem ki az igénylésemet, sőt, mivel attól tartottam, hogy az indexelés tetemes időt fog igénybe venni, azt is megcsináltam előre.

A kurzus előtt egy héttel újra végigmentem a lépéseken, beírtam őket az előadás diái közé. Aztán arra gondolva, hátha a vetítőt nem fogják jól látni, készítettem egy GitHub-os wiki oldalt is az összes lépéssel. Végső esetben innen is kimásolhatják a paramétereket.

Az előadásomat is több napon keresztül gyakoroltam, hiszen nem vagyok tökéletes angolból, nem akartam, hogy ne értsenek semmit. Apró megjegyzéseket tettem a diák mellé, hogy ha nem jut eszembe valami, végső esetben fel tudjam olvasni.

Feltöltöttem a laptopom akkumulátorát, nehogy az előadás felénél fogyjon el a szufla belőle. Előadás kezdés előtt egy órával megjelentem a helyszínen. Kétszer lefuttattam a teljes diasort, a hátsó asztalokból ellenőriztem, hogy minden jól látható-e.

A szervezők adtak lézer pointert, mikrofont, tartalék elemeket mindkét eszközhöz. Megmutatták a gépet, amit ugyan azzal a virtuális Linuxal szereltek fel, mint a hallgatók gépét, hogy velük együtt tudjam csinálni a lépéseket. Megmutatták a megosztott könyvtárat, ahova úgy tuduk fájlokat elhelyezni, hogy mindenki hozzáférjen,

Ellenőriztem, hogy a használni kívánt programok az elérési útban vannak-e, működnek-e. Egyedül a STAR-Fusion panaszkodott egy hiányzó Perl modulra, de csak azért, mert a program munkakönyvtára az /usr/local/bin volt. Feljegyeztem a program abszolút elérési útját, hogy majd ha ehhez a lépéshez érünk, innen futtassuk.

Még negyed óra volt kezdésig. Minden készen állt.

Beléptek a hallgatók. A legkülönbözőbb égtájakról, a legkülönbözőbb életkorú emberek jöttek. Mindenki valami csodára várt, azt hitték, majd elmondom nekik az egy igaz RNA-seq feldolgozási módszert. Ennek ellenére én minden lépésre legalább három alternatívát mutattam be és egyikre sem mondtam, hogy jobb a másiknál. Helyette azt mondtam, teljesen mindegy, mit használnak, mert minden programnak van valami hibája.

Több kérdést is feltettem előadás közben, de mindegyik az épp aktuális projektjükre vonatkozott, hogy azt miként dolgozzák fel. Például hogyan futtassák a GATK-t RNA-seq adaton? Mit csináljanak, ha kontrolból nincs ismétlés, de a tumorból három is? Mi az az FPKM érték, ami alatt ne foglalkozzanak az expresszióval?

Ennek ellenére is sikerült fél óra alatt elmondani az egy órára tervezett előadást. Legalább nem aludt el senki.

Azután következett a gyakorlat. Az első hiba, amit észrevettem, hogy a szimlink nem volt jó a STAR-Fusion index könyvtárában, Azt viszonylag gyorsan orvosoltuk. Bemutattam, milyen lépéseket követtem el az index elkészítésénél, de nem mondtam elég egyértelműen, hogy ezt nem kell megcsinálniuk, úgyhogy néhányan nekiláttak, hogy letöltsék a teljes egér genomot.

Azután megkérdeztem, hogy mindenki hozzáfér-e az előadáshoz, hogy onnan ki tudja másolni a parancsokat, de néhányan valahogy nem fértek hozzá. Akkor megmutattam a GitHub oldalt. A káosz valahol itt kezdődött.

Mondtam nekik, hogy akkor illesszék a szekvenciákat a szkript részlet alapján, és én is elkezdtem csinálni velük együtt, a nagy kivetítőn. Néhányan elkezdték kicsomagolni a read fájlokat, pedig ezt nem is mondtam. Mások a közös mappában találtam valami fájlt, amin elkezdtek dolgozni, de ezt sem mondta senki.

Ekkor az egyik szervező odajött, hogy mi lenne, ha az illesztő szkriptet csak bemásolnám a közös mappába, hogy azt futtassák. Gondoltam, rendben. Korábban a rendszergazda, aki elkészítette a VMWare lemezképet, büszkén mondta, hogy 12 processzor van, 24GB RAM, a tárhellyel pedig "nem kell törödni". De a valóság valahogy más volt.

Az történt ugyanis, hogy valaki gondolkodás nélkül a közös mappában elindította a szkriptet, amiben én naívan 12 szálat adtam meg. Ekkor az összes gép a teremben lefagyott.

Szerencsére ez a kávészünet közelébe történt, ezért mindenki kiment, a rendszergazda meg rohangászott gépről gépre és újra indított mindent. Utána jött a nagy tanácskozás és végül megállapodtunk, hogy 4 magon indítjuk a szkriptet. De ez is lelassított minden gépet, még az egér sem mozgott. Végül megkérdezték, le tudnám-e futtatni a gyakorlatot a saját laptopomon, a többiek meg nézik.

Végül is ebben maradtunk. Moziztak végig. Nem tudom, mennyire volt hasznos számukra ez a bemutató, egy ember nagyon örült, hogy láthatott egy downstream analízist. Elmondása szerint mindig az volt a problémája, hogy nem tudott mit kezdeni a génlistákkal. Legalább egy embernek hasznos volt a bohóckodásom.

Szólj hozzá!

Ez itt a reklám helye

2016.06.26. 22:31 Travis.CG

reklam.png

Már eddig is voltak eszközök, hogy a megtalált SNP-khez, indelekhez biológiai hatást rendeljenek, de ezek legtöbbje kimerült a szinoním, nem-szinoním mutációk elkülönítésében. Más eszközök, mint amilyen az Annovar is, csak a modell organizmusokra koncentrálnak és tetemes energia befektetésre van szükség, ha más élőlényt is vizsgálni akarunk.

Variációk nem csak kódoló szakaszokban lehetnek. Ezek fontosságát egyre több publikáció hangoztatja, mégsem találni eszközöket, hogy egyszerűen kiterjesszük a vizsgálatainkat rájuk. A hiba nem az annotációs adatbázisok hiánya. Megszámlálhatatlanul sok van, és a nagyobb genom adatbázisok mindent elkövetnek, hogy még több adatot gyűjtsenek be.

Ennek most vége! Itt a szomszédban (EBI) készítettek egy olyan eszközt, ami a teljes EnsEMBL tudásbázisára építve képes annotálni szinte bármit. Mindezt egy egyszerű, de rugalmasan konfigurálható eszközzel. Ingyen. Visz'lát Annovar, helló VEP.

Aki idegenkedik a parancssortól, az  használhatja a weboldalt. Aki saját szolgáltatásba építené, használhatja a REST API-t. De az igazi ínyenceknek van parancssoros program is, Perl nyelven írva.. A poszt további részében erre koncentrálok.

Az egyetlen komoly döntés, amit meg kell hozni, hogy a program netet használjon vagy tárhelyet? Ha netet használ, akkor egyfajta felhő szolgáltatásként működit, ha a gépünk tárhelyét, akkor lassú netkapcsolat esetén is gyorsan lesz eredmény.

A telepítés egyszerű, leszedi a szükséges Perl modulokat és még azt a szívességet is megteszi, hogy nem akarja rendszer könyvtárba elhelyezni őket:

perl INSTALL.pl

Ez az esetek többségében teszi a dolgát, de érdemes figyelmet fordítani a -c kapcsolóra. Alapesetben ugyanis a felhasználó könyvtárába helyezi az egyes organizmusokhoz tartozó adatokat, ami komoly gond olyan nagygépes környezetben, ahol ez limitált. Viszonylag sok élőlényekhez már van előre elkészített adatbázis is. Ebben az esetben csak egyszer használjuk a sávszélességet, letöltésnél.

Használata rendkívül egyszerű. A --cache opció nélkül a szkript haza telefonál.

perl variant_effect_predictor.pl --vcf -i input.vcf --cache -o output.vcf

Az eredmény a VCF fájl INFO oszlopában lesz CSQ taggal jelölve. Ha az adott variáció több gént is érint, a gének vesszővel lesznek elválasztva. Apró figyelmesség, hogy más annotáló programoktól eltérően, nem a szinoním/nem-szinoním szavakat, használja az aminosav cserével járó variációk jelölésére, hanem a missense/synonimous-t. Bárki, aki próbálta már grep-el szétválasztani a kategóriákat, csak örülni tud ennek.

3 komment

Címkék: bioinformatika

Csővezeték fektetés

2016.06.13. 00:36 Travis.CG

Bioinformatikai munkafolyamatok (szaknyelven pipeline-ok) fejlesztésére a legegyszerűbb módszer még mindig a parancssori szkriptek írása. Az irányítás végig a kezünkben van, minden lépést aprólékosan felépíthetünk. Az adatok sokszínűsége viszont olyan potenciális hibaforrásokat hordozhat, ami a feldolgozást megakasztja.

Vegyük például a következő nagyon egyszerű munkafolyamatot:

bowtie-build reference.fasta refindex
bowtie -S refindex reads.fastq >out.sam
samtools view -b out.sam >out.bam

Már egy ilyen egyszerű folyamat is rengeteg hibát hordozhat. A teljesség igénye nélkül: a referencia fájl egy Word dokumentum, nincs írási jogunk az adott könyvtárra, a telepített samtools régi és kell neki a -S kapcsoló is. Ezek a hibák a folyamat különböző lépéseiben jelentkezhetnek és kijavításuk után mindent előről kell kezdeni, sőt mivel nincs hibakezelés, a hibás sort követő parancsok is megpróbálnak lefutni.

Profi Bash hekkerek persze képesek kitolni a határokat és ilyen szörnyetegeket hozhatnak létre:

if [ ! -f refindex.1.ebwt ]
then
bowtie-build reference.fasta refindex
fi
if [ ! -f out.sam ]
then
bowtie -S refindex reads.fastq >out.sam
fi
if [ ! -f out.bam ]
then
samtools view -b out.sam >out.bam
fi

De minden egyes lépést sok ugyan olyan sor vesz körbe, amit még a subrutinok használatával sem lehet csökkenteni. Arról nem is beszélve, hogy ez a szkript csak azt nézi, hogy bizonyos fájlok léteznek-e, azt nem, hogy a formátumuk helyes-e, illetve a program generalt-e hibát. Ha ezeket is beleépítenénk, igen áttekinthetetlen kódot kapnánk.

Makefile, a jobb megoldás

A fenti megoldásnál a make használata sokkal jobb. A make egy program, ami megkeresi az adott könyvtárban a Makefile nevű fájlt és végrehajtja azt. Eredetileg a C programok fordítására kezdték el fejleszteni, de mivel nagyon könnyű benne hierarchikus folyamatokat felépíteni, ezért elég sok helyen használják bioinformatikusok például prototípus folyamatok fejlesztésére. Az iRAP alapját is Makefileok tömeget képezi.

Az alapötlet, hogy amit már hibamentesen lefuttattunk, és létrejött belőle egy fájl, azt másodszor ne kelljen elindítani. Ezért a fenti példa esetén, ha az indexelés lefutott, akkor nincs szükség ezen időigényes lépés megismétlésére. A parancsok visszatérési értékét is ellenőrzi a program, hiba esetén nem megy tovább.

all: out.sam
   samtools view -b out.sam >out.bam
out.sam: refindex.4.ebwt
   bowtie -S refindex reads.fastq >out.sam
refindex.4.ebwt:
   bowtie-index reference.fasta refindex

A szkript úgy néz ki, mintha fordítva írtuk volna le a lépéseket, ami igaz is. Minden függőséget az adott lépés után kell definiálni. A szerkezet is egyszerű. Először az adott lépés azonosítóját adjuk meg, majd felsoroljuk, milyen más lépések szükségesek a cél eléréséhez. A trükk, hogy ha a lépés neve megegyezik egy fájl nevével, ami létezi, akkor azt a lépést már nem futtatja le a make. A definíció után egy tabulátorral kezdődően jönnek azok a sorok, amiket ténylegesen végre kell hajtani. Itt fontos megjegyezni, hogy tabulárot karakter helyett semmi más nem használható. Ha tehát olyan szövegszerkesztőt használunk, ami szóközzel helyettesíti a tabulátort, az eredmény használhatatlan lesz.

Természetesen ez sem tökéletes. Először is, csak egy szálon fut. Ha tehát egy lépésnek több függősége van, amelyek egymással párhuzamosan is futhatnak, ezt nem tudjuk definiálni. Ugyancsak tehetetlenek vagyunk azokkal a hibákkal szemben, amelyek futás közben lépnek fel. Képzeljük el például azt az esetet, hogy elfogy a tárhely a bowtie futása során. Hibával megszakad a futás, de egy csonka out.sam fájl már létrejött. Ezért ha némi tárhely felszabadítása után újra indítjuk a folyamatot, az illesztés nem fog ismét lefutni. Ez ellen lehet úgy védekezni, hogy a touch parancs segítségével hozzuk létre a fájlokat, amelyek összeköttetést jelentenek a lépések között, de ezzel megint csak azt érjük el, hogy bonyolítjuk a kódot. Kérdés, tudunk-e ennél jobbat?

bpipe, a tökéletes megoldás

Igen tudunk: bpipe. A bpipe az összes fenti problémára megoldást jelent. Szintaxisa egyszerű, figyeli a hibákat, többszálú. A Sangerben is ennek egy módosított verziója képezi a feldolgozó programok alapját. A fenti példa így néz ki:

index = {
   exec "bowtie-index reference.fasta refindex"
}
align = {
   exec "bowtie refindex reads.fastq >out.sam"
}
convert = {
   exec "samtools view -b out.sam >out.bam"
}
Bpipe.run {
   index + align + convert
}

Először minden lépést külön definiálunk. A lépések sorrendje nem kötött, mint a Makefile-ok esetén. Végül a Bpipe.run résznél megmondjuk, milyen sorrendben kell a lépéseket végrehajtani. Itt igen bonyolult összefüggéseket is definiálhatunk.

Szólj hozzá!

Címkék: bioinformatika

A bizalom drága kincs

2016.06.10. 07:55 Travis.CG

Jobb ha van, de ha nincs, akár egy cikk is születhet belőle. Pontosan ez történt ugyanis a legújabb publikációnknál. A búza mikroRNS szekvenáláshoz a könyvtár előkészítést egy PhD hallgatónak kellett volna csinálni, de az egyik szenior kutató úgy gondolta, bölcsebb, ha nem tesz fel mindent egy lapra és a szekvenálás sikerét nem egy olyan emberre bízza, akinek ez az első ilyen munkája.

Ezért a két párhuzamos könyvtár előkészítés történt. Az egyiket a PhD hallgató végezte, a másikat a szekvenáló cég. Mikor meghaptam a szekvenciákat, rögtön láttam, hogy a két jól elhatárolható csoportra bonthatóak, de akkor még nem tudtam semmit az előkészítésről.

Közben történt még egy kis malőr a szekvenálás körül és néhány mintát újra kellett futtatni. Itt akaratomon kívül hozzájárultam a szekvenáló cég hatékonyabb működéséhez. Ugyan is az volt a szokás, hogy a szekvenciák a szerver egy bizonyos könyvtárában gyűltek, majd minden féle minőség ellenőrzés után egy FTP-n elérhetővé tették a megrendelőknek. Nekem viszont a volt főmököm révén volt hozzáférésem a szerverhez. Mivel az intézet szinte valamenyi szekvenálásának elemzésébe ilyen-olyan módon belefolytam,  nem bajlódtam azzal, hogy elkérem minden kutató felhasználó nevét és jelszavát, majd a roppant lassú FTP-n keresztül letöltöttem az adatokat, hanem feltérképeztem a szerver tárhelyét és SCP-vel lehúztam, ami kellett.

Akkor kezdődött a bibi, amikor megkértek, töltsem le a búza kisRNS szekvenálásokat, mert már elkészültek. Én szépen le is szedtem, még mielőtt a cég hivatalosan értesített volna minket. Csináltam egy gyors ellenőrzést, találtam néhány hibás könyvtárat és jeleztem felfelé. Aztán a kutatók jelezték a cég felé, hogy gond van. Gondolom ők meg pislogtak nagyokat, hogy mi ezt honnan tudjuk?

Miután szépen elmeséltem nekik a munkamódszeremet, akkor megkaptam a magamét. Elmondtak minden féle etikátlan barbának, aki aláássa a céget, szabotálja a szolgáltatást, stb. Egy órán belül rendes csoport jogosultságokat állítottak be, ahogy annak lennie kell. Mivel akkor még a főnököm is rendszergazda volt azon a szerveren, két nappal később már megint tagja voltam az összes csoportnak, ami ahhoz kellett, hogy normálisan tudjam végezni a munkámat.

Visszatérve a könyvtár előkészítésre: a különbség olyan feltűnő volt, hogy egy kicsit utána néztünk, mi lehet a hátterében. Kiderült, hogy a két alkalmazott módszer nem volt teljesen egyforma. Míg a PhD hallgató az agarból a kisRNS mérettartománynak megfelelő részt kivágta és azzal dolgozott tovább, addig a szekvenáló cégnél totál RNS-t használtak.

Elméletileg nem kellene, hogy nagy különbség legyen, de mégis volt. Végül úgy döntöttünk, hogy ez egy elég érdekes összehasonlítás, az irodalomban senki nem csinált ehhez hasonlót, a publikáció meg mindig jól jön.

Talán nem ez lesz a legimpozánsabb cikkem, de ezt a projektet nagyon szerettem, mert teljesen olyan volt, ahogy a nagy könyvben meg van írva. Elindultunk az elején, összeszedtük az adatokat, majd levontuk a következtetéseket. Nem voltak hatalmas hurkok, zsákutcák. Minden a helyén volt.

Szólj hozzá!

Címkék: publikáció

A hazugság halála

2016.06.06. 00:33 Travis.CG

– Professzor úr, mit csinál!? – kérdezte Gergő, a tanítványa. Még meg sem itta a reggeli kávéját, el sem olvasta a levelezést, de mestere már a laborban ugrált a Petri csészék között.

– Egy szép új világot! – hangzott a cseppet sem szerény válasz. – Most végre meg tudom csinálni!

– Mit? – kérdezte Gergő fájdalmasan. A Professzor mindig valami hatalmas tervet tűzött ki maga elé. Hetente változtatta a nézeteit. Kifogyhatatlan volt hajmeresztő ötletekből. De ezek legtöbbjét egy kávé után kellett végighallgatni egy kényelmes irodában, aminek az ablakából látni lehetett az előadásokra várakozó diáklányokat.

– A hazugság gén! Emlékszel a hazugság génre?

Gergő emlékezett rá. A Professzor talán legjelentősebb felfedezése...lesz. Ha a független kísérletek megerősítik. De eddig senki nem tudta reprodukálni az eredményeket.

– Kiütjük és nem lesz több hazugság a világon. Kinek kell?

– Megismételjük az egeres teszteket? – kérdezte értetlenül Gergő.

– Én arra gondoltam, embereken kéne kipróbálni. Mit embereken! Az egész emberiségen!

– Ez nem etikátlan?

– Egy jó tett nem lehet etikátlan. Mennyi emberen segíthetnénk. A hazugság és képmutatás segítségével nyomjuk el embertársainkat. Ha nincs hazugság, nincs több elnyomás, nincs több hamis ideológia, csak béke és harmónia. Mindez egy kicsi vírus segítségével. Az általa hordozott CRISPR-Cas9 rendszert a hazugság génre állítottam be. Akit megfertőz a vírus, annak a hazugság génje kikapcsol és őszinte lesz. Sőt, még az utódaira is örökíti!

– Honnan tudja, hogy működik?

– Kiket nézel az ablakomból a reggeli megbeszélések ideje alatt?

– A másodéves hallgatólányokat – hallotta meglepetten saját hangját Gergő.

– Én úgy látom remekül működik – mondta cinkos mosollyal a Professzor. A vírus talán húsz év alatt fertőz meg mindenkit a Földön. Meg akarom nézni a szép jövőt. Látni akarom az őszinteség hogyan virágoztatja fel az emberiséget. Ezért lefagyasztom magamat. Téged kérlek meg, hogy ébressz fel húsz év múlva.

Gergő hirtelen nem is tudta, mitől kellene jobban megijedni: attól, hogy vírussal fertőzték meg, belenyúltak a génjeibe, leskelődésen kapták vagy attól, hogy a bimbódzó tudományos karrierjének egyetlen támogatója eltűnik húsz évre. Mindezt a reggeli kávé nélkül.

 

A Professzor számára a húsz év átalvása csak egy pillanatnak tűnt, de az ébredés egy örökkévalóságnak. Szeme nehezen fókuszált. Bőre még nyirkos volt a folyadéktól, ami megakadályozta, hogy sejtjeiben jégkristályok képződjenek. Fázott.

– Ezt igya meg – mondta egy karcos, de ismerős hang.

– Gergő?

– Igen, de most pihenjen. Még szükség van néhány vizsgálatra.

 

Másnap a Professzor már távolabbi tárgyakat is élesen látott. Ahogy hormonrendszere újra felvette a régi ritmust, egyre türelmetlenebbül vágyott rá, hogy lássa művének betetőzését. Mikor Gergő, illetve már Mozsai professzor belépett, nehezen mozgó izületei ellenére azonnal elé állt.

– Menjünk ki a városba!

– Túl korai. Az EKG apró kilengéseket mutat. Fennáll a komplikáció esélye. További megerősítő vizsgálatokra van szükség!

– Pontosan tudom, milyen kockázata van azoknak a kilengéseknek. Ez a sok vizsgálat csak időhúzás. Menjünk most!

Gergő végül beleegyezett, de vitt magával egy táskát, amibe gyógyszereket rakott, hátha bekövetkezik, amitől fél. A professzor kilépett és szeme-szája tátva maradt a csodálkozástól. Gergő komótos léptekkel haladt mögötte.

– Milyen tiszta minden!

– Igen, az emberek már nem tudják letagadni, ha szemetelnek.

– Háborúk, vannak még háborúk?

– Mikor a vírus még csak kevés országot fertőzött meg, voltak konfliktusok az őszinték és a nem fertőzöttek között. Senki nem értette, mi történt az emberekkel. Szerencsére az Ön vírusát nem fedezték fel, így az emberiség nem szerzett tudomást tettéről. Végül ahogy egyre több ember lett őszinte, a titkos szolgálatokra és más szervezetekre egyre kevesebb szükség lett. A diplomácia szerepe is visszaszorult és a konfliktusokat is egyszerűbb lett megoldani.

– Ez nagyszerű!

– Azért akadnak véres kofliktusok a világban. Az őszinteség nem jelenti azt, hogy ne lenne a népeknek saját igazuk. De a hamis ideológiáknak vége.

– Gondolom már rendőrség sincs!

– De van, az emberek továbbra is bűnöznek, de a kézre kerítésük kevesebb erőforrást igényel.

– Csodálatos, csodálatos!

A város alaposan megváltozott az eltelt idő alatt. Szép tisztaság volt mindenütt. Nyoma sem volt a régi idegességnek és kapkodásnak, amire a Professzor emlékezett. Az emberek egykedvűnek tűntek, viszont senki nem nézett ki borúsnak vagy szomorúnak. A Professzor titokban abban reménykedett, csupa mosolygós embert fog látni, mintha egy utópiába csöppent volna, mésem érzett csalódottságot. Talán húsz év kevés, hogy az emberek teljesen feldolgozzák ezt a hatalmas változást. De határozottan úgy érezte, jól döntött.

– Mintha az emberek jobban élnének – állapította meg a Professzor a sok drágának tűnő ruha és autó láttán.

– Igen, sokat segít, hogy kevesebb erőforrást kell pazarolni vizsgálóbizottságokra, nem kell arra időt pazarolni, hogy ki mit és miért mondott. Az ügyeket könnyebb elintézni és ez pénzbeni megtakarításban is mérhető, amiből több jut az embereknek is.

– Tudtam, tudtam, hogy van értelme a munkámnak! Látod! Érdemes volt megcsinálni.

– Ne vonjon le messzemenő következtetéseket, amíg nem ismeri az összes tényt – mondta Gergő sokat sejtetően.

Épp egy óriás kivetitő alatt álltak meg, ahol a választási kampány részeként az egyik jelölt beszélt a programjáról. Felirat nem volt, amitől a tátogás kissé komikusan hatott.

– Meg lehet hallgatni, mit mond?

– Igen, csak irányítsa a mobilját a kivetítő felé...Bocsánat, magának 20 éves lehet a mobilja. Használja az enyémet.

Ahogy a Professzor megfogta a készüléket, rögtön meg is hallotta a politikus beszédét. Nem volt szükség fülhallgatóra. Micsoda fejlődés!

– Elismerem, hogy az ellenzék külpolitikai programja sokkal átgondoltabb, és mezőgazdasági kérdésekben is sokkal komptensebb, mint én. Ennek ellenére szavazzanak rám, nekem fiatalos kabinettem lesz, szemben az ellenzék sok aszott, öreg miniszter-jelöltjeivel.

A Professzor Gergő felé fordult.

– Ez meg miféle kampány?

– Őszinte – hangzott a lakonikus válasz.

– Ezek alapján számítanak bármilyen győzelemre?

– Igen, jó eséllyel ők fogják megnyerni a választásokat.

– Hogyan? Hiszen beismerte, hogy a programja semmit nem ér.

– Így van, de régen is és most is a szavazókat az érzelmeik vezérlik. Erre próbál hatni a jelölt is. Azért, mert az emberek őszinték lettek, még a régi beidegződések megmaradnak, sőt felszínre kerültek. Nem kell ideológia mögé bújtatni.

– De az emberek nem gondolkodnak racionálisan?

– Dehogynem. Pont annyira racionálisak, mint az Ön idejében. Az érzelmek nem változtak szemernyit sem és pontosan úgy befolyásolják döntéseinket, mint azelőtt.

A professzor csalódottnak tűnt. Visszaadta a telefont Gergőnek. Egykori tanítványa megsajnálta.

– Jöjjön, Professzor, menjünk el egy moziba. Az majd felvidítja.

A Professzor arca felderült, mint egy gyereknek, akine csokit ígérnek. A mozi egy nagy üres terem volt. Nem voltak sem székek, sem vászon. A nézők a terem középen őgyelegtek. Először reklámok jöttek, mint a régi időkben, csupán a látvány változott. A levegőben, szinte a semmiből jelentek meg a térbeli képek. Az emberek különböző nézőpontokat választottak maguknak és onnan nézték az üdítőt, ami mellé egy kellemes búgó női hang objektíven felsorolta annak jellemzőit.

– Nincsenek reklámszínészek? – csodálkozott a professzor.

– Nincsenek. Nincs ember a világon, aki azt állítaná, hogy ez a legjobb ital a világon.

– Miért látom a többi nézőt? Nem zavarja ez a műsor élvezetét?

– Kezdetben úgy csinálták meg, hogy ne lehessen látni a többi embert, de nem vált népszerűvé. A mozizás társas esemény, ezért látszik a többi ember is.

– Psszt! – szólt rájuk egy nő.

A reklámok után bemutatók következtek. Egy férfi jelent meg és arról kezdett beszélni, milyen nehéz volt megbírkóznia felesége halálával. A mozi nézői együttérzően felsóhajtottak. A Professzor kissé türelmetlenül várta, mikor jön valami izgalmas. A második bemutató már vidámabbnak ígérkezett. Egy fiatal pár osztotta meg a nyaralásuk vicces pillanatait. A pikánsabb eseteknél a közönség egy emberként nevetett. Kivéve a Professzort, aki szórakozásra vágyott, nem idegen emberek élménybeszámolójára.

– Lesz bármi, ami nem emlékeztet egy valóság showra?

– Úgy érti bármi, ami nem igaz? – kérdezett vissza Gergő.

A Professzor nem tett fel több kérdést, hanem a műsort kezdte nézni. Most már azt is értette, miért nincsenek rekonstruált jelenetek. Elkezdődött a film. Archív felvételeken és szemtanúk beszámolóin keresztül mutatták be az utolsó háború egyik kevésbé közismert csatáját. A Professzor többször elfordította a fejét. Gyűlölte a háborúkat. Azt akarta, ne legyen többé ilyen borzalom a Földön, és megcsinálta! Igaz, ezt rajta és egykori tanítványán kívül senki nem tudta, de ez nem számított. Sikert aratott, talán az egyik legnagyobbat a világon. Akkor miért érzi mégis magát rosszul? Bár már rég nem voltak háborúk, a professzor mégis gyilkosnak érezte magát.

A lehangoló film után némán mentek az éjszakai utcán. Gergő húsz évig ábrándozott erről a pillanatról, milyen lesz egykori mentorát újra látni. Elképzelte, hogyan vágja az arcába az igazságot a tettéről. Most mégsem szólt egy szót sem. A bölcsesség, mint egy színházi súgó türelemre intette. Amit annak idején ordítva mondott volna ki, most a csend erejével találtak célba.

– Gergő, mit tűntettem még el? – kérdezte nagy sokára a Professzor. – Minden művészet odaveszett? Nem akarnak már alkotni az emberek?

– Nem, nem veszett oda minden művészet. A zene például virágzik, habár dalszöveget egyre ritkábban hallani. A vizuális kultúra minden eddiginél erősebb. Feltámadt például a festészet. De – az egykori kutató érezte, most jön a végső ítélet. – Professzor, maga megölte az irodalmat!

Szólj hozzá!

Címkék: irodalom

Organoid big data, avagy trendi vagyok, bébi

2016.06.04. 23:07 Travis.CG

Most már tényleg le kellene állni a projekt harácsolásról. Az egyik PhD hallgató megkeresett, hogy van 105 RNA-seq adata organoidokból.

Az organoidok olyan ős sejtekből differenciáltatott szövet kezdemények, melyek hordozzák a végső szövet lényeges tulajdonságait. Miért érdekes ez? Amíg egy embert nem lehet karcinogénekkel kezelni, hogy lássuk, milyen rák fejlődik ki belőle, nem lehet genetikailag módosítani, hogy jobban megértsük a gének működését, addig egy organoidra nem vonatkoznak ilyen szigorú etikai előírások.

Bár azért érdemes megjegyezni, hogy nemrég engedélyeztek egy embrió genetikai módosítására vonatkozó kísérletet.

Mivel az adatok nagy része klónokból származik, lesz lehetőségem arra is, hogy összehasonlítsam, mennyire konzekvensek az RNA-seq adatok és ezzel talán jobban megérthetem, az eltérő feldolgozási módszerek mennyire adnak konzekvens eredményeket.

Talán kicsit túloztam a címmel, mert ez még nem igazi nagy adat, de már itt is érezhető, hogy más módon kell megírni a szkripteket, mint ahogy korábban tettem. Előszeretettel használom ugyanis a hasheket. De míg régebben két táblázat összehasonlításánál minden gond nélkül használhattam hash-be ágyazott hash-eket, ahol az első kulcs a gén azonosítója (vagy ha így jobban tetszik, a táblázat sora), a második pedig a minta azonosítója (oszlop név), addig most ezekről le kell mondanom. A fent említett adatstruktúrának ugyanis akkora lett a memória igény, hogy a legizmosabb gépen sem fért el.

Természetesen itt még könnyen megoldottam a problémát, mert a második hash-t kicseréltem közönséges tömbre, hiszen az oszlopok sorrendje nem változik. Ez az egyszerű változtatás elég volt, hogy a szkript már lefusson.

Egy másik egyszerű változtatás, hogy amennyiben több táblázattal dolgozom, amelyek ugyan abból az adatszettből származnak, akkor  a táblázatok sorait és oszlopait szinkronizálom. Így már nem kell megjegyezni, hogy a táblázat cellái hogyan feleltethetőek meg egymásnak. Korábban ez sem volt érdekes, a számítógépek megbírkóztak mindennel, még akkor is, ha nem volt optimálisan megírva a szkript.

Talán meg kellene győzni a hallgatót, hogy egy Crisp/Cas rendszerrel módosított organoidot szekvenáljon (szigorúan egy sejteset), amit én GPU alapú Hadoop klaszteren dolgoznék fel, miután noSQL-be töltöttem mindent. Ekkor igazán trendi lennék. És ha mindez a felhőben volna...

Szólj hozzá!

Címkék: életmód

süti beállítások módosítása